You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by el...@apache.org on 2014/09/19 20:59:58 UTC

[01/15] git commit: [maven-release-plugin] prepare release 1.5.2

Repository: accumulo
Updated Branches:
  refs/heads/1.6.1-SNAPSHOT 287e4a673 -> 3c6876d14
  refs/heads/master 449f7e02b -> 9812ee35d


[maven-release-plugin] prepare release 1.5.2


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

Branch: refs/heads/1.6.1-SNAPSHOT
Commit: 039a2c28bdd474805f34ee33f138b009edda6c4c
Parents: 019ff0a
Author: Josh Elser <el...@apache.org>
Authored: Mon Sep 15 11:45:17 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Mon Sep 15 11:45:17 2014 -0400

----------------------------------------------------------------------
 assemble/pom.xml        | 2 +-
 core/pom.xml            | 2 +-
 examples/pom.xml        | 2 +-
 examples/simple/pom.xml | 2 +-
 fate/pom.xml            | 2 +-
 minicluster/pom.xml     | 2 +-
 pom.xml                 | 4 ++--
 proxy/pom.xml           | 2 +-
 server/pom.xml          | 2 +-
 start/pom.xml           | 2 +-
 test/pom.xml            | 2 +-
 trace/pom.xml           | 2 +-
 12 files changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/assemble/pom.xml
----------------------------------------------------------------------
diff --git a/assemble/pom.xml b/assemble/pom.xml
index 6a20967..b4e413f 100644
--- a/assemble/pom.xml
+++ b/assemble/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo</artifactId>
   <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index 39de12a..ddc2dd1 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-core</artifactId>
   <name>Core</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/examples/pom.xml
----------------------------------------------------------------------
diff --git a/examples/pom.xml b/examples/pom.xml
index fef685d..cde29f4 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-examples</artifactId>
   <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/examples/simple/pom.xml
----------------------------------------------------------------------
diff --git a/examples/simple/pom.xml b/examples/simple/pom.xml
index 2b6ab69..4760718 100644
--- a/examples/simple/pom.xml
+++ b/examples/simple/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-examples</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-examples-simple</artifactId>
   <name>Simple Examples</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/fate/pom.xml
----------------------------------------------------------------------
diff --git a/fate/pom.xml b/fate/pom.xml
index 0868e4c..f73d13c 100644
--- a/fate/pom.xml
+++ b/fate/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-fate</artifactId>
   <name>Fate</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/minicluster/pom.xml
----------------------------------------------------------------------
diff --git a/minicluster/pom.xml b/minicluster/pom.xml
index d9468e2..8e73593 100644
--- a/minicluster/pom.xml
+++ b/minicluster/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-minicluster</artifactId>
   <name>MiniCluster</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2f14d07..8e2a3b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
   </parent>
   <groupId>org.apache.accumulo</groupId>
   <artifactId>accumulo-project</artifactId>
-  <version>1.5.2-SNAPSHOT</version>
+  <version>1.5.2</version>
   <packaging>pom</packaging>
   <name>Apache Accumulo Project</name>
   <description>Apache Accumulo is a sorted, distributed key/value store based on Google's BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It features a few novel improvements on the BigTable design in the form of cell-level access labels and a server-side programming mechanism that can modify key/value pairs at various points in the data management process.</description>
@@ -86,7 +86,7 @@
   <scm>
     <connection>scm:git:git://git.apache.org/accumulo.git</connection>
     <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/accumulo.git</developerConnection>
-    <tag>${project.version}</tag>
+    <tag>1.5.2</tag>
     <url>https://git-wip-us.apache.org/repos/asf?p=accumulo.git</url>
   </scm>
   <issueManagement>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/proxy/pom.xml
----------------------------------------------------------------------
diff --git a/proxy/pom.xml b/proxy/pom.xml
index 9661104..7a21bae 100644
--- a/proxy/pom.xml
+++ b/proxy/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-proxy</artifactId>
   <name>Proxy</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index fb526af..525735d 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-server</artifactId>
   <name>Server</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/start/pom.xml
----------------------------------------------------------------------
diff --git a/start/pom.xml b/start/pom.xml
index 5fc9346..5c7b64c 100644
--- a/start/pom.xml
+++ b/start/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-start</artifactId>
   <name>Start</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/test/pom.xml
----------------------------------------------------------------------
diff --git a/test/pom.xml b/test/pom.xml
index ad60054..4b1a414 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-test</artifactId>
   <name>Testing</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/trace/pom.xml
----------------------------------------------------------------------
diff --git a/trace/pom.xml b/trace/pom.xml
index 8e7b083..b3c5100 100644
--- a/trace/pom.xml
+++ b/trace/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-trace</artifactId>
   <name>Trace</name>


[06/15] git commit: ACCUMULO-3150 Set 0 for monitor log4j port config value

Posted by el...@apache.org.
ACCUMULO-3150 Set 0 for monitor log4j port config value

The rest of the code is already in place to support
a randomly chosen port for the log4j forwarding to
the monitor. We just need to configure MAC to do this.

Added a test to ensure that ports we want to have
a value of '0' are in fact configured as such.


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

Branch: refs/heads/master
Commit: 72fd6beccd093d544a880c4564917039b80ee23a
Parents: c170f01
Author: Josh Elser <el...@apache.org>
Authored: Fri Sep 19 13:27:54 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Fri Sep 19 13:28:24 2014 -0400

----------------------------------------------------------------------
 .../minicluster/MiniAccumuloCluster.java        |  1 +
 .../minicluster/MiniAccumuloClusterTest.java    | 99 +++++++++++---------
 2 files changed, 58 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/72fd6bec/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
