Merge branch '1.8'

Conflicts:
        
minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterImpl.java


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/ee8e0705
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/ee8e0705
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/ee8e0705

Branch: refs/heads/master
Commit: ee8e0705ccb3e0b54ef4a913d05d59c47f8f340a
Parents: 930592f 3e5524c
Author: Keith Turner <ke...@deenlo.com>
Authored: Tue Jul 19 16:05:09 2016 -0400
Committer: Keith Turner <ke...@deenlo.com>
Committed: Tue Jul 19 16:05:09 2016 -0400

----------------------------------------------------------------------
 .../org/apache/accumulo/core/Constants.java     |   1 +
 .../org/apache/accumulo/core/conf/Property.java |   6 +
 .../core/metadata/schema/MetadataSchema.java    |   7 +
 .../tabletserver/thrift/TUnloadTabletGoal.java  |  67 ++++
 .../thrift/TabletClientService.java             | 275 +++++++++++----
 core/src/main/thrift/tabletserver.thrift        |   9 +-
 .../main/asciidoc/chapters/administration.txt   |  14 +
 .../impl/MiniAccumuloClusterControl.java        |  25 +-
 .../impl/MiniAccumuloClusterImpl.java           |  12 +-
 .../server/constraints/MetadataConstraints.java |   6 +-
 .../accumulo/server/master/LiveTServerSet.java  |   5 +-
 .../server/master/state/MetaDataStateStore.java |  37 ++
 .../master/state/MetaDataTableScanner.java      |   6 +-
 .../server/master/state/SuspendingTServer.java  |  71 ++++
 .../master/state/TabletLocationState.java       |  44 ++-
 .../server/master/state/TabletState.java        |   2 +-
 .../master/state/TabletStateChangeIterator.java |   1 +
 .../server/master/state/TabletStateStore.java   |  43 ++-
 .../master/state/ZooTabletStateStore.java       |  14 +-
 .../master/state/TabletLocationStateTest.java   |  28 +-
 .../gc/GarbageCollectWriteAheadLogsTest.java    |   4 +-
 .../java/org/apache/accumulo/master/Master.java |  82 ++++-
 .../org/apache/accumulo/master/MasterTime.java  | 108 ++++++
 .../accumulo/master/TabletGroupWatcher.java     |  83 ++++-
 .../accumulo/master/state/MergeStats.java       |   4 +-
 .../accumulo/master/state/TableCounts.java      |   4 +
 .../master/state/RootTabletStateStoreTest.java  |   4 +-
 .../apache/accumulo/tserver/TabletServer.java   |  31 +-
 .../accumulo/test/master/MergeStateIT.java      |   2 +-
 .../test/master/SuspendedTabletsIT.java         | 340 +++++++++++++++++++
 .../test/performance/thrift/NullTserver.java    |   3 +-
 31 files changed, 1155 insertions(+), 183 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/ee8e0705/core/src/main/java/org/apache/accumulo/core/Constants.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ee8e0705/core/src/main/java/org/apache/accumulo/core/conf/Property.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ee8e0705/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterImpl.java
----------------------------------------------------------------------
diff --cc 
minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterImpl.java
index fef66a8,3e66acf..1e5a4f9
--- 
a/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterImpl.java
+++ 
b/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloClusterImpl.java
@@@ -33,6 -32,6 +33,7 @@@ import java.net.URI
  import java.net.URISyntaxException;
  import java.net.URL;
  import java.net.URLClassLoader;
++import java.nio.file.Files;
  import java.util.ArrayList;
  import java.util.Arrays;
  import java.util.Collection;
@@@ -343,10 -342,17 +344,17 @@@ public class MiniAccumuloClusterImpl im
      return process;
    }
  
-   Process _exec(Class<?> clazz, ServerType serverType, String... args) throws 
IOException {
- 
+   Process _exec(Class<?> clazz, ServerType serverType, Map<String,String> 
configOverrides, String... args) throws IOException {
      List<String> jvmOpts = new ArrayList<>();
      jvmOpts.add("-Xmx" + config.getMemory(serverType));
+     if (configOverrides != null && !configOverrides.isEmpty()) {
 -      File siteFile = File.createTempFile("accumulo-site", ".xml", 
config.getConfDir());
++      File siteFile = Files.createTempFile(config.getConfDir().toPath(), 
"accumulo-site", ".xml").toFile();
+       Map<String,String> confMap = new HashMap<>();
+       confMap.putAll(config.getSiteConfig());
+       confMap.putAll(configOverrides);
+       writeConfig(siteFile, confMap.entrySet());
+       jvmOpts.add("-Dorg.apache.accumulo.config.file=" + siteFile.getName());
+     }
  
      if (config.isJDWPEnabled()) {
        Integer port = PortUtils.getRandomFreePort();

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ee8e0705/server/base/src/main/java/org/apache/accumulo/server/master/state/TabletStateChangeIterator.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ee8e0705/server/master/src/main/java/org/apache/accumulo/master/Master.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ee8e0705/server/master/src/main/java/org/apache/accumulo/master/TabletGroupWatcher.java
----------------------------------------------------------------------
diff --cc 
server/master/src/main/java/org/apache/accumulo/master/TabletGroupWatcher.java
index 907de0c,2cf7d9d..fa8087f
--- 
a/server/master/src/main/java/org/apache/accumulo/master/TabletGroupWatcher.java
+++ 
b/server/master/src/main/java/org/apache/accumulo/master/TabletGroupWatcher.java
@@@ -91,9 -90,15 +91,14 @@@ import org.apache.hadoop.fs.Path
  import org.apache.hadoop.io.Text;
  import org.apache.thrift.TException;
  
 -import com.google.common.base.Optional;
  import com.google.common.collect.Iterators;
+ import org.apache.accumulo.core.conf.Property;
+ import org.apache.accumulo.server.conf.TableConfiguration;
+ import static java.lang.Math.min;
+ import java.util.SortedSet;
+ import static java.lang.Math.min;
  
- class TabletGroupWatcher extends Daemon {
+ abstract class TabletGroupWatcher extends Daemon {
    // Constants used to make sure assignment logging isn't excessive in 
quantity or size
    private static final String ASSIGNMENT_BUFFER_SEPARATOR = ", ";
    private static final int ASSINGMENT_BUFFER_MAX_LENGTH = 4096;
@@@ -165,9 -182,10 +182,10 @@@
          SortedMap<TServerInstance,TabletServerStatus> destinations = new 
TreeMap<>(currentTServers);
          destinations.keySet().removeAll(this.master.serversToShutdown);
  
 -        List<Assignment> assignments = new ArrayList<Assignment>();
 -        List<Assignment> assigned = new ArrayList<Assignment>();
 +        List<Assignment> assignments = new ArrayList<>();
 +        List<Assignment> assigned = new ArrayList<>();
          List<TabletLocationState> assignedToDeadServers = new ArrayList<>();
+         List<TabletLocationState> suspendedToGoneServers = new ArrayList<>();
          Map<KeyExtent,TServerInstance> unassigned = new HashMap<>();
          Map<TServerInstance,List<Path>> logsForDeadServers = new TreeMap<>();
  

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ee8e0705/test/src/main/java/org/apache/accumulo/test/performance/thrift/NullTserver.java
----------------------------------------------------------------------

Reply via email to