----------------------------------------------------------------------
diff --git a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
index 8246c51..c9aa1f1 100644
--- a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
+++ b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
@@ -270,6 +270,7 @@ public class MiniAccumuloCluster {
     mergePropWithRandomPort(siteConfig, Property.TSERV_CLIENTPORT.getKey());
     mergePropWithRandomPort(siteConfig, Property.MONITOR_PORT.getKey());
     mergePropWithRandomPort(siteConfig, Property.GC_PORT.getKey());
+    mergePropWithRandomPort(siteConfig, Property.MONITOR_LOG4J_PORT.getKey());
     
     // since there is a small amount of memory, check more frequently for majc... setting may not be needed in 1.5
     appendProp(fileWriter, Property.TSERV_MAJC_DELAY, "3", siteConfig);

http://git-wip-us.apache.org/repos/asf/accumulo/blob/72fd6bec/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
----------------------------------------------------------------------
diff --git a/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java b/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
index 1b46591..d1d64aa 100644
--- a/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
+++ b/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
@@ -38,6 +38,7 @@ import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.core.security.ColumnVisibility;
 import org.apache.accumulo.core.security.TablePermission;
 import org.apache.commons.io.FileUtils;
+import org.apache.hadoop.conf.Configuration;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
@@ -45,61 +46,61 @@ import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
 public class MiniAccumuloClusterTest {
-  
+
   public static TemporaryFolder folder = new TemporaryFolder();
-  
+
   private static MiniAccumuloCluster accumulo;
-  
+
   @BeforeClass
   public static void setupMiniCluster() throws Exception {
-    
+
     folder.create();
-    
+
     accumulo = new MiniAccumuloCluster(folder.getRoot(), "superSecret");
-    
+
     accumulo.start();
-    
+
   }
-  
+
   @Test(timeout = 30000)
   public void test() throws Exception {
     Connector conn = new ZooKeeperInstance(accumulo.getInstanceName(), accumulo.getZooKeepers()).getConnector("root", new PasswordToken("superSecret"));
-    
+
     conn.tableOperations().create("table1");
-    
+
     conn.securityOperations().createLocalUser("user1", new PasswordToken("pass1"));
     conn.securityOperations().changeUserAuthorizations("user1", new Authorizations("A", "B"));
     conn.securityOperations().grantTablePermission("user1", "table1", TablePermission.WRITE);
     conn.securityOperations().grantTablePermission("user1", "table1", TablePermission.READ);
-    
+
     IteratorSetting is = new IteratorSetting(10, SummingCombiner.class);
     SummingCombiner.setEncodingType(is, LongCombiner.Type.STRING);
     SummingCombiner.setColumns(is, Collections.singletonList(new IteratorSetting.Column("META", "COUNT")));
-    
+
     conn.tableOperations().attachIterator("table1", is);
-    
+
     Connector uconn = new ZooKeeperInstance(accumulo.getInstanceName(), accumulo.getZooKeepers()).getConnector("user1", new PasswordToken("pass1"));
-    
+
     BatchWriter bw = uconn.createBatchWriter("table1", new BatchWriterConfig());
-    
+
     UUID uuid = UUID.randomUUID();
-    
+
     Mutation m = new Mutation(uuid.toString());
     m.put("META", "SIZE", new ColumnVisibility("A|B"), "8");
     m.put("META", "CRC", new ColumnVisibility("A|B"), "456");
     m.put("META", "COUNT", new ColumnVisibility("A|B"), "1");
     m.put("DATA", "IMG", new ColumnVisibility("A&B"), "ABCDEFGH");
-    
+
     bw.addMutation(m);
     bw.flush();
-    
+
     m = new Mutation(uuid.toString());
     m.put("META", "COUNT", new ColumnVisibility("A|B"), "1");
     m.put("META", "CRC", new ColumnVisibility("A|B"), "123");
     bw.addMutation(m);
-    
+
     bw.close();
-    
+
     int count = 0;
     Scanner scanner = uconn.createScanner("table1", new Authorizations("A"));
     for (Entry<Key,Value> entry : scanner) {
@@ -114,9 +115,9 @@ public class MiniAccumuloClusterTest {
       }
       count++;
     }
-    
+
     Assert.assertEquals(3, count);
-    
+
     count = 0;
     scanner = uconn.createScanner("table1", new Authorizations("A", "B"));
     for (Entry<Key,Value> entry : scanner) {
@@ -125,62 +126,76 @@ public class MiniAccumuloClusterTest {
       }
       count++;
     }
-    
+
     Assert.assertEquals(4, count);
-    
+
     conn.tableOperations().delete("table1");
   }
-  
+
   @Test(timeout = 60000)
   public void testPerTableClasspath() throws Exception {
-    
+
     Connector conn = new ZooKeeperInstance(accumulo.getInstanceName(), accumulo.getZooKeepers()).getConnector("root", new PasswordToken("superSecret"));
-    
+
     conn.tableOperations().create("table2");
-    
+
     File jarFile = File.createTempFile("iterator", ".jar");
     FileUtils.copyURLToFile(this.getClass().getResource("/FooFilter.jar"), jarFile);
     jarFile.deleteOnExit();
-    
+
     conn.instanceOperations().setProperty(Property.VFS_CONTEXT_CLASSPATH_PROPERTY.getKey() + "cx1", jarFile.toURI().toString());
     conn.tableOperations().setProperty("table2", Property.TABLE_CLASSPATH.getKey(), "cx1");
     conn.tableOperations().attachIterator("table2", new IteratorSetting(100, "foocensor", "org.apache.accumulo.test.FooFilter"));
-    
+
     BatchWriter bw = conn.createBatchWriter("table2", new BatchWriterConfig());
-    
+
     Mutation m1 = new Mutation("foo");
     m1.put("cf1", "cq1", "v2");
     m1.put("cf1", "cq2", "v3");
-    
+
     bw.addMutation(m1);
-    
+
     Mutation m2 = new Mutation("bar");
     m2.put("cf1", "cq1", "v6");
     m2.put("cf1", "cq2", "v7");
-    
+
     bw.addMutation(m2);
-    
+
     bw.close();
-    
+
     Scanner scanner = conn.createScanner("table2", new Authorizations());
-    
+
     int count = 0;
     for (Entry<Key,Value> entry : scanner) {
       Assert.assertFalse(entry.getKey().getRowData().toString().toLowerCase().contains("foo"));
       count++;
     }
-    
+
     Assert.assertEquals(2, count);
-    
+
     conn.instanceOperations().removeProperty(Property.VFS_CONTEXT_CLASSPATH_PROPERTY.getKey() + "cx1");
     conn.tableOperations().delete("table2");
-    
+
   }
-  
+
+  @Test
+  public void testRandomPorts() throws Exception {
+    File confDir = new File(folder.getRoot(), "conf");
+    File accumuloSite = new File(confDir, "accumulo-site.xml");
+    Configuration conf = new Configuration(false);
+    conf.addResource(accumuloSite.toURI().toURL());
+    for (Property randomPortProp : new Property[] {Property.TSERV_CLIENTPORT, Property.MONITOR_PORT, Property.MONITOR_LOG4J_PORT, Property.MASTER_CLIENTPORT,
+        Property.TRACE_PORT, Property.GC_PORT}) {
+      String value = conf.get(randomPortProp.getKey());
+      Assert.assertNotNull("Found no value for " + randomPortProp, value);
+      Assert.assertEquals("0", value);
+    }
+  }
+
   @AfterClass
   public static void tearDownMiniCluster() throws Exception {
     accumulo.stop();
     // folder.delete();
   }
-  
+
 }


[04/15] git commit: ACCUMULO-3048 Bump to 1.5.3-SNAPSHOT

Posted by el...@apache.org.
ACCUMULO-3048 Bump to 1.5.3-SNAPSHOT


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

Branch: refs/heads/master
Commit: c170f011019c558f4bf00020720822e7dfcc087c
Parents: 039a2c2
Author: Josh Elser <el...@apache.org>
Authored: Thu Sep 18 23:34:20 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu Sep 18 23:34:20 2014 -0400

----------------------------------------------------------------------
 assemble/pom.xml        | 2 +-
 core/pom.xml            | 2 +-
 examples/pom.xml        | 2 +-
 examples/simple/pom.xml | 2 +-
 fate/pom.xml            | 2 +-
 minicluster/pom.xml     | 2 +-
 pom.xml                 | 2 +-
 proxy/pom.xml           | 2 +-
 server/pom.xml          | 2 +-
 start/pom.xml           | 2 +-
 test/pom.xml            | 2 +-
 trace/pom.xml           | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/assemble/pom.xml
----------------------------------------------------------------------
diff --git a/assemble/pom.xml b/assemble/pom.xml
index b4e413f..2930a66 100644
--- a/assemble/pom.xml
+++ b/assemble/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo</artifactId>
   <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index ddc2dd1..0267e16 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-core</artifactId>
   <name>Core</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/examples/pom.xml
----------------------------------------------------------------------
diff --git a/examples/pom.xml b/examples/pom.xml
index cde29f4..fac7c74 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-examples</artifactId>
   <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/examples/simple/pom.xml
----------------------------------------------------------------------
diff --git a/examples/simple/pom.xml b/examples/simple/pom.xml
index 4760718..8e75586 100644
--- a/examples/simple/pom.xml
+++ b/examples/simple/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-examples</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-examples-simple</artifactId>
   <name>Simple Examples</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/fate/pom.xml
----------------------------------------------------------------------
diff --git a/fate/pom.xml b/fate/pom.xml
index f73d13c..24413fd 100644
--- a/fate/pom.xml
+++ b/fate/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-fate</artifactId>
   <name>Fate</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/minicluster/pom.xml
----------------------------------------------------------------------
diff --git a/minicluster/pom.xml b/minicluster/pom.xml
index 8e73593..4afe113 100644
--- a/minicluster/pom.xml
+++ b/minicluster/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-minicluster</artifactId>
   <name>MiniCluster</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8e2a3b9..9d0c251 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
   </parent>
   <groupId>org.apache.accumulo</groupId>
   <artifactId>accumulo-project</artifactId>
-  <version>1.5.2</version>
+  <version>1.5.3-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>Apache Accumulo Project</name>
   <description>Apache Accumulo is a sorted, distributed key/value store based on Google's BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It features a few novel improvements on the BigTable design in the form of cell-level access labels and a server-side programming mechanism that can modify key/value pairs at various points in the data management process.</description>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/proxy/pom.xml
----------------------------------------------------------------------
diff --git a/proxy/pom.xml b/proxy/pom.xml
index 7a21bae..d66a329 100644
--- a/proxy/pom.xml
+++ b/proxy/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-proxy</artifactId>
   <name>Proxy</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index 525735d..edf9e4f 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-server</artifactId>
   <name>Server</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/start/pom.xml
----------------------------------------------------------------------
diff --git a/start/pom.xml b/start/pom.xml
index 5c7b64c..6f8817e 100644
--- a/start/pom.xml
+++ b/start/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-start</artifactId>
   <name>Start</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/test/pom.xml
----------------------------------------------------------------------
diff --git a/test/pom.xml b/test/pom.xml
index 4b1a414..330f683 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-test</artifactId>
   <name>Testing</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/trace/pom.xml
----------------------------------------------------------------------
diff --git a/trace/pom.xml b/trace/pom.xml
index b3c5100..a997725 100644
--- a/trace/pom.xml
+++ b/trace/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-trace</artifactId>
   <name>Trace</name>


[10/15] git commit: ACCUMULO-3048 Fix SCM tag value

Posted by el...@apache.org.
ACCUMULO-3048 Fix SCM tag value


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

Branch: refs/heads/1.6.1-SNAPSHOT
Commit: 6719c3767e20e5ed299c8889370c792b7ebbadc8
Parents: c170f01
Author: Josh Elser <jo...@gmail.com>
Authored: Fri Sep 19 14:10:15 2014 -0400
Committer: Josh Elser <jo...@gmail.com>
Committed: Fri Sep 19 14:10:15 2014 -0400

----------------------------------------------------------------------
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/6719c376/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9d0c251..835a2fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -86,7 +86,7 @@
   <scm>
     <connection>scm:git:git://git.apache.org/accumulo.git</connection>
     <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/accumulo.git</developerConnection>
-    <tag>1.5.2</tag>
+    <tag>${project.version}</tag>
     <url>https://git-wip-us.apache.org/repos/asf?p=accumulo.git</url>
   </scm>
   <issueManagement>


[12/15] git commit: Merge remote-tracking branch 'origin/1.5.3-SNAPSHOT' into 1.6.1-SNAPSHOT

Posted by el...@apache.org.
Merge remote-tracking branch 'origin/1.5.3-SNAPSHOT' into 1.6.1-SNAPSHOT


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

Branch: refs/heads/1.6.1-SNAPSHOT
Commit: 984ba22daa54c39cc4f95864bf1ca4b441534676
Parents: 51ec5a1 6719c37
Author: Josh Elser <el...@apache.org>
Authored: Fri Sep 19 14:35:05 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Fri Sep 19 14:35:05 2014 -0400

----------------------------------------------------------------------
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/984ba22d/pom.xml
----------------------------------------------------------------------


[05/15] git commit: ACCUMULO-3150 Set 0 for monitor log4j port config value

Posted by el...@apache.org.
ACCUMULO-3150 Set 0 for monitor log4j port config value

The rest of the code is already in place to support
a randomly chosen port for the log4j forwarding to
the monitor. We just need to configure MAC to do this.

Added a test to ensure that ports we want to have
a value of '0' are in fact configured as such.


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

Branch: refs/heads/1.6.1-SNAPSHOT
Commit: 72fd6beccd093d544a880c4564917039b80ee23a
Parents: c170f01
Author: Josh Elser <el...@apache.org>
Authored: Fri Sep 19 13:27:54 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Fri Sep 19 13:28:24 2014 -0400

----------------------------------------------------------------------
 .../minicluster/MiniAccumuloCluster.java        |  1 +
 .../minicluster/MiniAccumuloClusterTest.java    | 99 +++++++++++---------
 2 files changed, 58 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/72fd6bec/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
----------------------------------------------------------------------
diff --git a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
index 8246c51..c9aa1f1 100644
--- a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
+++ b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
@@ -270,6 +270,7 @@ public class MiniAccumuloCluster {
     mergePropWithRandomPort(siteConfig, Property.TSERV_CLIENTPORT.getKey());
     mergePropWithRandomPort(siteConfig, Property.MONITOR_PORT.getKey());
     mergePropWithRandomPort(siteConfig, Property.GC_PORT.getKey());
+    mergePropWithRandomPort(siteConfig, Property.MONITOR_LOG4J_PORT.getKey());
     
     // since there is a small amount of memory, check more frequently for majc... setting may not be needed in 1.5
     appendProp(fileWriter, Property.TSERV_MAJC_DELAY, "3", siteConfig);

http://git-wip-us.apache.org/repos/asf/accumulo/blob/72fd6bec/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
----------------------------------------------------------------------
diff --git a/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java b/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
index 1b46591..d1d64aa 100644
--- a/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
+++ b/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
@@ -38,6 +38,7 @@ import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.core.security.ColumnVisibility;
 import org.apache.accumulo.core.security.TablePermission;
 import org.apache.commons.io.FileUtils;
+import org.apache.hadoop.conf.Configuration;
 import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
@@ -45,61 +46,61 @@ import org.junit.Test;
 import org.junit.rules.TemporaryFolder;
 
 public class MiniAccumuloClusterTest {
-  
+
   public static TemporaryFolder folder = new TemporaryFolder();
-  
+
   private static MiniAccumuloCluster accumulo;
-  
+
   @BeforeClass
   public static void setupMiniCluster() throws Exception {
-    
+
     folder.create();
-    
+
     accumulo = new MiniAccumuloCluster(folder.getRoot(), "superSecret");
-    
+
     accumulo.start();
-    
+
   }
-  
+
   @Test(timeout = 30000)
   public void test() throws Exception {
     Connector conn = new ZooKeeperInstance(accumulo.getInstanceName(), accumulo.getZooKeepers()).getConnector("root", new PasswordToken("superSecret"));
-    
+
     conn.tableOperations().create("table1");
-    
+
     conn.securityOperations().createLocalUser("user1", new PasswordToken("pass1"));
     conn.securityOperations().changeUserAuthorizations("user1", new Authorizations("A", "B"));
     conn.securityOperations().grantTablePermission("user1", "table1", TablePermission.WRITE);
     conn.securityOperations().grantTablePermission("user1", "table1", TablePermission.READ);
-    
+
     IteratorSetting is = new IteratorSetting(10, SummingCombiner.class);
     SummingCombiner.setEncodingType(is, LongCombiner.Type.STRING);
     SummingCombiner.setColumns(is, Collections.singletonList(new IteratorSetting.Column("META", "COUNT")));
-    
+
     conn.tableOperations().attachIterator("table1", is);
-    
+
     Connector uconn = new ZooKeeperInstance(accumulo.getInstanceName(), accumulo.getZooKeepers()).getConnector("user1", new PasswordToken("pass1"));
-    
+
     BatchWriter bw = uconn.createBatchWriter("table1", new BatchWriterConfig());
-    
+
     UUID uuid = UUID.randomUUID();
-    
+
     Mutation m = new Mutation(uuid.toString());
     m.put("META", "SIZE", new ColumnVisibility("A|B"), "8");
     m.put("META", "CRC", new ColumnVisibility("A|B"), "456");
     m.put("META", "COUNT", new ColumnVisibility("A|B"), "1");
     m.put("DATA", "IMG", new ColumnVisibility("A&B"), "ABCDEFGH");
-    
+
     bw.addMutation(m);
     bw.flush();
-    
+
     m = new Mutation(uuid.toString());
     m.put("META", "COUNT", new ColumnVisibility("A|B"), "1");
     m.put("META", "CRC", new ColumnVisibility("A|B"), "123");
     bw.addMutation(m);
-    
+
     bw.close();
-    
+
     int count = 0;
     Scanner scanner = uconn.createScanner("table1", new Authorizations("A"));
     for (Entry<Key,Value> entry : scanner) {
@@ -114,9 +115,9 @@ public class MiniAccumuloClusterTest {
       }
       count++;
     }
-    
+
     Assert.assertEquals(3, count);
-    
+
     count = 0;
     scanner = uconn.createScanner("table1", new Authorizations("A", "B"));
     for (Entry<Key,Value> entry : scanner) {
@@ -125,62 +126,76 @@ public class MiniAccumuloClusterTest {
       }
       count++;
     }
-    
+
     Assert.assertEquals(4, count);
-    
+
     conn.tableOperations().delete("table1");
   }
-  
+
   @Test(timeout = 60000)
   public void testPerTableClasspath() throws Exception {
-    
+
     Connector conn = new ZooKeeperInstance(accumulo.getInstanceName(), accumulo.getZooKeepers()).getConnector("root", new PasswordToken("superSecret"));
-    
+
     conn.tableOperations().create("table2");
-    
+
     File jarFile = File.createTempFile("iterator", ".jar");
     FileUtils.copyURLToFile(this.getClass().getResource("/FooFilter.jar"), jarFile);
     jarFile.deleteOnExit();
-    
+
     conn.instanceOperations().setProperty(Property.VFS_CONTEXT_CLASSPATH_PROPERTY.getKey() + "cx1", jarFile.toURI().toString());
     conn.tableOperations().setProperty("table2", Property.TABLE_CLASSPATH.getKey(), "cx1");
     conn.tableOperations().attachIterator("table2", new IteratorSetting(100, "foocensor", "org.apache.accumulo.test.FooFilter"));
-    
+
     BatchWriter bw = conn.createBatchWriter("table2", new BatchWriterConfig());
-    
+
     Mutation m1 = new Mutation("foo");
     m1.put("cf1", "cq1", "v2");
     m1.put("cf1", "cq2", "v3");
-    
+
     bw.addMutation(m1);
-    
+
     Mutation m2 = new Mutation("bar");
     m2.put("cf1", "cq1", "v6");
     m2.put("cf1", "cq2", "v7");
-    
+
     bw.addMutation(m2);
-    
+
     bw.close();
-    
+
     Scanner scanner = conn.createScanner("table2", new Authorizations());
-    
+
     int count = 0;
     for (Entry<Key,Value> entry : scanner) {
       Assert.assertFalse(entry.getKey().getRowData().toString().toLowerCase().contains("foo"));
       count++;
     }
-    
+
     Assert.assertEquals(2, count);
-    
+
     conn.instanceOperations().removeProperty(Property.VFS_CONTEXT_CLASSPATH_PROPERTY.getKey() + "cx1");
     conn.tableOperations().delete("table2");
-    
+
   }
-  
+
+  @Test
+  public void testRandomPorts() throws Exception {
+    File confDir = new File(folder.getRoot(), "conf");
+    File accumuloSite = new File(confDir, "accumulo-site.xml");
+    Configuration conf = new Configuration(false);
+    conf.addResource(accumuloSite.toURI().toURL());
+    for (Property randomPortProp : new Property[] {Property.TSERV_CLIENTPORT, Property.MONITOR_PORT, Property.MONITOR_LOG4J_PORT, Property.MASTER_CLIENTPORT,
+        Property.TRACE_PORT, Property.GC_PORT}) {
+      String value = conf.get(randomPortProp.getKey());
+      Assert.assertNotNull("Found no value for " + randomPortProp, value);
+      Assert.assertEquals("0", value);
+    }
+  }
+
   @AfterClass
   public static void tearDownMiniCluster() throws Exception {
     accumulo.stop();
     // folder.delete();
   }
-  
+
 }


[02/15] git commit: [maven-release-plugin] prepare release 1.5.2

Posted by el...@apache.org.
[maven-release-plugin] prepare release 1.5.2


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

Branch: refs/heads/master
Commit: 039a2c28bdd474805f34ee33f138b009edda6c4c
Parents: 019ff0a
Author: Josh Elser <el...@apache.org>
Authored: Mon Sep 15 11:45:17 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Mon Sep 15 11:45:17 2014 -0400

----------------------------------------------------------------------
 assemble/pom.xml        | 2 +-
 core/pom.xml            | 2 +-
 examples/pom.xml        | 2 +-
 examples/simple/pom.xml | 2 +-
 fate/pom.xml            | 2 +-
 minicluster/pom.xml     | 2 +-
 pom.xml                 | 4 ++--
 proxy/pom.xml           | 2 +-
 server/pom.xml          | 2 +-
 start/pom.xml           | 2 +-
 test/pom.xml            | 2 +-
 trace/pom.xml           | 2 +-
 12 files changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/assemble/pom.xml
----------------------------------------------------------------------
diff --git a/assemble/pom.xml b/assemble/pom.xml
index 6a20967..b4e413f 100644
--- a/assemble/pom.xml
+++ b/assemble/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo</artifactId>
   <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index 39de12a..ddc2dd1 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-core</artifactId>
   <name>Core</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/examples/pom.xml
----------------------------------------------------------------------
diff --git a/examples/pom.xml b/examples/pom.xml
index fef685d..cde29f4 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-examples</artifactId>
   <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/examples/simple/pom.xml
----------------------------------------------------------------------
diff --git a/examples/simple/pom.xml b/examples/simple/pom.xml
index 2b6ab69..4760718 100644
--- a/examples/simple/pom.xml
+++ b/examples/simple/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-examples</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-examples-simple</artifactId>
   <name>Simple Examples</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/fate/pom.xml
----------------------------------------------------------------------
diff --git a/fate/pom.xml b/fate/pom.xml
index 0868e4c..f73d13c 100644
--- a/fate/pom.xml
+++ b/fate/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-fate</artifactId>
   <name>Fate</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/minicluster/pom.xml
----------------------------------------------------------------------
diff --git a/minicluster/pom.xml b/minicluster/pom.xml
index d9468e2..8e73593 100644
--- a/minicluster/pom.xml
+++ b/minicluster/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-minicluster</artifactId>
   <name>MiniCluster</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2f14d07..8e2a3b9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
   </parent>
   <groupId>org.apache.accumulo</groupId>
   <artifactId>accumulo-project</artifactId>
-  <version>1.5.2-SNAPSHOT</version>
+  <version>1.5.2</version>
   <packaging>pom</packaging>
   <name>Apache Accumulo Project</name>
   <description>Apache Accumulo is a sorted, distributed key/value store based on Google's BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It features a few novel improvements on the BigTable design in the form of cell-level access labels and a server-side programming mechanism that can modify key/value pairs at various points in the data management process.</description>
@@ -86,7 +86,7 @@
   <scm>
     <connection>scm:git:git://git.apache.org/accumulo.git</connection>
     <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/accumulo.git</developerConnection>
-    <tag>${project.version}</tag>
+    <tag>1.5.2</tag>
     <url>https://git-wip-us.apache.org/repos/asf?p=accumulo.git</url>
   </scm>
   <issueManagement>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/proxy/pom.xml
----------------------------------------------------------------------
diff --git a/proxy/pom.xml b/proxy/pom.xml
index 9661104..7a21bae 100644
--- a/proxy/pom.xml
+++ b/proxy/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-proxy</artifactId>
   <name>Proxy</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index fb526af..525735d 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-server</artifactId>
   <name>Server</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/start/pom.xml
----------------------------------------------------------------------
diff --git a/start/pom.xml b/start/pom.xml
index 5fc9346..5c7b64c 100644
--- a/start/pom.xml
+++ b/start/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-start</artifactId>
   <name>Start</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/test/pom.xml
----------------------------------------------------------------------
diff --git a/test/pom.xml b/test/pom.xml
index ad60054..4b1a414 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-test</artifactId>
   <name>Testing</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/039a2c28/trace/pom.xml
----------------------------------------------------------------------
diff --git a/trace/pom.xml b/trace/pom.xml
index 8e7b083..b3c5100 100644
--- a/trace/pom.xml
+++ b/trace/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2-SNAPSHOT</version>
+    <version>1.5.2</version>
   </parent>
   <artifactId>accumulo-trace</artifactId>
   <name>Trace</name>


[09/15] git commit: ACCUMULO-3048 Fix SCM tag value

Posted by el...@apache.org.
ACCUMULO-3048 Fix SCM tag value


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

Branch: refs/heads/master
Commit: 6719c3767e20e5ed299c8889370c792b7ebbadc8
Parents: c170f01
Author: Josh Elser <jo...@gmail.com>
Authored: Fri Sep 19 14:10:15 2014 -0400
Committer: Josh Elser <jo...@gmail.com>
Committed: Fri Sep 19 14:10:15 2014 -0400

----------------------------------------------------------------------
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/6719c376/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 9d0c251..835a2fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -86,7 +86,7 @@
   <scm>
     <connection>scm:git:git://git.apache.org/accumulo.git</connection>
     <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/accumulo.git</developerConnection>
-    <tag>1.5.2</tag>
+    <tag>${project.version}</tag>
     <url>https://git-wip-us.apache.org/repos/asf?p=accumulo.git</url>
   </scm>
   <issueManagement>


[15/15] git commit: Merge branch '1.6.1-SNAPSHOT'

Posted by el...@apache.org.
Merge branch '1.6.1-SNAPSHOT'

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


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

Branch: refs/heads/master
Commit: 9812ee35d1c6b8ccea8317f33de4bc9b322151a2
Parents: 449f7e0 3c6876d
Author: Josh Elser <el...@apache.org>
Authored: Fri Sep 19 14:35:48 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Fri Sep 19 14:35:48 2014 -0400

----------------------------------------------------------------------
 .../impl/MiniAccumuloConfigImpl.java            | 64 ++++++++++----------
 .../minicluster/MiniAccumuloClusterTest.java    | 15 +++++
 2 files changed, 48 insertions(+), 31 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/9812ee35/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java
----------------------------------------------------------------------
diff --cc minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java
index c585ecc,e9ad045..9e979b6
--- a/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java
+++ b/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java
@@@ -132,8 -132,7 +132,9 @@@ public class MiniAccumuloConfigImpl imp
        mergePropWithRandomPort(Property.TSERV_CLIENTPORT.getKey());
        mergePropWithRandomPort(Property.MONITOR_PORT.getKey());
        mergePropWithRandomPort(Property.GC_PORT.getKey());
+       mergePropWithRandomPort(Property.MONITOR_LOG4J_PORT.getKey());
 +      mergePropWithRandomPort(Property.REPLICATION_RECEIPT_SERVICE_PORT.getKey());
 +      mergePropWithRandomPort(Property.MASTER_REPLICATION_COORDINATOR_PORT.getKey());
  
        if (isUseCredentialProvider()) {
          updateConfigForCredentialProvider();


[07/15] git commit: Merge branch '1.5.3-SNAPSHOT' into 1.6.1-SNAPSHOT

Posted by el...@apache.org.
Merge branch '1.5.3-SNAPSHOT' into 1.6.1-SNAPSHOT

Conflicts:
	assemble/pom.xml
	core/pom.xml
	examples/pom.xml
	examples/simple/pom.xml
	fate/pom.xml
	minicluster/pom.xml
	minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
	minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
	pom.xml
	proxy/pom.xml
	server/tserver/pom.xml
	start/pom.xml
	test/pom.xml
	trace/pom.xml


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

Branch: refs/heads/master
Commit: 51ec5a16d4deaa9be426497ebe4b8c673df454ae
Parents: 5878a77 72fd6be
Author: Josh Elser <el...@apache.org>
Authored: Fri Sep 19 14:07:21 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Fri Sep 19 14:07:21 2014 -0400

----------------------------------------------------------------------
 .../impl/MiniAccumuloConfigImpl.java            | 64 ++++++++++----------
 .../minicluster/MiniAccumuloClusterTest.java    | 15 +++++
 pom.xml                                         |  2 +-
 3 files changed, 49 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/51ec5a16/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java
----------------------------------------------------------------------
diff --cc minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java
index 4878967,0000000..e9ad045
mode 100644,000000..100644
--- a/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java
+++ b/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java
@@@ -1,568 -1,0 +1,570 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package org.apache.accumulo.minicluster.impl;
 +
 +import java.io.File;
 +import java.io.IOException;
 +import java.util.HashMap;
 +import java.util.Iterator;
 +import java.util.Map;
 +import java.util.Map.Entry;
 +
 +import org.apache.accumulo.cluster.AccumuloConfig;
 +import org.apache.accumulo.core.conf.CredentialProviderFactoryShim;
 +import org.apache.accumulo.core.conf.Property;
 +import org.apache.accumulo.minicluster.MemoryUnit;
 +import org.apache.accumulo.minicluster.ServerType;
 +import org.apache.accumulo.server.util.PortUtils;
 +import org.apache.hadoop.conf.Configuration;
 +import org.apache.log4j.Logger;
 +
 +/**
 + * Holds configuration for {@link MiniAccumuloClusterImpl}. Required configurations must be passed to constructor(s) and all other configurations are optional.
-  * 
++ *
 + * @since 1.6.0
 + */
 +public class MiniAccumuloConfigImpl implements AccumuloConfig {
 +  private static final Logger log = Logger.getLogger(MiniAccumuloConfigImpl.class);
 +  private static final String DEFAULT_INSTANCE_SECRET = "DONTTELL";
 +
 +  private File dir = null;
 +  private String rootPassword = null;
 +  private Map<String,String> siteConfig = new HashMap<String,String>();
 +  private Map<String,String> configuredSiteConig = new HashMap<String,String>();
 +  private int numTservers = 2;
 +  private Map<ServerType,Long> memoryConfig = new HashMap<ServerType,Long>();
 +  private boolean jdwpEnabled = false;
 +  private Map<String,String> systemProperties = new HashMap<String,String>();
 +
 +  private String instanceName = "miniInstance";
 +
 +  private File libDir;
 +  private File libExtDir;
 +  private File confDir;
 +  private File zooKeeperDir;
 +  private File accumuloDir;
 +  private File logDir;
 +  private File walogDir;
 +
 +  private int zooKeeperPort = 0;
 +  private int configuredZooKeeperPort = 0;
 +  private long zooKeeperStartupTime = 20*1000;
 +
 +  private long defaultMemorySize = 128 * 1024 * 1024;
 +
 +  private boolean initialized = false;
 +
 +  private boolean useMiniDFS = false;
 +
 +  private boolean useCredentialProvider = false;
 +
 +  private String[] classpathItems = null;
 +
 +  private String[] nativePathItems = null;
 +
 +  /**
 +   * @param dir
 +   *          An empty or nonexistant directory that Accumulo and Zookeeper can store data in. Creating the directory is left to the user. Java 7, Guava, and
 +   *          Junit provide methods for creating temporary directories.
 +   * @param rootPassword
 +   *          The initial password for the Accumulo root user
 +   */
 +  public MiniAccumuloConfigImpl(File dir, String rootPassword) {
 +    this.dir = dir;
 +    this.rootPassword = rootPassword;
 +  }
 +
 +  /**
 +   * Set directories and fully populate site config
 +   */
 +  MiniAccumuloConfigImpl initialize() {
 +
 +    // Sanity checks
 +    if (this.getDir().exists() && !this.getDir().isDirectory())
 +      throw new IllegalArgumentException("Must pass in directory, " + this.getDir() + " is a file");
 +
 +    if (this.getDir().exists() && this.getDir().list().length != 0)
 +      throw new IllegalArgumentException("Directory " + this.getDir() + " is not empty");
 +
 +    if (!initialized) {
 +      libDir = new File(dir, "lib");
 +      libExtDir = new File(libDir, "ext");
 +      confDir = new File(dir, "conf");
 +      accumuloDir = new File(dir, "accumulo");
 +      zooKeeperDir = new File(dir, "zookeeper");
 +      logDir = new File(dir, "logs");
 +      walogDir = new File(dir, "walogs");
 +
 +      // TODO ACCUMULO-XXXX replace usage of instance.dfs.{dir,uri} with instance.volumes
 +      setInstanceLocation();
 +
 +      mergeProp(Property.INSTANCE_SECRET.getKey(), DEFAULT_INSTANCE_SECRET);
 +      mergeProp(Property.TSERV_PORTSEARCH.getKey(), "true");
 +      mergeProp(Property.LOGGER_DIR.getKey(), walogDir.getAbsolutePath());
 +      mergeProp(Property.TSERV_DATACACHE_SIZE.getKey(), "10M");
 +      mergeProp(Property.TSERV_INDEXCACHE_SIZE.getKey(), "10M");
 +      mergeProp(Property.TSERV_MAXMEM.getKey(), "50M");
 +      mergeProp(Property.TSERV_WALOG_MAX_SIZE.getKey(), "100M");
 +      mergeProp(Property.TSERV_NATIVEMAP_ENABLED.getKey(), "false");
 +      mergeProp(Property.TRACE_TOKEN_PROPERTY_PREFIX.getKey() + "password", getRootPassword());
 +      // since there is a small amount of memory, check more frequently for majc... setting may not be needed in 1.5
 +      mergeProp(Property.TSERV_MAJC_DELAY.getKey(), "3");
 +      mergeProp(Property.GENERAL_CLASSPATHS.getKey(), libDir.getAbsolutePath() + "/[^.].*[.]jar");
 +      mergeProp(Property.GENERAL_DYNAMIC_CLASSPATHS.getKey(), libExtDir.getAbsolutePath() + "/[^.].*[.]jar");
 +      mergeProp(Property.GC_CYCLE_DELAY.getKey(), "4s");
 +      mergeProp(Property.GC_CYCLE_START.getKey(), "0s");
 +      mergePropWithRandomPort(Property.MASTER_CLIENTPORT.getKey());
 +      mergePropWithRandomPort(Property.TRACE_PORT.getKey());
 +      mergePropWithRandomPort(Property.TSERV_CLIENTPORT.getKey());
 +      mergePropWithRandomPort(Property.MONITOR_PORT.getKey());
 +      mergePropWithRandomPort(Property.GC_PORT.getKey());
++      mergePropWithRandomPort(Property.MONITOR_LOG4J_PORT.getKey());
 +
 +      if (isUseCredentialProvider()) {
 +        updateConfigForCredentialProvider();
 +      }
 +
 +      // zookeeper port should be set explicitly in this class, not just on the site config
 +      if (zooKeeperPort == 0)
 +        zooKeeperPort = PortUtils.getRandomFreePort();
 +      siteConfig.put(Property.INSTANCE_ZK_HOST.getKey(), "localhost:" + zooKeeperPort);
 +      initialized = true;
 +    }
 +    return this;
 +  }
 +
 +  private void updateConfigForCredentialProvider() {
 +    String cpPaths = siteConfig.get(Property.GENERAL_SECURITY_CREDENTIAL_PROVIDER_PATHS.getKey());
 +    if (null != cpPaths && !Property.GENERAL_SECURITY_CREDENTIAL_PROVIDER_PATHS.getDefaultValue().equals(cpPaths)) {
 +      // Already configured
 +      return;
 +    }
 +
 +    if (!CredentialProviderFactoryShim.isHadoopCredentialProviderAvailable()) {
 +      throw new RuntimeException("Cannot use CredentialProvider when implementation is not available. Be sure to use >=Hadoop-2.6.0");
 +    }
 +
 +    File keystoreFile = new File(getConfDir(), "credential-provider.jks");
 +    String keystoreUri = "jceks://file" + keystoreFile.getAbsolutePath();
 +    Configuration conf = CredentialProviderFactoryShim.getConfiguration(keystoreUri);
 +
 +    // Set the URI on the siteCfg
 +    siteConfig.put(Property.GENERAL_SECURITY_CREDENTIAL_PROVIDER_PATHS.getKey(), keystoreUri);
 +
 +    Iterator<Entry<String,String>> entries = siteConfig.entrySet().iterator();
 +    while (entries.hasNext()) {
 +      Entry<String,String> entry = entries.next();
 +
 +      // Not a @Sensitive Property, ignore it
 +      if (!Property.isSensitive(entry.getKey())) {
 +        continue;
 +      }
 +
 +      // Add the @Sensitive Property to the CredentialProvider
 +      try {
 +        CredentialProviderFactoryShim.createEntry(conf, entry.getKey(), entry.getValue().toCharArray());
 +      } catch (IOException e) {
 +        log.warn("Attempted to add " + entry.getKey() + " to CredentialProvider but failed", e);
 +        continue;
 +      }
 +
 +      // Only remove it from the siteCfg if we succeeded in adding it to the CredentialProvider
 +      entries.remove();
 +    }
 +  }
 +
 +  @SuppressWarnings("deprecation")
 +  private void setInstanceLocation() {
 +    mergeProp(Property.INSTANCE_DFS_URI.getKey(), "file:///");
 +    mergeProp(Property.INSTANCE_DFS_DIR.getKey(), accumuloDir.getAbsolutePath());
 +  }
 +
 +  /**
 +   * Set a given key/value on the site config if it doesn't already exist
 +   */
 +  private void mergeProp(String key, String value) {
 +    if (!siteConfig.containsKey(key)) {
 +      siteConfig.put(key, value);
 +    }
 +  }
 +
 +  /**
 +   * Sets a given key with a random port for the value on the site config if it doesn't already exist.
 +   */
 +  private void mergePropWithRandomPort(String key) {
 +    if (!siteConfig.containsKey(key)) {
 +      siteConfig.put(key, "0");
 +    }
 +  }
 +
 +  /**
 +   * Calling this method is optional. If not set, it defaults to two.
-    * 
++   *
 +   * @param numTservers
 +   *          the number of tablet servers that mini accumulo cluster should start
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setNumTservers(int numTservers) {
 +    if (numTservers < 1)
 +      throw new IllegalArgumentException("Must have at least one tablet server");
 +    this.numTservers = numTservers;
 +    return this;
 +  }
 +
 +  /**
 +   * Calling this method is optional. If not set, defaults to 'miniInstance'
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setInstanceName(String instanceName) {
 +    this.instanceName = instanceName;
 +    return this;
 +  }
 +
 +  /**
 +   * Calling this method is optional. If not set, it defaults to an empty map.
-    * 
++   *
 +   * @param siteConfig
 +   *          key/values that you normally put in accumulo-site.xml can be put here.
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setSiteConfig(Map<String,String> siteConfig) {
 +    this.siteConfig = new HashMap<String,String>(siteConfig);
 +    this.configuredSiteConig = new HashMap<String,String>(siteConfig);
 +    return this;
 +  }
 +
 +  /**
 +   * Calling this method is optional. A random port is generated by default
-    * 
++   *
 +   * @param zooKeeperPort
 +   *          A valid (and unused) port to use for the zookeeper
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setZooKeeperPort(int zooKeeperPort) {
 +    this.configuredZooKeeperPort = zooKeeperPort;
 +    this.zooKeeperPort = zooKeeperPort;
 +    return this;
 +  }
 +
 +  /**
 +   * Configure the time to wait for ZooKeeper to startup.
 +   * Calling this method is optional. The default is 20000 milliseconds
-    * 
++   *
 +   * @param zooKeeperStartupTime
 +   *          Time to wait for ZooKeeper to startup, in milliseconds
-    * 
++   *
 +   * @since 1.6.1
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setZooKeeperStartupTime(long zooKeeperStartupTime) {
 +    this.zooKeeperStartupTime = zooKeeperStartupTime;
 +    return this;
 +  }
 +
 +  /**
 +   * Sets the amount of memory to use in the master process. Calling this method is optional. Default memory is 128M
-    * 
++   *
 +   * @param serverType
 +   *          the type of server to apply the memory settings
 +   * @param memory
 +   *          amount of memory to set
-    * 
++   *
 +   * @param memoryUnit
 +   *          the units for which to apply with the memory size
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setMemory(ServerType serverType, long memory, MemoryUnit memoryUnit) {
 +    this.memoryConfig.put(serverType, memoryUnit.toBytes(memory));
 +    return this;
 +  }
 +
 +  /**
 +   * Sets the default memory size to use. This value is also used when a ServerType has not been configured explicitly. Calling this method is optional. Default
 +   * memory is 128M
-    * 
++   *
 +   * @param memory
 +   *          amount of memory to set
-    * 
++   *
 +   * @param memoryUnit
 +   *          the units for which to apply with the memory size
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setDefaultMemory(long memory, MemoryUnit memoryUnit) {
 +    this.defaultMemorySize = memoryUnit.toBytes(memory);
 +    return this;
 +  }
 +
 +  /**
 +   * @return a copy of the site config
 +   */
 +  @Override
 +  public Map<String,String> getSiteConfig() {
 +    return new HashMap<String,String>(siteConfig);
 +  }
 +
 +  public Map<String,String> getConfiguredSiteConfig() {
 +    return new HashMap<String,String>(configuredSiteConig);
 +  }
 +
 +  /**
 +   * @return name of configured instance
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public String getInstanceName() {
 +    return instanceName;
 +  }
 +
 +  /**
 +   * @return The configured zookeeper port
-    * 
++   *
 +   * @since 1.6.0
 +   */
++  @Override
 +  public int getZooKeeperPort() {
 +    return zooKeeperPort;
 +  }
 +
 +  public int getConfiguredZooKeeperPort() {
 +    return configuredZooKeeperPort;
 +  }
 +
 +  public long getZooKeeperStartupTime() {
 +    return zooKeeperStartupTime;
 +  }
 +
 +  File getLibDir() {
 +    return libDir;
 +  }
 +
 +  File getLibExtDir() {
 +    return libExtDir;
 +  }
 +
 +  public File getConfDir() {
 +    return confDir;
 +  }
 +
 +  File getZooKeeperDir() {
 +    return zooKeeperDir;
 +  }
 +
 +  public File getAccumuloDir() {
 +    return accumuloDir;
 +  }
 +
 +  public File getLogDir() {
 +    return logDir;
 +  }
 +
 +  File getWalogDir() {
 +    return walogDir;
 +  }
 +
 +  /**
 +   * @param serverType
 +   *          get configuration for this server type
-    * 
++   *
 +   * @return memory configured in bytes, returns default if this server type is not configured
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public long getMemory(ServerType serverType) {
 +    return memoryConfig.containsKey(serverType) ? memoryConfig.get(serverType) : defaultMemorySize;
 +  }
 +
 +  /**
 +   * @return memory configured in bytes
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public long getDefaultMemory() {
 +    return defaultMemorySize;
 +  }
 +
 +  /**
 +   * @return zookeeper connection string
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public String getZooKeepers() {
 +    return siteConfig.get(Property.INSTANCE_ZK_HOST.getKey());
 +  }
 +
 +  /**
 +   * @return the base directory of the cluster configuration
 +   */
 +  public File getDir() {
 +    return dir;
 +  }
 +
 +  /**
 +   * @return the root password of this cluster configuration
 +   */
 +  @Override
 +  public String getRootPassword() {
 +    return rootPassword;
 +  }
 +
 +  /**
 +   * @return the number of tservers configured for this cluster
 +   */
 +  @Override
 +  public int getNumTservers() {
 +    return numTservers;
 +  }
 +
 +  /**
 +   * @return is the current configuration in jdwpEnabled mode?
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public boolean isJDWPEnabled() {
 +    return jdwpEnabled;
 +  }
 +
 +  /**
 +   * @param jdwpEnabled
 +   *          should the processes run remote jdwpEnabled servers?
 +   * @return the current instance
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public MiniAccumuloConfigImpl setJDWPEnabled(boolean jdwpEnabled) {
 +    this.jdwpEnabled = jdwpEnabled;
 +    return this;
 +  }
 +
 +  public boolean useMiniDFS() {
 +    return useMiniDFS;
 +  }
 +
 +  public void useMiniDFS(boolean useMiniDFS) {
 +    this.useMiniDFS = useMiniDFS;
 +  }
 +
 +  /**
 +   * @return location of client conf file containing connection parameters for connecting to this minicluster
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public File getClientConfFile() {
 +    return new File(getConfDir(), "client.conf");
 +  }
 +
 +  /**
 +   * sets system properties set for service processes
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public void setSystemProperties(Map<String,String> systemProperties) {
 +    this.systemProperties = new HashMap<String,String>(systemProperties);
 +  }
 +
 +  /**
 +   * @return a copy of the system properties for service processes
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public Map<String,String> getSystemProperties() {
 +    return new HashMap<String,String>(systemProperties);
 +  }
 +
 +  /**
 +   * Gets the classpath elements to use when spawning processes.
-    * 
++   *
 +   * @return the classpathItems, if set
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public String[] getClasspathItems() {
 +    return classpathItems;
 +  }
 +
 +  /**
 +   * Sets the classpath elements to use when spawning processes.
-    * 
++   *
 +   * @param classpathItems
 +   *          the classpathItems to set
 +   * @since 1.6.0
 +   */
 +  public void setClasspathItems(String... classpathItems) {
 +    this.classpathItems = classpathItems;
 +  }
 +
 +  /**
 +   * @return the paths to use for loading native libraries
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public String[] getNativeLibPaths() {
 +    return this.nativePathItems == null ? new String[0] : this.nativePathItems;
 +  }
 +
 +  /**
 +   * Sets the path for processes to use for loading native libraries
-    * 
++   *
 +   * @param nativePathItems
 +   *          the nativePathItems to set
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setNativeLibPaths(String... nativePathItems) {
 +    this.nativePathItems = nativePathItems;
 +    return this;
 +  }
 +
 +  /**
 +   * Sets arbitrary configuration properties.
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public void setProperty(Property p, String value) {
 +    this.siteConfig.put(p.getKey(), value);
 +  }
 +
 +  /**
 +   * @return the useCredentialProvider
 +   */
 +  public boolean isUseCredentialProvider() {
 +    return useCredentialProvider;
 +  }
 +
 +  /**
 +   * @param useCredentialProvider the useCredentialProvider to set
 +   */
 +  public void setUseCredentialProvider(boolean useCredentialProvider) {
 +    this.useCredentialProvider = useCredentialProvider;
 +  }
 +
 +  @Override
 +  public MiniAccumuloClusterImpl build() throws IOException {
 +    return new MiniAccumuloClusterImpl(this);
 +  }
 +}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/51ec5a16/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
----------------------------------------------------------------------
diff --cc minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
index ec228af,d1d64aa..341ec8b
--- a/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
+++ b/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
@@@ -40,9 -37,8 +40,10 @@@ import org.apache.accumulo.core.iterato
  import org.apache.accumulo.core.security.Authorizations;
  import org.apache.accumulo.core.security.ColumnVisibility;
  import org.apache.accumulo.core.security.TablePermission;
 +import org.apache.accumulo.core.util.Pair;
  import org.apache.commons.io.FileUtils;
+ import org.apache.hadoop.conf.Configuration;
 +import org.apache.hadoop.hdfs.DFSConfigKeys;
  import org.junit.AfterClass;
  import org.junit.Assert;
  import org.junit.BeforeClass;
@@@ -197,27 -175,23 +198,41 @@@ public class MiniAccumuloClusterTest 
  
      conn.instanceOperations().removeProperty(Property.VFS_CONTEXT_CLASSPATH_PROPERTY.getKey() + "cx1");
      conn.tableOperations().delete("table2");
 +  }
 +
 +  @Test(timeout = 10000)
 +  public void testDebugPorts() {
 +
 +    Set<Pair<ServerType,Integer>> debugPorts = accumulo.getDebugPorts();
 +    Assert.assertEquals(5, debugPorts.size());
 +    for (Pair<ServerType,Integer> debugPort : debugPorts) {
 +      Assert.assertTrue(debugPort.getSecond() > 0);
 +    }
 +  }
  
 +  @Test
 +  public void testConfig() {
 +    // ensure what user passed in is what comes back
 +    Assert.assertEquals(0, accumulo.getConfig().getZooKeeperPort());
 +    HashMap<String,String> site = new HashMap<String,String>();
 +    site.put(Property.TSERV_WORKQ_THREADS.getKey(), "2");
 +    Assert.assertEquals(site, accumulo.getConfig().getSiteConfig());
    }
  
+   @Test
+   public void testRandomPorts() throws Exception {
 -    File confDir = new File(folder.getRoot(), "conf");
++    File confDir = new File(testDir, "conf");
+     File accumuloSite = new File(confDir, "accumulo-site.xml");
+     Configuration conf = new Configuration(false);
+     conf.addResource(accumuloSite.toURI().toURL());
+     for (Property randomPortProp : new Property[] {Property.TSERV_CLIENTPORT, Property.MONITOR_PORT, Property.MONITOR_LOG4J_PORT, Property.MASTER_CLIENTPORT,
+         Property.TRACE_PORT, Property.GC_PORT}) {
+       String value = conf.get(randomPortProp.getKey());
+       Assert.assertNotNull("Found no value for " + randomPortProp, value);
+       Assert.assertEquals("0", value);
+     }
+   }
+ 
    @AfterClass
    public static void tearDownMiniCluster() throws Exception {
      accumulo.stop();

http://git-wip-us.apache.org/repos/asf/accumulo/blob/51ec5a16/pom.xml
----------------------------------------------------------------------


[14/15] git commit: Merge remote-tracking branch 'origin/1.6.1-SNAPSHOT' into 1.6.1-SNAPSHOT

Posted by el...@apache.org.
Merge remote-tracking branch 'origin/1.6.1-SNAPSHOT' into 1.6.1-SNAPSHOT


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

Branch: refs/heads/1.6.1-SNAPSHOT
Commit: 3c6876d1415081a0eac73e41503863cb68b2dfd8
Parents: 984ba22 287e4a6
Author: Josh Elser <el...@apache.org>
Authored: Fri Sep 19 14:35:15 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Fri Sep 19 14:35:15 2014 -0400

----------------------------------------------------------------------
 .../java/org/apache/accumulo/monitor/servlets/ScanServlet.java | 2 +-
 .../main/java/org/apache/accumulo/tserver/TabletServer.java    | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------



[11/15] git commit: Merge remote-tracking branch 'origin/1.5.3-SNAPSHOT' into 1.6.1-SNAPSHOT

Posted by el...@apache.org.
Merge remote-tracking branch 'origin/1.5.3-SNAPSHOT' into 1.6.1-SNAPSHOT


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

Branch: refs/heads/master
Commit: 984ba22daa54c39cc4f95864bf1ca4b441534676
Parents: 51ec5a1 6719c37
Author: Josh Elser <el...@apache.org>
Authored: Fri Sep 19 14:35:05 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Fri Sep 19 14:35:05 2014 -0400

----------------------------------------------------------------------
 pom.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/984ba22d/pom.xml
----------------------------------------------------------------------


[08/15] git commit: Merge branch '1.5.3-SNAPSHOT' into 1.6.1-SNAPSHOT

Posted by el...@apache.org.
Merge branch '1.5.3-SNAPSHOT' into 1.6.1-SNAPSHOT

Conflicts:
	assemble/pom.xml
	core/pom.xml
	examples/pom.xml
	examples/simple/pom.xml
	fate/pom.xml
	minicluster/pom.xml
	minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
	minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
	pom.xml
	proxy/pom.xml
	server/tserver/pom.xml
	start/pom.xml
	test/pom.xml
	trace/pom.xml


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

Branch: refs/heads/1.6.1-SNAPSHOT
Commit: 51ec5a16d4deaa9be426497ebe4b8c673df454ae
Parents: 5878a77 72fd6be
Author: Josh Elser <el...@apache.org>
Authored: Fri Sep 19 14:07:21 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Fri Sep 19 14:07:21 2014 -0400

----------------------------------------------------------------------
 .../impl/MiniAccumuloConfigImpl.java            | 64 ++++++++++----------
 .../minicluster/MiniAccumuloClusterTest.java    | 15 +++++
 pom.xml                                         |  2 +-
 3 files changed, 49 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/51ec5a16/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java
----------------------------------------------------------------------
diff --cc minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java
index 4878967,0000000..e9ad045
mode 100644,000000..100644
--- a/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java
+++ b/minicluster/src/main/java/org/apache/accumulo/minicluster/impl/MiniAccumuloConfigImpl.java
@@@ -1,568 -1,0 +1,570 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one or more
 + * contributor license agreements.  See the NOTICE file distributed with
 + * this work for additional information regarding copyright ownership.
 + * The ASF licenses this file to You under the Apache License, Version 2.0
 + * (the "License"); you may not use this file except in compliance with
 + * the License.  You may obtain a copy of the License at
 + *
 + *     http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing, software
 + * distributed under the License is distributed on an "AS IS" BASIS,
 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 + * See the License for the specific language governing permissions and
 + * limitations under the License.
 + */
 +package org.apache.accumulo.minicluster.impl;
 +
 +import java.io.File;
 +import java.io.IOException;
 +import java.util.HashMap;
 +import java.util.Iterator;
 +import java.util.Map;
 +import java.util.Map.Entry;
 +
 +import org.apache.accumulo.cluster.AccumuloConfig;
 +import org.apache.accumulo.core.conf.CredentialProviderFactoryShim;
 +import org.apache.accumulo.core.conf.Property;
 +import org.apache.accumulo.minicluster.MemoryUnit;
 +import org.apache.accumulo.minicluster.ServerType;
 +import org.apache.accumulo.server.util.PortUtils;
 +import org.apache.hadoop.conf.Configuration;
 +import org.apache.log4j.Logger;
 +
 +/**
 + * Holds configuration for {@link MiniAccumuloClusterImpl}. Required configurations must be passed to constructor(s) and all other configurations are optional.
-  * 
++ *
 + * @since 1.6.0
 + */
 +public class MiniAccumuloConfigImpl implements AccumuloConfig {
 +  private static final Logger log = Logger.getLogger(MiniAccumuloConfigImpl.class);
 +  private static final String DEFAULT_INSTANCE_SECRET = "DONTTELL";
 +
 +  private File dir = null;
 +  private String rootPassword = null;
 +  private Map<String,String> siteConfig = new HashMap<String,String>();
 +  private Map<String,String> configuredSiteConig = new HashMap<String,String>();
 +  private int numTservers = 2;
 +  private Map<ServerType,Long> memoryConfig = new HashMap<ServerType,Long>();
 +  private boolean jdwpEnabled = false;
 +  private Map<String,String> systemProperties = new HashMap<String,String>();
 +
 +  private String instanceName = "miniInstance";
 +
 +  private File libDir;
 +  private File libExtDir;
 +  private File confDir;
 +  private File zooKeeperDir;
 +  private File accumuloDir;
 +  private File logDir;
 +  private File walogDir;
 +
 +  private int zooKeeperPort = 0;
 +  private int configuredZooKeeperPort = 0;
 +  private long zooKeeperStartupTime = 20*1000;
 +
 +  private long defaultMemorySize = 128 * 1024 * 1024;
 +
 +  private boolean initialized = false;
 +
 +  private boolean useMiniDFS = false;
 +
 +  private boolean useCredentialProvider = false;
 +
 +  private String[] classpathItems = null;
 +
 +  private String[] nativePathItems = null;
 +
 +  /**
 +   * @param dir
 +   *          An empty or nonexistant directory that Accumulo and Zookeeper can store data in. Creating the directory is left to the user. Java 7, Guava, and
 +   *          Junit provide methods for creating temporary directories.
 +   * @param rootPassword
 +   *          The initial password for the Accumulo root user
 +   */
 +  public MiniAccumuloConfigImpl(File dir, String rootPassword) {
 +    this.dir = dir;
 +    this.rootPassword = rootPassword;
 +  }
 +
 +  /**
 +   * Set directories and fully populate site config
 +   */
 +  MiniAccumuloConfigImpl initialize() {
 +
 +    // Sanity checks
 +    if (this.getDir().exists() && !this.getDir().isDirectory())
 +      throw new IllegalArgumentException("Must pass in directory, " + this.getDir() + " is a file");
 +
 +    if (this.getDir().exists() && this.getDir().list().length != 0)
 +      throw new IllegalArgumentException("Directory " + this.getDir() + " is not empty");
 +
 +    if (!initialized) {
 +      libDir = new File(dir, "lib");
 +      libExtDir = new File(libDir, "ext");
 +      confDir = new File(dir, "conf");
 +      accumuloDir = new File(dir, "accumulo");
 +      zooKeeperDir = new File(dir, "zookeeper");
 +      logDir = new File(dir, "logs");
 +      walogDir = new File(dir, "walogs");
 +
 +      // TODO ACCUMULO-XXXX replace usage of instance.dfs.{dir,uri} with instance.volumes
 +      setInstanceLocation();
 +
 +      mergeProp(Property.INSTANCE_SECRET.getKey(), DEFAULT_INSTANCE_SECRET);
 +      mergeProp(Property.TSERV_PORTSEARCH.getKey(), "true");
 +      mergeProp(Property.LOGGER_DIR.getKey(), walogDir.getAbsolutePath());
 +      mergeProp(Property.TSERV_DATACACHE_SIZE.getKey(), "10M");
 +      mergeProp(Property.TSERV_INDEXCACHE_SIZE.getKey(), "10M");
 +      mergeProp(Property.TSERV_MAXMEM.getKey(), "50M");
 +      mergeProp(Property.TSERV_WALOG_MAX_SIZE.getKey(), "100M");
 +      mergeProp(Property.TSERV_NATIVEMAP_ENABLED.getKey(), "false");
 +      mergeProp(Property.TRACE_TOKEN_PROPERTY_PREFIX.getKey() + "password", getRootPassword());
 +      // since there is a small amount of memory, check more frequently for majc... setting may not be needed in 1.5
 +      mergeProp(Property.TSERV_MAJC_DELAY.getKey(), "3");
 +      mergeProp(Property.GENERAL_CLASSPATHS.getKey(), libDir.getAbsolutePath() + "/[^.].*[.]jar");
 +      mergeProp(Property.GENERAL_DYNAMIC_CLASSPATHS.getKey(), libExtDir.getAbsolutePath() + "/[^.].*[.]jar");
 +      mergeProp(Property.GC_CYCLE_DELAY.getKey(), "4s");
 +      mergeProp(Property.GC_CYCLE_START.getKey(), "0s");
 +      mergePropWithRandomPort(Property.MASTER_CLIENTPORT.getKey());
 +      mergePropWithRandomPort(Property.TRACE_PORT.getKey());
 +      mergePropWithRandomPort(Property.TSERV_CLIENTPORT.getKey());
 +      mergePropWithRandomPort(Property.MONITOR_PORT.getKey());
 +      mergePropWithRandomPort(Property.GC_PORT.getKey());
++      mergePropWithRandomPort(Property.MONITOR_LOG4J_PORT.getKey());
 +
 +      if (isUseCredentialProvider()) {
 +        updateConfigForCredentialProvider();
 +      }
 +
 +      // zookeeper port should be set explicitly in this class, not just on the site config
 +      if (zooKeeperPort == 0)
 +        zooKeeperPort = PortUtils.getRandomFreePort();
 +      siteConfig.put(Property.INSTANCE_ZK_HOST.getKey(), "localhost:" + zooKeeperPort);
 +      initialized = true;
 +    }
 +    return this;
 +  }
 +
 +  private void updateConfigForCredentialProvider() {
 +    String cpPaths = siteConfig.get(Property.GENERAL_SECURITY_CREDENTIAL_PROVIDER_PATHS.getKey());
 +    if (null != cpPaths && !Property.GENERAL_SECURITY_CREDENTIAL_PROVIDER_PATHS.getDefaultValue().equals(cpPaths)) {
 +      // Already configured
 +      return;
 +    }
 +
 +    if (!CredentialProviderFactoryShim.isHadoopCredentialProviderAvailable()) {
 +      throw new RuntimeException("Cannot use CredentialProvider when implementation is not available. Be sure to use >=Hadoop-2.6.0");
 +    }
 +
 +    File keystoreFile = new File(getConfDir(), "credential-provider.jks");
 +    String keystoreUri = "jceks://file" + keystoreFile.getAbsolutePath();
 +    Configuration conf = CredentialProviderFactoryShim.getConfiguration(keystoreUri);
 +
 +    // Set the URI on the siteCfg
 +    siteConfig.put(Property.GENERAL_SECURITY_CREDENTIAL_PROVIDER_PATHS.getKey(), keystoreUri);
 +
 +    Iterator<Entry<String,String>> entries = siteConfig.entrySet().iterator();
 +    while (entries.hasNext()) {
 +      Entry<String,String> entry = entries.next();
 +
 +      // Not a @Sensitive Property, ignore it
 +      if (!Property.isSensitive(entry.getKey())) {
 +        continue;
 +      }
 +
 +      // Add the @Sensitive Property to the CredentialProvider
 +      try {
 +        CredentialProviderFactoryShim.createEntry(conf, entry.getKey(), entry.getValue().toCharArray());
 +      } catch (IOException e) {
 +        log.warn("Attempted to add " + entry.getKey() + " to CredentialProvider but failed", e);
 +        continue;
 +      }
 +
 +      // Only remove it from the siteCfg if we succeeded in adding it to the CredentialProvider
 +      entries.remove();
 +    }
 +  }
 +
 +  @SuppressWarnings("deprecation")
 +  private void setInstanceLocation() {
 +    mergeProp(Property.INSTANCE_DFS_URI.getKey(), "file:///");
 +    mergeProp(Property.INSTANCE_DFS_DIR.getKey(), accumuloDir.getAbsolutePath());
 +  }
 +
 +  /**
 +   * Set a given key/value on the site config if it doesn't already exist
 +   */
 +  private void mergeProp(String key, String value) {
 +    if (!siteConfig.containsKey(key)) {
 +      siteConfig.put(key, value);
 +    }
 +  }
 +
 +  /**
 +   * Sets a given key with a random port for the value on the site config if it doesn't already exist.
 +   */
 +  private void mergePropWithRandomPort(String key) {
 +    if (!siteConfig.containsKey(key)) {
 +      siteConfig.put(key, "0");
 +    }
 +  }
 +
 +  /**
 +   * Calling this method is optional. If not set, it defaults to two.
-    * 
++   *
 +   * @param numTservers
 +   *          the number of tablet servers that mini accumulo cluster should start
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setNumTservers(int numTservers) {
 +    if (numTservers < 1)
 +      throw new IllegalArgumentException("Must have at least one tablet server");
 +    this.numTservers = numTservers;
 +    return this;
 +  }
 +
 +  /**
 +   * Calling this method is optional. If not set, defaults to 'miniInstance'
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setInstanceName(String instanceName) {
 +    this.instanceName = instanceName;
 +    return this;
 +  }
 +
 +  /**
 +   * Calling this method is optional. If not set, it defaults to an empty map.
-    * 
++   *
 +   * @param siteConfig
 +   *          key/values that you normally put in accumulo-site.xml can be put here.
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setSiteConfig(Map<String,String> siteConfig) {
 +    this.siteConfig = new HashMap<String,String>(siteConfig);
 +    this.configuredSiteConig = new HashMap<String,String>(siteConfig);
 +    return this;
 +  }
 +
 +  /**
 +   * Calling this method is optional. A random port is generated by default
-    * 
++   *
 +   * @param zooKeeperPort
 +   *          A valid (and unused) port to use for the zookeeper
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setZooKeeperPort(int zooKeeperPort) {
 +    this.configuredZooKeeperPort = zooKeeperPort;
 +    this.zooKeeperPort = zooKeeperPort;
 +    return this;
 +  }
 +
 +  /**
 +   * Configure the time to wait for ZooKeeper to startup.
 +   * Calling this method is optional. The default is 20000 milliseconds
-    * 
++   *
 +   * @param zooKeeperStartupTime
 +   *          Time to wait for ZooKeeper to startup, in milliseconds
-    * 
++   *
 +   * @since 1.6.1
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setZooKeeperStartupTime(long zooKeeperStartupTime) {
 +    this.zooKeeperStartupTime = zooKeeperStartupTime;
 +    return this;
 +  }
 +
 +  /**
 +   * Sets the amount of memory to use in the master process. Calling this method is optional. Default memory is 128M
-    * 
++   *
 +   * @param serverType
 +   *          the type of server to apply the memory settings
 +   * @param memory
 +   *          amount of memory to set
-    * 
++   *
 +   * @param memoryUnit
 +   *          the units for which to apply with the memory size
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setMemory(ServerType serverType, long memory, MemoryUnit memoryUnit) {
 +    this.memoryConfig.put(serverType, memoryUnit.toBytes(memory));
 +    return this;
 +  }
 +
 +  /**
 +   * Sets the default memory size to use. This value is also used when a ServerType has not been configured explicitly. Calling this method is optional. Default
 +   * memory is 128M
-    * 
++   *
 +   * @param memory
 +   *          amount of memory to set
-    * 
++   *
 +   * @param memoryUnit
 +   *          the units for which to apply with the memory size
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setDefaultMemory(long memory, MemoryUnit memoryUnit) {
 +    this.defaultMemorySize = memoryUnit.toBytes(memory);
 +    return this;
 +  }
 +
 +  /**
 +   * @return a copy of the site config
 +   */
 +  @Override
 +  public Map<String,String> getSiteConfig() {
 +    return new HashMap<String,String>(siteConfig);
 +  }
 +
 +  public Map<String,String> getConfiguredSiteConfig() {
 +    return new HashMap<String,String>(configuredSiteConig);
 +  }
 +
 +  /**
 +   * @return name of configured instance
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public String getInstanceName() {
 +    return instanceName;
 +  }
 +
 +  /**
 +   * @return The configured zookeeper port
-    * 
++   *
 +   * @since 1.6.0
 +   */
++  @Override
 +  public int getZooKeeperPort() {
 +    return zooKeeperPort;
 +  }
 +
 +  public int getConfiguredZooKeeperPort() {
 +    return configuredZooKeeperPort;
 +  }
 +
 +  public long getZooKeeperStartupTime() {
 +    return zooKeeperStartupTime;
 +  }
 +
 +  File getLibDir() {
 +    return libDir;
 +  }
 +
 +  File getLibExtDir() {
 +    return libExtDir;
 +  }
 +
 +  public File getConfDir() {
 +    return confDir;
 +  }
 +
 +  File getZooKeeperDir() {
 +    return zooKeeperDir;
 +  }
 +
 +  public File getAccumuloDir() {
 +    return accumuloDir;
 +  }
 +
 +  public File getLogDir() {
 +    return logDir;
 +  }
 +
 +  File getWalogDir() {
 +    return walogDir;
 +  }
 +
 +  /**
 +   * @param serverType
 +   *          get configuration for this server type
-    * 
++   *
 +   * @return memory configured in bytes, returns default if this server type is not configured
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public long getMemory(ServerType serverType) {
 +    return memoryConfig.containsKey(serverType) ? memoryConfig.get(serverType) : defaultMemorySize;
 +  }
 +
 +  /**
 +   * @return memory configured in bytes
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public long getDefaultMemory() {
 +    return defaultMemorySize;
 +  }
 +
 +  /**
 +   * @return zookeeper connection string
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public String getZooKeepers() {
 +    return siteConfig.get(Property.INSTANCE_ZK_HOST.getKey());
 +  }
 +
 +  /**
 +   * @return the base directory of the cluster configuration
 +   */
 +  public File getDir() {
 +    return dir;
 +  }
 +
 +  /**
 +   * @return the root password of this cluster configuration
 +   */
 +  @Override
 +  public String getRootPassword() {
 +    return rootPassword;
 +  }
 +
 +  /**
 +   * @return the number of tservers configured for this cluster
 +   */
 +  @Override
 +  public int getNumTservers() {
 +    return numTservers;
 +  }
 +
 +  /**
 +   * @return is the current configuration in jdwpEnabled mode?
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public boolean isJDWPEnabled() {
 +    return jdwpEnabled;
 +  }
 +
 +  /**
 +   * @param jdwpEnabled
 +   *          should the processes run remote jdwpEnabled servers?
 +   * @return the current instance
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public MiniAccumuloConfigImpl setJDWPEnabled(boolean jdwpEnabled) {
 +    this.jdwpEnabled = jdwpEnabled;
 +    return this;
 +  }
 +
 +  public boolean useMiniDFS() {
 +    return useMiniDFS;
 +  }
 +
 +  public void useMiniDFS(boolean useMiniDFS) {
 +    this.useMiniDFS = useMiniDFS;
 +  }
 +
 +  /**
 +   * @return location of client conf file containing connection parameters for connecting to this minicluster
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public File getClientConfFile() {
 +    return new File(getConfDir(), "client.conf");
 +  }
 +
 +  /**
 +   * sets system properties set for service processes
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public void setSystemProperties(Map<String,String> systemProperties) {
 +    this.systemProperties = new HashMap<String,String>(systemProperties);
 +  }
 +
 +  /**
 +   * @return a copy of the system properties for service processes
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public Map<String,String> getSystemProperties() {
 +    return new HashMap<String,String>(systemProperties);
 +  }
 +
 +  /**
 +   * Gets the classpath elements to use when spawning processes.
-    * 
++   *
 +   * @return the classpathItems, if set
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public String[] getClasspathItems() {
 +    return classpathItems;
 +  }
 +
 +  /**
 +   * Sets the classpath elements to use when spawning processes.
-    * 
++   *
 +   * @param classpathItems
 +   *          the classpathItems to set
 +   * @since 1.6.0
 +   */
 +  public void setClasspathItems(String... classpathItems) {
 +    this.classpathItems = classpathItems;
 +  }
 +
 +  /**
 +   * @return the paths to use for loading native libraries
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public String[] getNativeLibPaths() {
 +    return this.nativePathItems == null ? new String[0] : this.nativePathItems;
 +  }
 +
 +  /**
 +   * Sets the path for processes to use for loading native libraries
-    * 
++   *
 +   * @param nativePathItems
 +   *          the nativePathItems to set
 +   * @since 1.6.0
 +   */
 +  @Override
 +  public MiniAccumuloConfigImpl setNativeLibPaths(String... nativePathItems) {
 +    this.nativePathItems = nativePathItems;
 +    return this;
 +  }
 +
 +  /**
 +   * Sets arbitrary configuration properties.
-    * 
++   *
 +   * @since 1.6.0
 +   */
 +  public void setProperty(Property p, String value) {
 +    this.siteConfig.put(p.getKey(), value);
 +  }
 +
 +  /**
 +   * @return the useCredentialProvider
 +   */
 +  public boolean isUseCredentialProvider() {
 +    return useCredentialProvider;
 +  }
 +
 +  /**
 +   * @param useCredentialProvider the useCredentialProvider to set
 +   */
 +  public void setUseCredentialProvider(boolean useCredentialProvider) {
 +    this.useCredentialProvider = useCredentialProvider;
 +  }
 +
 +  @Override
 +  public MiniAccumuloClusterImpl build() throws IOException {
 +    return new MiniAccumuloClusterImpl(this);
 +  }
 +}

http://git-wip-us.apache.org/repos/asf/accumulo/blob/51ec5a16/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
----------------------------------------------------------------------
diff --cc minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
index ec228af,d1d64aa..341ec8b
--- a/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
+++ b/minicluster/src/test/java/org/apache/accumulo/minicluster/MiniAccumuloClusterTest.java
@@@ -40,9 -37,8 +40,10 @@@ import org.apache.accumulo.core.iterato
  import org.apache.accumulo.core.security.Authorizations;
  import org.apache.accumulo.core.security.ColumnVisibility;
  import org.apache.accumulo.core.security.TablePermission;
 +import org.apache.accumulo.core.util.Pair;
  import org.apache.commons.io.FileUtils;
+ import org.apache.hadoop.conf.Configuration;
 +import org.apache.hadoop.hdfs.DFSConfigKeys;
  import org.junit.AfterClass;
  import org.junit.Assert;
  import org.junit.BeforeClass;
@@@ -197,27 -175,23 +198,41 @@@ public class MiniAccumuloClusterTest 
  
      conn.instanceOperations().removeProperty(Property.VFS_CONTEXT_CLASSPATH_PROPERTY.getKey() + "cx1");
      conn.tableOperations().delete("table2");
 +  }
 +
 +  @Test(timeout = 10000)
 +  public void testDebugPorts() {
 +
 +    Set<Pair<ServerType,Integer>> debugPorts = accumulo.getDebugPorts();
 +    Assert.assertEquals(5, debugPorts.size());
 +    for (Pair<ServerType,Integer> debugPort : debugPorts) {
 +      Assert.assertTrue(debugPort.getSecond() > 0);
 +    }
 +  }
  
 +  @Test
 +  public void testConfig() {
 +    // ensure what user passed in is what comes back
 +    Assert.assertEquals(0, accumulo.getConfig().getZooKeeperPort());
 +    HashMap<String,String> site = new HashMap<String,String>();
 +    site.put(Property.TSERV_WORKQ_THREADS.getKey(), "2");
 +    Assert.assertEquals(site, accumulo.getConfig().getSiteConfig());
    }
  
+   @Test
+   public void testRandomPorts() throws Exception {
 -    File confDir = new File(folder.getRoot(), "conf");
++    File confDir = new File(testDir, "conf");
+     File accumuloSite = new File(confDir, "accumulo-site.xml");
+     Configuration conf = new Configuration(false);
+     conf.addResource(accumuloSite.toURI().toURL());
+     for (Property randomPortProp : new Property[] {Property.TSERV_CLIENTPORT, Property.MONITOR_PORT, Property.MONITOR_LOG4J_PORT, Property.MASTER_CLIENTPORT,
+         Property.TRACE_PORT, Property.GC_PORT}) {
+       String value = conf.get(randomPortProp.getKey());
+       Assert.assertNotNull("Found no value for " + randomPortProp, value);
+       Assert.assertEquals("0", value);
+     }
+   }
+ 
    @AfterClass
    public static void tearDownMiniCluster() throws Exception {
      accumulo.stop();

http://git-wip-us.apache.org/repos/asf/accumulo/blob/51ec5a16/pom.xml
----------------------------------------------------------------------


[13/15] git commit: Merge remote-tracking branch 'origin/1.6.1-SNAPSHOT' into 1.6.1-SNAPSHOT

Posted by el...@apache.org.
Merge remote-tracking branch 'origin/1.6.1-SNAPSHOT' into 1.6.1-SNAPSHOT


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

Branch: refs/heads/master
Commit: 3c6876d1415081a0eac73e41503863cb68b2dfd8
Parents: 984ba22 287e4a6
Author: Josh Elser <el...@apache.org>
Authored: Fri Sep 19 14:35:15 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Fri Sep 19 14:35:15 2014 -0400

----------------------------------------------------------------------
 .../java/org/apache/accumulo/monitor/servlets/ScanServlet.java | 2 +-
 .../main/java/org/apache/accumulo/tserver/TabletServer.java    | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------



[03/15] git commit: ACCUMULO-3048 Bump to 1.5.3-SNAPSHOT

Posted by el...@apache.org.
ACCUMULO-3048 Bump to 1.5.3-SNAPSHOT


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

Branch: refs/heads/1.6.1-SNAPSHOT
Commit: c170f011019c558f4bf00020720822e7dfcc087c
Parents: 039a2c2
Author: Josh Elser <el...@apache.org>
Authored: Thu Sep 18 23:34:20 2014 -0400
Committer: Josh Elser <el...@apache.org>
Committed: Thu Sep 18 23:34:20 2014 -0400

----------------------------------------------------------------------
 assemble/pom.xml        | 2 +-
 core/pom.xml            | 2 +-
 examples/pom.xml        | 2 +-
 examples/simple/pom.xml | 2 +-
 fate/pom.xml            | 2 +-
 minicluster/pom.xml     | 2 +-
 pom.xml                 | 2 +-
 proxy/pom.xml           | 2 +-
 server/pom.xml          | 2 +-
 start/pom.xml           | 2 +-
 test/pom.xml            | 2 +-
 trace/pom.xml           | 2 +-
 12 files changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/assemble/pom.xml
----------------------------------------------------------------------
diff --git a/assemble/pom.xml b/assemble/pom.xml
index b4e413f..2930a66 100644
--- a/assemble/pom.xml
+++ b/assemble/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo</artifactId>
   <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/core/pom.xml
----------------------------------------------------------------------
diff --git a/core/pom.xml b/core/pom.xml
index ddc2dd1..0267e16 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-core</artifactId>
   <name>Core</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/examples/pom.xml
----------------------------------------------------------------------
diff --git a/examples/pom.xml b/examples/pom.xml
index cde29f4..fac7c74 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-examples</artifactId>
   <packaging>pom</packaging>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/examples/simple/pom.xml
----------------------------------------------------------------------
diff --git a/examples/simple/pom.xml b/examples/simple/pom.xml
index 4760718..8e75586 100644
--- a/examples/simple/pom.xml
+++ b/examples/simple/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-examples</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-examples-simple</artifactId>
   <name>Simple Examples</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/fate/pom.xml
----------------------------------------------------------------------
diff --git a/fate/pom.xml b/fate/pom.xml
index f73d13c..24413fd 100644
--- a/fate/pom.xml
+++ b/fate/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-fate</artifactId>
   <name>Fate</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/minicluster/pom.xml
----------------------------------------------------------------------
diff --git a/minicluster/pom.xml b/minicluster/pom.xml
index 8e73593..4afe113 100644
--- a/minicluster/pom.xml
+++ b/minicluster/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-minicluster</artifactId>
   <name>MiniCluster</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 8e2a3b9..9d0c251 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
   </parent>
   <groupId>org.apache.accumulo</groupId>
   <artifactId>accumulo-project</artifactId>
-  <version>1.5.2</version>
+  <version>1.5.3-SNAPSHOT</version>
   <packaging>pom</packaging>
   <name>Apache Accumulo Project</name>
   <description>Apache Accumulo is a sorted, distributed key/value store based on Google's BigTable design. It is built on top of Apache Hadoop, Zookeeper, and Thrift. It features a few novel improvements on the BigTable design in the form of cell-level access labels and a server-side programming mechanism that can modify key/value pairs at various points in the data management process.</description>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/proxy/pom.xml
----------------------------------------------------------------------
diff --git a/proxy/pom.xml b/proxy/pom.xml
index 7a21bae..d66a329 100644
--- a/proxy/pom.xml
+++ b/proxy/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-proxy</artifactId>
   <name>Proxy</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index 525735d..edf9e4f 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-server</artifactId>
   <name>Server</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/start/pom.xml
----------------------------------------------------------------------
diff --git a/start/pom.xml b/start/pom.xml
index 5c7b64c..6f8817e 100644
--- a/start/pom.xml
+++ b/start/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-start</artifactId>
   <name>Start</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/test/pom.xml
----------------------------------------------------------------------
diff --git a/test/pom.xml b/test/pom.xml
index 4b1a414..330f683 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-test</artifactId>
   <name>Testing</name>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/c170f011/trace/pom.xml
----------------------------------------------------------------------
diff --git a/trace/pom.xml b/trace/pom.xml
index b3c5100..a997725 100644
--- a/trace/pom.xml
+++ b/trace/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.apache.accumulo</groupId>
     <artifactId>accumulo-project</artifactId>
-    <version>1.5.2</version>
+    <version>1.5.3-SNAPSHOT</version>
   </parent>
   <artifactId>accumulo-trace</artifactId>
   <name>Trace</name>