You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by md...@apache.org on 2014/01/07 01:24:24 UTC

[01/18] git commit: ACCUMULO-1933 Make unit on memory parameters case-insensitive.

Updated Branches:
  refs/heads/1.4.5-SNAPSHOT 65d5fba87 -> 71f150a77
  refs/heads/1.5.1-SNAPSHOT 65aaddd17 -> a91ee4dde
  refs/heads/1.6.0-SNAPSHOT 4a8738349 -> ee3ccb82d
  refs/heads/master e2e7d2e5c -> b8bd259d0


ACCUMULO-1933 Make unit on memory parameters case-insensitive.

1. Added support for both cases for G, M, K and B

2. Added warning message for lower case b and that the code will consider this bytes

3. Added meaningful error message for any number formatting issues

4. Added unit test that test 1 and 3 from above.

 modified:   src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java

 new file:   src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java


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

Branch: refs/heads/1.5.1-SNAPSHOT
Commit: 65d5fba87830191844d3812d0ce3ca0a415be6e2
Parents: e946ba0
Author: tmalaska <te...@cloudera.com>
Authored: Thu Jan 2 15:43:08 2014 -0500
Committer: John Vines <vi...@apache.org>
Committed: Mon Jan 6 18:17:48 2014 -0500

----------------------------------------------------------------------
 .../core/conf/AccumuloConfiguration.java        | 35 +++++++++-----
 .../core/conf/AccumuloConfigurationTest.java    | 48 ++++++++++++++++++++
 2 files changed, 72 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/65d5fba8/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java b/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
index ae123bc..1b046e2 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
@@ -50,17 +50,30 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
   
   static public long getMemoryInBytes(String str) {
     int multiplier = 0;
-    switch (str.charAt(str.length() - 1)) {
-      case 'G':
-        multiplier += 10;
-      case 'M':
-        multiplier += 10;
-      case 'K':
-        multiplier += 10;
-      case 'B':
-        return Long.parseLong(str.substring(0, str.length() - 1)) << multiplier;
-      default:
-        return Long.parseLong(str);
+    char lastChar = str.charAt(str.length() - 1);
+    
+    if (lastChar == 'b') {
+      log.warn("The 'b' in " + str + 
+          " is being considered as bytes. " + 
+          "Setting memory by bits is not supported");
+    }
+    try {
+      switch (Character.toUpperCase(lastChar)) {
+        case 'G':
+          multiplier += 10;
+        case 'M':
+          multiplier += 10;
+        case 'K':
+          multiplier += 10;
+        case 'B':
+          return Long.parseLong(str.substring(0, str.length() - 1)) << multiplier;
+        default:
+          return Long.parseLong(str);
+      }
+    } catch (Exception ex) {
+      throw new IllegalArgumentException("The value '" + str + 
+          "' is not a valid memory setting. A valid value would a number " +
+          "possibily followed by an optional 'G', 'M', 'K', or 'B'.");
     }
   }
   

http://git-wip-us.apache.org/repos/asf/accumulo/blob/65d5fba8/src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
----------------------------------------------------------------------
diff --git a/src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java b/src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
new file mode 100644
index 0000000..a115215
--- /dev/null
+++ b/src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
@@ -0,0 +1,48 @@
+/*
+ * 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.core.conf;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+public class AccumuloConfigurationTest {
+
+  @Test
+  public void testGetMemoryInBytes() throws Exception {
+    assertEquals(42l, AccumuloConfiguration.getMemoryInBytes("42"));
+    assertEquals(42l, AccumuloConfiguration.getMemoryInBytes("42b"));
+    assertEquals(42l, AccumuloConfiguration.getMemoryInBytes("42B"));
+    assertEquals(42l * 1024l, AccumuloConfiguration.getMemoryInBytes("42K"));
+    assertEquals(42l * 1024l, AccumuloConfiguration.getMemoryInBytes("42k"));
+    assertEquals(42l * 1024l * 1024l, AccumuloConfiguration.getMemoryInBytes("42M"));
+    assertEquals(42l * 1024l * 1024l, AccumuloConfiguration.getMemoryInBytes("42m"));
+    assertEquals(42l * 1024l * 1024l * 1024l, AccumuloConfiguration.getMemoryInBytes("42G"));
+    assertEquals(42l * 1024l * 1024l * 1024l, AccumuloConfiguration.getMemoryInBytes("42g"));
+    
+  }
+  
+  @Test(expected = IllegalArgumentException.class)  
+  public void testGetMemoryInBytesFailureCases1() throws Exception {
+    AccumuloConfiguration.getMemoryInBytes("42x");
+  }
+  
+  @Test(expected = IllegalArgumentException.class)  
+  public void testGetMemoryInBytesFailureCases2() throws Exception {
+    AccumuloConfiguration.getMemoryInBytes("FooBar");
+  }
+}
\ No newline at end of file


[14/18] git commit: Merge branch '1.4.5-SNAPSHOT' into 1.5.1-SNAPSHOT

Posted by md...@apache.org.
Merge branch '1.4.5-SNAPSHOT' into 1.5.1-SNAPSHOT


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

Branch: refs/heads/1.5.1-SNAPSHOT
Commit: a91ee4dde68fd96e2fb3014d2a811b860564979e
Parents: 65aaddd 71f150a
Author: Mike Drob <md...@cloudera.com>
Authored: Mon Jan 6 16:14:20 2014 -0800
Committer: Mike Drob <md...@cloudera.com>
Committed: Mon Jan 6 16:14:20 2014 -0800

----------------------------------------------------------------------
 README       | 10 +++++-----
 pom.xml      | 45 ++++++++++++++++++++++++++++++++++++---------
 test/pom.xml | 36 +++++++++++++++++++++++++++++-------
 3 files changed, 70 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/a91ee4dd/README
----------------------------------------------------------------------
diff --cc README
index a100077,f32d606..b0fbcbd
--- a/README
+++ b/README
@@@ -11,21 -11,21 +11,21 @@@ key/value pairs at various points in th
  1. Building
  
  In the normal tarball or RPM release of accumulo, everything is built and
 -ready to go on x86 GNU/Linux for Hadoop 0.20.x and Hadoop 1.x: there is no
 -build step.
 +ready to go on x86 GNU/Linux: there is no build step.
  
 -However, if you only have source code, or you wish to make changes, or you
 -wish to run under a different version of Hadoop, you need to have Maven
 -configured to get Accumulo prerequisites from repositories.  See the pom.xml
 -file for the necessary components.
 +However, if you only have source code, or you wish to make changes, you need to
 +have maven configured to get Accumulo prerequisites from repositories.  See
 +the pom.xml file for the necessary components. Activate the 'docs' profile to build
 +the Accumulo developer and user manual.
  
 -Run "mvn package && mvn assembly:single -N". By default, Accumulo compiles
 -against Hadoop 0.20.203.0.  To compile against a different version
 +Run "mvn package -P assemble" to build a distribution, or run 
 +"mvn package -P assemble,docs" to also build the documentation. By default, 
- Accumulo compiles against Hadoop 1.0.4.  To compile against a different version
- that is compatible with Hadoop 1.0, specify hadoop.version on the command line,
++Accumulo compiles against Hadoop 1.2.1.  To compile against a different version
+ that is compatible with Hadoop 1, specify hadoop.version on the command line,
  e.g. "-Dhadoop.version=0.20.205.0" or "-Dhadoop.version=1.1.0".  To compile 
- against Hadoop 2.0, specify "-Dhadoop.profile=2.0".  By default this uses
- 2.0.4-alpha.  To compile against a different 2.0-compatible version, specify
- the profile and version, e.g. "-Dhadoop.profile=2.0 -Dhadoop.version=0.23.5".
+ against Hadoop 2, specify "-Dhadoop.profile=2".  By default this uses
 -2.2.0.  To compile against a different Hadoop 2-compatible version, specify
++2.2.0.  To compile against a different 2-compatible version, specify
+ the profile and version, e.g. "-Dhadoop.profile=2 -Dhadoop.version=0.23.5".
  
  If you are running on another Unix-like operating system (OSX, etc) then
  you may wish to build the native libraries.  They are not strictly necessary

http://git-wip-us.apache.org/repos/asf/accumulo/blob/a91ee4dd/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index 241d116,92d8106..2d5f663
--- a/pom.xml
+++ b/pom.xml
@@@ -20,337 -21,316 +20,337 @@@
    <parent>
      <groupId>org.apache</groupId>
      <artifactId>apache</artifactId>
 -    <version>10</version>
 +    <version>13</version>
    </parent>
 -
 -
    <groupId>org.apache.accumulo</groupId>
 -  <artifactId>accumulo</artifactId>
 +  <artifactId>accumulo-project</artifactId>
 +  <version>1.5.1-SNAPSHOT</version>
    <packaging>pom</packaging>
 -  <version>1.4.5-SNAPSHOT</version>
 -  <name>accumulo</name>
 -
 +  <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>
 +  <!-- this URL is where the site derived via the maven-site-plugin ends up, not the generic site -->
 +  <url>http://accumulo.apache.org/maven-site/</url>
 +  <organization>
 +    <name>Apache Accumulo Project</name>
 +    <url>http://accumulo.apache.org/</url>
 +  </organization>
 +  <licenses>
 +    <license>
 +      <name>Apache License, Version 2.0</name>
 +      <url>http://www.apache.org/licenses/LICENSE-2.0</url>
 +    </license>
 +  </licenses>
 +  <mailingLists>
 +    <mailingList>
 +      <name>User</name>
 +      <subscribe>user-subscribe@accumulo.apache.org</subscribe>
 +      <unsubscribe>user-unsubscribe@accumulo.apache.org</unsubscribe>
 +      <post>user@accumulo.apache.org</post>
 +      <archive>http://mail-archives.apache.org/mod_mbox/accumulo-user</archive>
 +    </mailingList>
 +    <mailingList>
 +      <name>Dev</name>
 +      <subscribe>dev-subscribe@accumulo.apache.org</subscribe>
 +      <unsubscribe>dev-unsubscribe@accumulo.apache.org</unsubscribe>
 +      <post>dev@accumulo.apache.org</post>
 +      <archive>http://mail-archives.apache.org/mod_mbox/accumulo-dev</archive>
 +    </mailingList>
 +    <mailingList>
 +      <name>Commits</name>
 +      <subscribe>commits-subscribe@accumulo.apache.org</subscribe>
 +      <unsubscribe>commits-unsubscribe@accumulo.apache.org</unsubscribe>
 +      <archive>http://mail-archives.apache.org/mod_mbox/accumulo-commits</archive>
 +    </mailingList>
 +    <mailingList>
 +      <name>Notifications</name>
 +      <subscribe>notifications-subscribe@accumulo.apache.org</subscribe>
 +      <unsubscribe>notifications-unsubscribe@accumulo.apache.org</unsubscribe>
 +      <archive>http://mail-archives.apache.org/mod_mbox/accumulo-notifications</archive>
 +    </mailingList>
 +  </mailingLists>
 +  <prerequisites>
 +    <maven>${maven.min-version}</maven>
 +  </prerequisites>
    <modules>
 -    <module>src/trace</module>
 -    <module>src/core</module>
 -    <module>src/server</module>
 -    <module>src/start</module>
 -    <module>src/examples</module>
 -    <module>src/proxy</module>
 -    <module>src/minicluster</module>
 +    <module>trace</module>
 +    <module>core</module>
 +    <module>fate</module>
 +    <module>server</module>
 +    <module>start</module>
 +    <module>examples</module>
 +    <module>assemble</module>
 +    <module>proxy</module>
 +    <module>test</module>
 +    <module>minicluster</module>
    </modules>
 -
 -  <build>
 -    <resources>
 -      <resource>
 -        <directory>${basedir}/src/main/resources</directory>
 -      </resource>
 -    </resources>
 -    <defaultGoal>package</defaultGoal>
 -    <plugins>
 -      <plugin>
 -        <groupId>org.apache.maven.plugins</groupId>
 -        <artifactId>maven-enforcer-plugin</artifactId>
 -        <executions>
 -          <execution>
 -            <id>enforce-mvn</id>
 -            <goals>
 -              <goal>enforce</goal>
 -            </goals>
 -            <configuration>
 -              <rules>
 -                <requireMavenVersion>
 -                  <version>[2.0.9,)</version>
 -                </requireMavenVersion>
 -                <requireProperty>
 -                  <property>hadoop.profile</property>
 -                  <regex>(1|2)</regex>
 -                  <regexMessage>You should specify the Hadoop profile by major Hadoop generation, i.e. 1 or 2, not by a version number.
 -    Use hadoop.version to use a particular Hadoop version within that generation. See README for more details.</regexMessage>
 -                </requireProperty>
 -              </rules>
 -            </configuration>
 -          </execution>
 -        </executions>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-clean-plugin</artifactId>
 -        <configuration>
 -          <filesets>
 -            <fileset>
 -              <directory>lib</directory>
 -              <includes>
 -                <include>*.jar</include>
 -              </includes>
 -            </fileset>
 -            <fileset>
 -              <directory>docs/apidocs</directory>
 -            </fileset>
 -            <fileset>
 -              <directory>test</directory>
 -              <includes>
 -                <include>**/*.so</include>
 -              </includes>
 -            </fileset>
 -            <fileset>
 -              <directory>./</directory>
 -              <includes>
 -                <include>**/*.pyc</include>
 -              </includes>
 -            </fileset>
 -          </filesets>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <groupId>com.github.koraktor</groupId>
 -        <artifactId>mavanagaiata</artifactId>
 -        <executions>
 -          <execution>
 -            <id>git-commit</id>
 -            <phase>validate</phase>
 -            <goals>
 -              <goal>commit</goal>
 -            </goals>
 -          </execution>
 -        </executions>
 -      </plugin>
 -      <plugin>
 -        <groupId>org.apache.maven.plugins</groupId>
 -        <artifactId>maven-dependency-plugin</artifactId>
 -        <executions>
 -          <execution>
 -            <id>copy-dependencies</id>
 -            <phase>process-resources</phase>
 -            <goals>
 -              <goal>copy-dependencies</goal>
 -            </goals>
 -            <configuration>
 -              <outputDirectory>../../lib</outputDirectory>
 -              <!-- just grab the non-provided runtime dependencies -->
 -              <includeArtifactIds>commons-collections,commons-configuration,commons-io,commons-lang,jline,log4j,libthrift,commons-jci-core,commons-jci-fam,commons-logging,commons-logging-api,guava</includeArtifactIds>
 -              <excludeTransitive>true</excludeTransitive>
 -            </configuration>
 -          </execution>
 -        </executions>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-jar-plugin</artifactId>
 -        <configuration>
 -          <outputDirectory>../../lib</outputDirectory>
 -          <archive>
 -            <manifest>
 -              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
 -              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
 -            </manifest>
 -            <manifestEntries>
 -              <Implementation-Build>${mvngit.commit.id}</Implementation-Build>
 -            </manifestEntries>
 -          </archive>
 -          <includes>
 -            <include>cloudtrace/**</include>
 -            <include>org/apache/accumulo**/**</include>
 -            <include>web/**</include>
 -            <include>randomwalk/**</include>
 -            <include>*.*</include>
 -            <include>**/META-INF/*</include>
 -          </includes>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-resources-plugin</artifactId>
 -        <configuration>
 -          <encoding>UTF-8</encoding>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-assembly-plugin</artifactId>
 -        <configuration>
 -          <descriptors>
 -            <descriptor>src/assemble/dist.xml</descriptor>
 -          </descriptors>
 -          <tarLongFileMode>gnu</tarLongFileMode>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-compiler-plugin</artifactId>
 -        <configuration>
 -          <source>1.6</source>
 -          <target>1.6</target>
 -          <optimize>true</optimize>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-javadoc-plugin</artifactId>
 -        <configuration>
 -          <encoding>UTF-8</encoding>
 -          <quiet>true</quiet>
 -          <jarOutputDirectory>lib</jarOutputDirectory>
 -          <reportOutputDirectory>docs</reportOutputDirectory>
 -          <javadocVersion>1.6</javadocVersion>
 -          <additionalJOption>-J-Xmx512m</additionalJOption>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-source-plugin</artifactId>
 -        <configuration>
 -          <outputDirectory>../../lib</outputDirectory>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-surefire-plugin</artifactId>
 -        <configuration>
 -          <environmentVariables>
 -            <ACCUMULO_HOME>../..</ACCUMULO_HOME>
 -          </environmentVariables>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <groupId>org.codehaus.mojo</groupId>
 -        <artifactId>rpm-maven-plugin</artifactId>
 -        <version>2.1-alpha-3</version>
 -        <inherited>false</inherited>
 -        <configuration>
 -          <name>accumulo</name>
 -          <projversion>${project.version}</projversion>
 -          <summary>Apache Accumulo BigTable clone</summary>
 -          <description>
 -            Apache Accumulo is a large distributed structured store based on
 -            Google's BigTable design.
 -          </description>
 -          <copyright>2011 The Apache Software Foundation.</copyright>
 -          <url>http://accumulo.apache.org</url>
 -          <needarch>x86_64</needarch>
 -          <group>Utilities</group>
 -          <requires>
 -            <require>jdk</require>
 -            <require>hadoop</require>
 -            <require>zookeeper</require>
 -          </requires>
 -          <prefix>/opt/accumulo</prefix>
 -          <defaultDirmode>755</defaultDirmode>
 -          <defaultFilemode>644</defaultFilemode>
 -          <defaultUsername>root</defaultUsername>
 -          <defaultGroupname>root</defaultGroupname>
 -          <mappings>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}</directory>
 -              <sources>
 -                <source>
 -                  <location>README</location>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/docs</directory>
 -              <sources>
 -                <source>
 -                  <location>docs</location>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/test</directory>
 -              <sources>
 -                <source>
 -                  <location>test</location>
 -                  <excludes>
 -                    <exclude>**/walkers.txt</exclude>
 -                    <exclude>**/ingesters.txt</exclude>
 -                    <exclude>**/continuous-env.sh</exclude>
 -                    <exclude>**/*.pyc</exclude>
 -                  </excludes>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/bin</directory>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/bin</directory>
 -              <directoryIncluded>false</directoryIncluded>
 -              <filemode>755</filemode>
 -              <username>root</username>
 -              <groupname>root</groupname>
 -              <sources>
 -                <source>
 -                  <location>bin</location>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/conf</directory>
 -              <sources>
 -                <source>
 -                  <location>conf</location>
 -                  <excludes>
 -                    <exclude>**/accumulo-site.xml</exclude>
 -                    <exclude>**/accumulo-env.sh</exclude>
 -                    <exclude>**/accumulo-metrics.xml</exclude>
 -                    <exclude>**/test-*</exclude>
 -                    <exclude>**/slaves</exclude>
 -                    <exclude>**/masters</exclude>
 -                    <exclude>**/tracers</exclude>
 -                    <exclude>**/gc</exclude>
 -                    <exclude>**/monitor</exclude>
 -                  </excludes>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/lib</directory>
 -              <dependency />
 -              <sources>
 -                <source>
 -                  <location>lib</location>
 -                </source>
 -              </sources>
 -            </mapping>
 -          </mappings>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <groupId>org.codehaus.mojo</groupId>
 -        <artifactId>exec-maven-plugin</artifactId>
 -        <inherited>false</inherited>
 +  <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>
 +    <url>https://git-wip-us.apache.org/repos/asf?p=accumulo.git</url>
 +  </scm>
 +  <issueManagement>
 +    <system>JIRA</system>
 +    <url>https://issues.apache.org/jira/browse/ACCUMULO</url>
 +  </issueManagement>
 +  <ciManagement>
 +    <system>Apache Jenkins</system>
 +    <url>https://builds.apache.org/view/A-D/view/Accumulo/</url>
 +  </ciManagement>
 +  <distributionManagement>
 +    <site>
 +      <id>accumulo.mvn.website</id>
 +      <name>Accumulo Maven Site</name>
 +      <!-- this is not likely to be what we really want, but it's good enough for a test -->
 +      <url>scm:svn:https://svn.apache.org/repos/asf/accumulo/site/trunk/maven-site</url>
 +    </site>
 +  </distributionManagement>
 +  <properties>
 +    <!-- used for filtering the java source with the current version -->
 +    <accumulo.release.version>${project.version}</accumulo.release.version>
-     <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
++    <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
 +    <hadoop.version>1.2.1</hadoop.version>
 +    <httpclient.version>3.0.1</httpclient.version>
 +    <!-- the maven-release-plugin makes this recommendation, due to plugin bugs -->
 +    <maven.min-version>3.0.4</maven.min-version>
 +    <powermock.version>1.5</powermock.version>
 +    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 +    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 +    <sealJars>false</sealJars>
-     <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
++    <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
 +    <slf4j.version>1.4.3</slf4j.version>
 +    <!-- ZooKeeper 3.4.x works also, but we're not using new features yet; this ensures 3.3.x compatibility. -->
 +    <zookeeper.version>3.3.6</zookeeper.version>
 +  </properties>
 +  <dependencyManagement>
 +    <dependencies>
 +      <dependency>
 +        <groupId>com.beust</groupId>
 +        <artifactId>jcommander</artifactId>
 +        <version>1.30</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>com.google.code.gson</groupId>
 +        <artifactId>gson</artifactId>
 +        <version>2.2.2</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>com.google.guava</groupId>
 +        <artifactId>guava</artifactId>
 +        <version>14.0.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-cli</groupId>
 +        <artifactId>commons-cli</artifactId>
          <version>1.2</version>
 -        <configuration>
 -          <executable>bash</executable>
 -          <arguments>
 -            <argument>docs/src/user_manual/build.sh</argument>
 -          </arguments>
 -        </configuration>
 -        <executions>
 -          <execution>
 -            <id>user-manual</id>
 -            <phase>prepare-package</phase>
 -            <goals>
 -              <goal>exec</goal>
 -            </goals>
 -          </execution>
 -        </executions>
 -      </plugin>
 -    </plugins>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-codec</groupId>
 +        <artifactId>commons-codec</artifactId>
 +        <version>1.4</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-collections</groupId>
 +        <artifactId>commons-collections</artifactId>
 +        <version>3.2.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-configuration</groupId>
 +        <artifactId>commons-configuration</artifactId>
 +        <version>1.6</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-httpclient</groupId>
 +        <artifactId>commons-httpclient</artifactId>
 +        <version>${httpclient.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-io</groupId>
 +        <artifactId>commons-io</artifactId>
 +        <version>2.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-lang</groupId>
 +        <artifactId>commons-lang</artifactId>
 +        <version>2.4</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-logging</groupId>
 +        <artifactId>commons-logging</artifactId>
 +        <version>1.1.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-logging</groupId>
 +        <artifactId>commons-logging-api</artifactId>
 +        <version>1.0.4</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>javax.servlet</groupId>
 +        <artifactId>servlet-api</artifactId>
 +        <version>2.5</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>javax.ws.rs</groupId>
 +        <artifactId>jsr311-api</artifactId>
 +        <version>1.1.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>jline</groupId>
 +        <artifactId>jline</artifactId>
 +        <version>1.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>junit</groupId>
 +        <artifactId>junit</artifactId>
 +        <version>4.11</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>log4j</groupId>
 +        <artifactId>log4j</artifactId>
 +        <version>1.2.16</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-core</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-examples-simple</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-fate</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-minicluster</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-proxy</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-server</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-start</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-test</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-trace</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.commons</groupId>
 +        <artifactId>commons-jci-core</artifactId>
 +        <version>1.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.commons</groupId>
 +        <artifactId>commons-jci-fam</artifactId>
 +        <version>1.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.commons</groupId>
 +        <artifactId>commons-math</artifactId>
 +        <version>2.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.commons</groupId>
 +        <artifactId>commons-vfs2</artifactId>
 +        <version>2.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.hadoop</groupId>
 +        <artifactId>hadoop-client</artifactId>
 +        <version>${hadoop.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.hadoop</groupId>
 +        <artifactId>hadoop-distcp</artifactId>
 +        <version>${hadoop.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.hadoop</groupId>
 +        <artifactId>hadoop-minicluster</artifactId>
 +        <version>${hadoop.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.hadoop</groupId>
 +        <artifactId>hadoop-tools</artifactId>
 +        <version>${hadoop.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.thrift</groupId>
 +        <artifactId>libthrift</artifactId>
 +        <version>0.9.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.zookeeper</groupId>
 +        <artifactId>zookeeper</artifactId>
 +        <version>${zookeeper.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.easymock</groupId>
 +        <artifactId>easymock</artifactId>
 +        <version>3.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.mortbay.jetty</groupId>
 +        <artifactId>jetty</artifactId>
 +        <version>6.1.26</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.powermock</groupId>
 +        <artifactId>powermock-api-easymock</artifactId>
 +        <version>${powermock.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.powermock</groupId>
 +        <artifactId>powermock-core</artifactId>
 +        <version>${powermock.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.powermock</groupId>
 +        <artifactId>powermock-module-junit4</artifactId>
 +        <version>${powermock.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.powermock</groupId>
 +        <artifactId>powermock-reflect</artifactId>
 +        <version>${powermock.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.slf4j</groupId>
 +        <artifactId>slf4j-api</artifactId>
 +        <version>${slf4j.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.slf4j</groupId>
 +        <artifactId>slf4j-log4j12</artifactId>
 +        <version>${slf4j.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.slf4j</groupId>
 +        <artifactId>slf4j-nop</artifactId>
 +        <version>${slf4j.version}</version>
 +      </dependency>
 +    </dependencies>
 +  </dependencyManagement>
 +  <build>
      <pluginManagement>
        <plugins>
          <plugin>
@@@ -625,119 -419,18 +625,125 @@@
              </lifecycleMappingMetadata>
            </configuration>
          </plugin>
 -        <plugin>
 -          <groupId>com.github.koraktor</groupId>
 -          <artifactId>mavanagaiata</artifactId>
 -          <version>0.6.1</version>
 -          <configuration>
 -            <skipNoGit>true</skipNoGit>
 -          </configuration>
 -        </plugin>
        </plugins>
      </pluginManagement>
 +    <plugins>
 +      <plugin>
 +        <!-- verify only; 'mvn clean -P sortpom' sorts -->
 +        <groupId>com.google.code.sortpom</groupId>
 +        <artifactId>maven-sortpom-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>verify-sorted-pom</id>
 +            <goals>
 +              <goal>verify</goal>
 +            </goals>
 +            <phase>validate</phase>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>
 +        <artifactId>maven-dependency-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>copy-dependencies</id>
 +            <goals>
 +              <goal>copy-dependencies</goal>
 +            </goals>
 +            <phase>prepare-package</phase>
 +            <configuration>
 +              <outputDirectory>../lib</outputDirectory>
 +              <!-- just grab the non-provided runtime dependencies -->
 +              <stripVersion>true</stripVersion>
 +              <includeScope>runtime</includeScope>
 +              <excludeTransitive>true</excludeTransitive>
 +              <excludeClassifiers>sources,test-sources</excludeClassifiers>
 +            </configuration>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>
 +        <artifactId>maven-enforcer-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>enforce-mvn</id>
 +            <goals>
 +              <goal>enforce</goal>
 +            </goals>
 +            <configuration>
 +              <rules>
 +                <requireMavenVersion>
 +                  <version>[${maven.min-version},)</version>
 +                </requireMavenVersion>
++                <requireProperty>
++                  <property>hadoop.profile</property>
++                  <regex>(1|2)</regex>
++                  <regexMessage>You should specify the Hadoop profile by major Hadoop generation, i.e. 1 or 2, not by a version number.
++    Use hadoop.version to use a particular Hadoop version within that generation. See README for more details.</regexMessage>
++                </requireProperty>
 +              </rules>
 +            </configuration>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>com.github.koraktor</groupId>
 +        <artifactId>mavanagaiata</artifactId>
 +        <executions>
 +          <execution>
 +            <id>git-commit</id>
 +            <goals>
 +              <goal>commit</goal>
 +            </goals>
 +            <phase>validate</phase>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>
 +        <artifactId>maven-failsafe-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>run-integration-tests</id>
 +            <goals>
 +              <goal>integration-test</goal>
 +            </goals>
 +            <phase>integration-test</phase>
 +          </execution>
 +          <execution>
 +            <id>verify-integration-tests</id>
 +            <goals>
 +              <goal>verify</goal>
 +            </goals>
 +            <phase>verify</phase>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>
 +        <artifactId>maven-scm-publish-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>scm-publish</id>
 +            <goals>
 +              <goal>publish-scm</goal>
 +            </goals>
 +            <phase>site-deploy</phase>
 +          </execution>
 +        </executions>
 +      </plugin>
 +    </plugins>
 +    <extensions>
 +      <extension>
 +        <!-- enable ssh deployment of site with maven 3 -->
 +        <groupId>org.apache.maven.wagon</groupId>
 +        <artifactId>wagon-ssh</artifactId>
 +        <version>2.4</version>
 +      </extension>
 +    </extensions>
    </build>
 -
    <reporting>
      <plugins>
        <plugin>
@@@ -939,31 -711,70 +945,52 @@@
              </configuration>
            </plugin>
          </plugins>
 -      </build>
 +      </reporting>
      </profile>
+     <!-- profile for our default Hadoop build
+          unfortunately, has to duplicate one of our
+          specified profiles. see MNG-3328 -->
      <profile>
-       <!-- profile for building against Hadoop 1.0.x
-       Activate by not specifying hadoop.profile -->
-       <id>hadoop-1.0</id>
+       <id>hadoop-default</id>
        <activation>
          <property>
            <name>!hadoop.profile</name>
          </property>
        </activation>
        <properties>
+         <!-- Denotes intention and allows the enforcer plugin to pass when
+              the user is relying on default behavior; won't work to activate profile -->
+         <hadoop.profile>1</hadoop.profile>
 -        <hadoop.version>0.20.203.0</hadoop.version>
 +        <hadoop.version>1.2.1</hadoop.version>
 +        <httpclient.version>3.0.1</httpclient.version>
          <slf4j.version>1.4.3</slf4j.version>
        </properties>
 -      <dependencyManagement>
 -        <dependencies>
 -          <dependency>
 -            <groupId>org.apache.hadoop</groupId>
 -            <artifactId>hadoop-core</artifactId>
 -            <version>${hadoop.version}</version>
 -            <scope>provided</scope>
 -          </dependency>
 -        </dependencies>
 -      </dependencyManagement>
      </profile>
+     <!-- profile for building against Hadoop 1.x
+      XXX Since this is the default, make sure to sync hadoop-default when changing.
+     Activate using: mvn -Dhadoop.profile=1 -->
      <profile>
-       <!-- profile for building against Hadoop 2.0.x
-       Activate using: mvn -Dhadoop.profile=2.0 -->
-       <id>hadoop-2.0</id>
+       <id>hadoop-1</id>
        <activation>
          <property>
            <name>hadoop.profile</name>
-           <value>2.0</value>
+           <value>1</value>
+         </property>
+       </activation>
+       <properties>
 -        <hadoop.version>0.20.203.0</hadoop.version>
++        <hadoop.version>1.2.1</hadoop.version>
++        <httpclient.version>3.0.1</httpclient.version>
+         <slf4j.version>1.4.3</slf4j.version>
+       </properties>
 -      <dependencyManagement>
 -        <dependencies>
 -          <dependency>
 -            <groupId>org.apache.hadoop</groupId>
 -            <artifactId>hadoop-core</artifactId>
 -            <version>${hadoop.version}</version>
 -            <scope>provided</scope>
 -          </dependency>
 -        </dependencies>
 -      </dependencyManagement>
+     </profile>
+     <!-- profile for building against Hadoop 2.x
+     Activate using: mvn -Dhadoop.profile=2 -->
+     <profile>
+       <id>hadoop-2</id>
+       <activation>
+         <property>
+           <name>hadoop.profile</name>
+           <value>2</value>
          </property>
        </activation>
        <properties>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/a91ee4dd/test/pom.xml
----------------------------------------------------------------------
diff --cc test/pom.xml
index 1d3dce4,0000000..9579581
mode 100644,000000..100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@@ -1,167 -1,0 +1,189 @@@
 +<?xml version="1.0" encoding="UTF-8"?>
 +<!--
 +  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.
 +-->
 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 +  <modelVersion>4.0.0</modelVersion>
 +  <parent>
 +    <groupId>org.apache.accumulo</groupId>
 +    <artifactId>accumulo-project</artifactId>
 +    <version>1.5.1-SNAPSHOT</version>
 +  </parent>
 +  <artifactId>accumulo-test</artifactId>
 +  <name>Testing</name>
 +  <dependencies>
 +    <dependency>
 +      <groupId>com.beust</groupId>
 +      <artifactId>jcommander</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>jline</groupId>
 +      <artifactId>jline</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-core</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-fate</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-minicluster</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-server</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-start</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-trace</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.thrift</groupId>
 +      <artifactId>libthrift</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>commons-cli</groupId>
 +      <artifactId>commons-cli</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>commons-codec</groupId>
 +      <artifactId>commons-codec</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>commons-io</groupId>
 +      <artifactId>commons-io</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>log4j</groupId>
 +      <artifactId>log4j</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.commons</groupId>
 +      <artifactId>commons-math</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.hadoop</groupId>
 +      <artifactId>hadoop-client</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.zookeeper</groupId>
 +      <artifactId>zookeeper</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.slf4j</groupId>
 +      <artifactId>slf4j-api</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.slf4j</groupId>
 +      <artifactId>slf4j-log4j12</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>junit</groupId>
 +      <artifactId>junit</artifactId>
 +      <scope>test</scope>
 +    </dependency>
 +  </dependencies>
 +  <build>
 +    <pluginManagement>
 +      <plugins>
 +        <plugin>
 +          <groupId>org.apache.rat</groupId>
 +          <artifactId>apache-rat-plugin</artifactId>
 +          <configuration>
 +            <excludes>
 +              <exclude>system/bench/lib/*splits</exclude>
 +            </excludes>
 +          </configuration>
 +        </plugin>
 +      </plugins>
 +    </pluginManagement>
 +  </build>
 +  <profiles>
 +    <profile>
-       <!-- profile for building against Hadoop 1.0.x
-       Activate by not specifying hadoop.profile -->
-       <id>hadoop-1.0</id>
++      <id>hadoop-default</id>
 +      <activation>
 +        <property>
 +          <name>!hadoop.profile</name>
 +        </property>
 +      </activation>
++      <properties>
++        <!-- Denotes intention and allows the enforcer plugin to pass when
++             the user is relying on default behavior; won't work to activate profile -->
++        <hadoop.profile>1</hadoop.profile>
++      </properties>
 +      <dependencies>
 +        <dependency>
 +          <groupId>org.apache.hadoop</groupId>
 +          <artifactId>hadoop-tools</artifactId>
 +          <scope>test</scope>
 +        </dependency>
 +      </dependencies>
 +    </profile>
++    <!-- profile for building against Hadoop 1.x
++     XXX Since this is the default, make sure to sync hadoop-default when changing.
++    Activate using: mvn -Dhadoop.profile=1 -->
 +    <profile>
-       <!-- profile for building against Hadoop 2.0.x
-       Activate using: mvn -Dhadoop.profile=2.0 -->
-       <id>hadoop-2.0</id>
++      <id>hadoop-1</id>
 +      <activation>
 +        <property>
 +          <name>hadoop.profile</name>
-           <value>2.0</value>
++          <value>1</value>
++        </property>
++      </activation>
++      <dependencies>
++        <dependency>
++          <groupId>org.apache.hadoop</groupId>
++          <artifactId>hadoop-tools</artifactId>
++          <scope>test</scope>
++        </dependency>
++      </dependencies>
++    </profile>
++    <!-- profile for building against Hadoop 2.x
++    Activate using: mvn -Dhadoop.profile=2 -->
++    <profile>
++      <id>hadoop-2</id>
++      <activation>
++        <property>
++          <name>hadoop.profile</name>
++          <value>2</value>
 +        </property>
 +      </activation>
 +      <dependencies>
 +        <dependency>
 +          <groupId>org.apache.hadoop</groupId>
 +          <artifactId>hadoop-distcp</artifactId>
 +          <scope>test</scope>
 +        </dependency>
 +      </dependencies>
 +    </profile>
 +  </profiles>
 +</project>


[17/18] git commit: Merge branch '1.6.0-SNAPSHOT'

Posted by md...@apache.org.
Merge branch '1.6.0-SNAPSHOT'


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

Branch: refs/heads/master
Commit: b8bd259d0d8ec4c68f9bb67d1148e2afc33b73b4
Parents: e2e7d2e ee3ccb8
Author: Mike Drob <md...@cloudera.com>
Authored: Mon Jan 6 16:21:31 2014 -0800
Committer: Mike Drob <md...@cloudera.com>
Committed: Mon Jan 6 16:21:31 2014 -0800

----------------------------------------------------------------------
 README                                          |  8 ++--
 pom.xml                                         | 47 +++++++++++++++-----
 .../main/resources/docs/examples/README.dirlist |  2 +-
 test/pom.xml                                    | 38 ++++++++++++----
 4 files changed, 72 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


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

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


[11/18] git commit: ACCUMULO-2126 Hadoop profile names should be consistent across branches.

Posted by md...@apache.org.
ACCUMULO-2126 Hadoop profile names should be consistent across branches.

Changes naming scheme to be by Hadoop generation, i.e. hadoop-1 and hadoop-2.

Adds ability to either rely on default or to specify default by profile, i.e. hadoop.profile=1 on 1.4.

Adds a more helpful error message when the provided hadoop.profile doesn't match one of our expected options.

Signed-off-by: Mike Drob <md...@cloudera.com>


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

Branch: refs/heads/1.4.5-SNAPSHOT
Commit: 71f150a777f9fb125fd72e51a23b11ed1f48d5c2
Parents: 65d5fba
Author: Sean Busbey <bu...@cloudera.com>
Authored: Thu Jan 2 16:54:03 2014 -0600
Committer: Mike Drob <md...@cloudera.com>
Committed: Mon Jan 6 15:58:05 2014 -0800

----------------------------------------------------------------------
 README                      |  8 +++---
 pom.xml                     | 54 +++++++++++++++++++++++++++++++++-------
 src/core/pom.xml            | 35 ++++++++++++++++++++------
 src/examples/simple/pom.xml | 35 ++++++++++++++++++++------
 src/minicluster/pom.xml     | 35 ++++++++++++++++++++------
 src/proxy/pom.xml           | 35 ++++++++++++++++++++------
 src/server/pom.xml          | 35 ++++++++++++++++++++------
 src/start/pom.xml           | 35 ++++++++++++++++++++------
 8 files changed, 217 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/README
----------------------------------------------------------------------
diff --git a/README b/README
index 08bac4c..f32d606 100644
--- a/README
+++ b/README
@@ -21,11 +21,11 @@ file for the necessary components.
 
 Run "mvn package && mvn assembly:single -N". By default, Accumulo compiles
 against Hadoop 0.20.203.0.  To compile against a different version
-that is compatible with Hadoop 1.0, specify hadoop.version on the command line,
+that is compatible with Hadoop 1, specify hadoop.version on the command line,
 e.g. "-Dhadoop.version=0.20.205.0" or "-Dhadoop.version=1.1.0".  To compile 
-against Hadoop 2.0, specify "-Dhadoop.profile=2.0".  By default this uses
-2.2.0.  To compile against a different 2.0-compatible version, specify
-the profile and version, e.g. "-Dhadoop.profile=2.0 -Dhadoop.version=0.23.5".
+against Hadoop 2, specify "-Dhadoop.profile=2".  By default this uses
+2.2.0.  To compile against a different Hadoop 2-compatible version, specify
+the profile and version, e.g. "-Dhadoop.profile=2 -Dhadoop.version=0.23.5".
 
 If you are running on another Unix-like operating system (OSX, etc) then
 you may wish to build the native libraries.  They are not strictly necessary

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 7d3dc82..92d8106 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,6 +63,12 @@
                 <requireMavenVersion>
                   <version>[2.0.9,)</version>
                 </requireMavenVersion>
+                <requireProperty>
+                  <property>hadoop.profile</property>
+                  <regex>(1|2)</regex>
+                  <regexMessage>You should specify the Hadoop profile by major Hadoop generation, i.e. 1 or 2, not by a version number.
+    Use hadoop.version to use a particular Hadoop version within that generation. See README for more details.</regexMessage>
+                </requireProperty>
               </rules>
             </configuration>
           </execution>
@@ -707,16 +713,20 @@
         </plugins>
       </build>
     </profile>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
+    <!-- profile for our default Hadoop build
+         unfortunately, has to duplicate one of our
+         specified profiles. see MNG-3328 -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
       <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
         <hadoop.version>0.20.203.0</hadoop.version>
         <slf4j.version>1.4.3</slf4j.version>
       </properties>
@@ -731,14 +741,40 @@
         </dependencies>
       </dependencyManagement>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <properties>
+        <hadoop.version>0.20.203.0</hadoop.version>
+        <slf4j.version>1.4.3</slf4j.version>
+      </properties>
+      <dependencyManagement>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.hadoop</groupId>
+            <artifactId>hadoop-core</artifactId>
+            <version>${hadoop.version}</version>
+            <scope>provided</scope>
+          </dependency>
+        </dependencies>
+      </dependencyManagement>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <properties>
@@ -943,9 +979,9 @@
 
   <properties>
     <targetJdk>1.6</targetJdk>
-    <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
+    <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
     <hadoop.version>0.20.203.0</hadoop.version>
-    <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
+    <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
     <slf4j.version>1.4.3</slf4j.version>
     <zookeeper.version>3.3.1</zookeeper.version>
   </properties>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/core/pom.xml
----------------------------------------------------------------------
diff --git a/src/core/pom.xml b/src/core/pom.xml
index 77a4a72..11ce09b 100644
--- a/src/core/pom.xml
+++ b/src/core/pom.xml
@@ -78,15 +78,18 @@
   </build>
   
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -94,14 +97,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/examples/simple/pom.xml
----------------------------------------------------------------------
diff --git a/src/examples/simple/pom.xml b/src/examples/simple/pom.xml
index 6834b87..6ef7741 100644
--- a/src/examples/simple/pom.xml
+++ b/src/examples/simple/pom.xml
@@ -30,15 +30,18 @@
   <name>examples-simple</name>
   
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -46,14 +49,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/minicluster/pom.xml
----------------------------------------------------------------------
diff --git a/src/minicluster/pom.xml b/src/minicluster/pom.xml
index 3c8843d..a956fdd 100644
--- a/src/minicluster/pom.xml
+++ b/src/minicluster/pom.xml
@@ -51,15 +51,18 @@
   </build>
 
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -67,14 +70,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/proxy/pom.xml
----------------------------------------------------------------------
diff --git a/src/proxy/pom.xml b/src/proxy/pom.xml
index eb88e6b..466d88a 100644
--- a/src/proxy/pom.xml
+++ b/src/proxy/pom.xml
@@ -119,15 +119,18 @@
   </dependencies>
 
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -135,14 +138,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/server/pom.xml
----------------------------------------------------------------------
diff --git a/src/server/pom.xml b/src/server/pom.xml
index 672a6d3..b58affc 100644
--- a/src/server/pom.xml
+++ b/src/server/pom.xml
@@ -111,15 +111,18 @@
   </dependencies>
 
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -127,14 +130,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/start/pom.xml
----------------------------------------------------------------------
diff --git a/src/start/pom.xml b/src/start/pom.xml
index de3be18..69a9ca7 100644
--- a/src/start/pom.xml
+++ b/src/start/pom.xml
@@ -51,15 +51,18 @@
   </build>
   
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -67,14 +70,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>


[05/18] git commit: Merge branch '1.5.1-SNAPSHOT' into 1.6.0-SNAPSHOT

Posted by md...@apache.org.
Merge branch '1.5.1-SNAPSHOT' into 1.6.0-SNAPSHOT


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

Branch: refs/heads/master
Commit: 67496e0c47d0561ac03b82e4a6d9efa95ef149d4
Parents: 2781349 a18e469
Author: Eric Newton <er...@gmail.com>
Authored: Mon Jan 6 18:33:45 2014 -0500
Committer: Eric Newton <er...@gmail.com>
Committed: Mon Jan 6 18:33:45 2014 -0500

----------------------------------------------------------------------
 server/monitor/src/main/resources/docs/examples/README.dirlist | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/67496e0c/server/monitor/src/main/resources/docs/examples/README.dirlist
----------------------------------------------------------------------
diff --cc server/monitor/src/main/resources/docs/examples/README.dirlist
index b60650f,0000000..e505cf9
mode 100644,000000..100644
--- a/server/monitor/src/main/resources/docs/examples/README.dirlist
+++ b/server/monitor/src/main/resources/docs/examples/README.dirlist
@@@ -1,114 -1,0 +1,114 @@@
 +Title: Apache Accumulo File System Archive
 +Notice:    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.
 +
 +This example stores filesystem information in accumulo.  The example stores the information in the following three tables.  More information about the table structures can be found at the end of README.dirlist.
 +
 + * directory table : This table stores information about the filesystem directory structure.
 + * index table     : This table stores a file name index.  It can be used to quickly find files with given name, suffix, or prefix.
 + * data table      : This table stores the file data.  File with duplicate data are only stored once.  
 +
 +This example shows how to use Accumulo to store a file system history.  It has the following classes:
 +
 + * Ingest.java - Recursively lists the files and directories under a given path, ingests their names and file info into one Accumulo table, indexes the file names in a separate table, and the file data into a third table.
 + * QueryUtil.java - Provides utility methods for getting the info for a file, listing the contents of a directory, and performing single wild card searches on file or directory names.
 + * Viewer.java - Provides a GUI for browsing the file system information stored in Accumulo.
 + * FileCount.java - Computes recursive counts over file system information and stores them back into the same Accumulo table.
 + 
 +To begin, ingest some data with Ingest.java.
 +
 +    $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.Ingest -i instance -z zookeepers -u username -p password --vis exampleVis --chunkSize 100000 /local/username/workspace
 +
 +This may take some time if there are large files in the /local/username/workspace directory.  If you use 0 instead of 100000 on the command line, the ingest will run much faster, but it will not put any file data into Accumulo (the dataTable will be empty).
 +Note that running this example will create tables dirTable, indexTable, and dataTable in Accumulo that you should delete when you have completed the example.
 +If you modify a file or add new files in the directory ingested (e.g. /local/username/workspace), you can run Ingest again to add new information into the Accumulo tables.
 +
 +To browse the data ingested, use Viewer.java.  Be sure to give the "username" user the authorizations to see the data (in this case, run
 +
 +    $ ./bin/accumulo shell -u root -e 'setauths -u username -s exampleVis'
 +
 +then run the Viewer:
 +
 +    $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.Viewer -i instance -z zookeepers -u username -p password -t dirTable --dataTable dataTable --auths exampleVis --path /local/username/workspace
 +
 +To list the contents of specific directories, use QueryUtil.java.
 +
 +    $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.QueryUtil -i instance -z zookeepers -u username -p password -t dirTable --auths exampleVis --path /local/username
 +    $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.QueryUtil -i instance -z zookeepers -u username -p password -t dirTable --auths exampleVis --path /local/username/workspace
 +
 +To perform searches on file or directory names, also use QueryUtil.java.  Search terms must contain no more than one wild card and cannot contain "/".
 +*Note* these queries run on the _indexTable_ table instead of the dirTable table.
 +
 +    $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.QueryUtil -i instance -z zookeepers -u username -p password -t indexTable --auths exampleVis --path filename --search
 +    $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.QueryUtil -i instance -z zookeepers -u username -p password -t indexTable --auths exampleVis --path 'filename*' --search
 +    $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.QueryUtil -i instance -z zookeepers -u username -p password -t indexTable --auths exampleVis --path '*jar' --search
-     $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.QueryUtil -i instance -z zookeepers -u username -p password -t indexTable --auths exampleVis iipath 'filename*jar' --search
++    $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.QueryUtil -i instance -z zookeepers -u username -p password -t indexTable --auths exampleVis --path 'filename*jar' --search
 +
 +To count the number of direct children (directories and files) and descendants (children and children's descendants, directories and files), run the FileCount over the dirTable table.
 +The results are written back to the same table.  FileCount reads from and writes to Accumulo.  This requires scan authorizations for the read and a visibility for the data written.
 +In this example, the authorizations and visibility are set to the same value, exampleVis.  See README.visibility for more information on visibility and authorizations.
 +
 +    $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.FileCount -i instance -z zookeepers -u username -p password -t dirTable --auths exampleVis
 +
 +## Directory Table
 +
 +Here is a illustration of what data looks like in the directory table:
 +
 +    row colf:colq [vis]	value
 +    000 dir:exec [exampleVis]    true
 +    000 dir:hidden [exampleVis]    false
 +    000 dir:lastmod [exampleVis]    1291996886000
 +    000 dir:length [exampleVis]    1666
 +    001/local dir:exec [exampleVis]    true
 +    001/local dir:hidden [exampleVis]    false
 +    001/local dir:lastmod [exampleVis]    1304945270000
 +    001/local dir:length [exampleVis]    272
 +    002/local/Accumulo.README \x7F\xFF\xFE\xCFH\xA1\x82\x97:exec [exampleVis]    false
 +    002/local/Accumulo.README \x7F\xFF\xFE\xCFH\xA1\x82\x97:hidden [exampleVis]    false
 +    002/local/Accumulo.README \x7F\xFF\xFE\xCFH\xA1\x82\x97:lastmod [exampleVis]    1308746481000
 +    002/local/Accumulo.README \x7F\xFF\xFE\xCFH\xA1\x82\x97:length [exampleVis]    9192
 +    002/local/Accumulo.README \x7F\xFF\xFE\xCFH\xA1\x82\x97:md5 [exampleVis]    274af6419a3c4c4a259260ac7017cbf1
 +
 +The rows are of the form depth + path, where depth is the number of slashes ("/") in the path padded to 3 digits.  This is so that all the children of a directory appear as consecutive keys in Accumulo; without the depth, you would for example see all the subdirectories of /local before you saw /usr.
 +For directories the column family is "dir".  For files the column family is Long.MAX_VALUE - lastModified in bytes rather than string format so that newer versions sort earlier.
 +
 +## Index Table
 +
 +Here is an illustration of what data looks like in the index table:
 +
 +    row colf:colq [vis]
 +    fAccumulo.README i:002/local/Accumulo.README [exampleVis]
 +    flocal i:001/local [exampleVis]
 +    rEMDAER.olumuccA i:002/local/Accumulo.README [exampleVis]
 +    rlacol i:001/local [exampleVis]
 +
 +The values of the index table are null.  The rows are of the form "f" + filename or "r" + reverse file name.  This is to enable searches with wildcards at the beginning, middle, or end.
 +
 +## Data Table
 +
 +Here is an illustration of what data looks like in the data table:
 +
 +    row colf:colq [vis]	value
 +    274af6419a3c4c4a259260ac7017cbf1 refs:e77276a2b56e5c15b540eaae32b12c69\x00filext [exampleVis]    README
 +    274af6419a3c4c4a259260ac7017cbf1 refs:e77276a2b56e5c15b540eaae32b12c69\x00name [exampleVis]    /local/Accumulo.README
 +    274af6419a3c4c4a259260ac7017cbf1 ~chunk:\x00\x0FB@\x00\x00\x00\x00 [exampleVis]    *******************************************************************************\x0A1. Building\x0A\x0AIn the normal tarball or RPM release of accumulo, [truncated]
 +    274af6419a3c4c4a259260ac7017cbf1 ~chunk:\x00\x0FB@\x00\x00\x00\x01 [exampleVis]
 +
 +The rows are the md5 hash of the file.  Some column family : column qualifier pairs are "refs" : hash of file name + null byte + property name, in which case the value is property value.  There can be multiple references to the same file which are distinguished by the hash of the file name.
 +Other column family : column qualifier pairs are "~chunk" : chunk size in bytes + chunk number in bytes, in which case the value is the bytes for that chunk of the file.  There is an end of file data marker whose chunk number is the number of chunks for the file and whose value is empty.
 +
 +There may exist multiple copies of the same file (with the same md5 hash) with different chunk sizes or different visibilities.  There is an iterator that can be set on the data table that combines these copies into a single copy with a visibility taken from the visibilities of the file references, e.g. (vis from ref1)|(vis from ref2). 


[06/18] git commit: Merge branch '1.6.0-SNAPSHOT' of https://git-wip-us.apache.org/repos/asf/accumulo into 1.6.0-SNAPSHOT

Posted by md...@apache.org.
Merge branch '1.6.0-SNAPSHOT' of https://git-wip-us.apache.org/repos/asf/accumulo into 1.6.0-SNAPSHOT


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

Branch: refs/heads/master
Commit: 4a873834945d285b73205442181844a3adc568a8
Parents: 67496e0 d1f3dfe
Author: Eric Newton <er...@gmail.com>
Authored: Mon Jan 6 18:33:54 2014 -0500
Committer: Eric Newton <er...@gmail.com>
Committed: Mon Jan 6 18:33:54 2014 -0500

----------------------------------------------------------------------
 .../core/conf/AccumuloConfiguration.java        | 35 +++++++++-----
 .../core/conf/AccumuloConfigurationTest.java    | 48 ++++++++++++++++++++
 2 files changed, 72 insertions(+), 11 deletions(-)
----------------------------------------------------------------------



[13/18] git commit: Merge branch '1.4.5-SNAPSHOT' into 1.5.1-SNAPSHOT

Posted by md...@apache.org.
Merge branch '1.4.5-SNAPSHOT' into 1.5.1-SNAPSHOT


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

Branch: refs/heads/1.6.0-SNAPSHOT
Commit: a91ee4dde68fd96e2fb3014d2a811b860564979e
Parents: 65aaddd 71f150a
Author: Mike Drob <md...@cloudera.com>
Authored: Mon Jan 6 16:14:20 2014 -0800
Committer: Mike Drob <md...@cloudera.com>
Committed: Mon Jan 6 16:14:20 2014 -0800

----------------------------------------------------------------------
 README       | 10 +++++-----
 pom.xml      | 45 ++++++++++++++++++++++++++++++++++++---------
 test/pom.xml | 36 +++++++++++++++++++++++++++++-------
 3 files changed, 70 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/a91ee4dd/README
----------------------------------------------------------------------
diff --cc README
index a100077,f32d606..b0fbcbd
--- a/README
+++ b/README
@@@ -11,21 -11,21 +11,21 @@@ key/value pairs at various points in th
  1. Building
  
  In the normal tarball or RPM release of accumulo, everything is built and
 -ready to go on x86 GNU/Linux for Hadoop 0.20.x and Hadoop 1.x: there is no
 -build step.
 +ready to go on x86 GNU/Linux: there is no build step.
  
 -However, if you only have source code, or you wish to make changes, or you
 -wish to run under a different version of Hadoop, you need to have Maven
 -configured to get Accumulo prerequisites from repositories.  See the pom.xml
 -file for the necessary components.
 +However, if you only have source code, or you wish to make changes, you need to
 +have maven configured to get Accumulo prerequisites from repositories.  See
 +the pom.xml file for the necessary components. Activate the 'docs' profile to build
 +the Accumulo developer and user manual.
  
 -Run "mvn package && mvn assembly:single -N". By default, Accumulo compiles
 -against Hadoop 0.20.203.0.  To compile against a different version
 +Run "mvn package -P assemble" to build a distribution, or run 
 +"mvn package -P assemble,docs" to also build the documentation. By default, 
- Accumulo compiles against Hadoop 1.0.4.  To compile against a different version
- that is compatible with Hadoop 1.0, specify hadoop.version on the command line,
++Accumulo compiles against Hadoop 1.2.1.  To compile against a different version
+ that is compatible with Hadoop 1, specify hadoop.version on the command line,
  e.g. "-Dhadoop.version=0.20.205.0" or "-Dhadoop.version=1.1.0".  To compile 
- against Hadoop 2.0, specify "-Dhadoop.profile=2.0".  By default this uses
- 2.0.4-alpha.  To compile against a different 2.0-compatible version, specify
- the profile and version, e.g. "-Dhadoop.profile=2.0 -Dhadoop.version=0.23.5".
+ against Hadoop 2, specify "-Dhadoop.profile=2".  By default this uses
 -2.2.0.  To compile against a different Hadoop 2-compatible version, specify
++2.2.0.  To compile against a different 2-compatible version, specify
+ the profile and version, e.g. "-Dhadoop.profile=2 -Dhadoop.version=0.23.5".
  
  If you are running on another Unix-like operating system (OSX, etc) then
  you may wish to build the native libraries.  They are not strictly necessary

http://git-wip-us.apache.org/repos/asf/accumulo/blob/a91ee4dd/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index 241d116,92d8106..2d5f663
--- a/pom.xml
+++ b/pom.xml
@@@ -20,337 -21,316 +20,337 @@@
    <parent>
      <groupId>org.apache</groupId>
      <artifactId>apache</artifactId>
 -    <version>10</version>
 +    <version>13</version>
    </parent>
 -
 -
    <groupId>org.apache.accumulo</groupId>
 -  <artifactId>accumulo</artifactId>
 +  <artifactId>accumulo-project</artifactId>
 +  <version>1.5.1-SNAPSHOT</version>
    <packaging>pom</packaging>
 -  <version>1.4.5-SNAPSHOT</version>
 -  <name>accumulo</name>
 -
 +  <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>
 +  <!-- this URL is where the site derived via the maven-site-plugin ends up, not the generic site -->
 +  <url>http://accumulo.apache.org/maven-site/</url>
 +  <organization>
 +    <name>Apache Accumulo Project</name>
 +    <url>http://accumulo.apache.org/</url>
 +  </organization>
 +  <licenses>
 +    <license>
 +      <name>Apache License, Version 2.0</name>
 +      <url>http://www.apache.org/licenses/LICENSE-2.0</url>
 +    </license>
 +  </licenses>
 +  <mailingLists>
 +    <mailingList>
 +      <name>User</name>
 +      <subscribe>user-subscribe@accumulo.apache.org</subscribe>
 +      <unsubscribe>user-unsubscribe@accumulo.apache.org</unsubscribe>
 +      <post>user@accumulo.apache.org</post>
 +      <archive>http://mail-archives.apache.org/mod_mbox/accumulo-user</archive>
 +    </mailingList>
 +    <mailingList>
 +      <name>Dev</name>
 +      <subscribe>dev-subscribe@accumulo.apache.org</subscribe>
 +      <unsubscribe>dev-unsubscribe@accumulo.apache.org</unsubscribe>
 +      <post>dev@accumulo.apache.org</post>
 +      <archive>http://mail-archives.apache.org/mod_mbox/accumulo-dev</archive>
 +    </mailingList>
 +    <mailingList>
 +      <name>Commits</name>
 +      <subscribe>commits-subscribe@accumulo.apache.org</subscribe>
 +      <unsubscribe>commits-unsubscribe@accumulo.apache.org</unsubscribe>
 +      <archive>http://mail-archives.apache.org/mod_mbox/accumulo-commits</archive>
 +    </mailingList>
 +    <mailingList>
 +      <name>Notifications</name>
 +      <subscribe>notifications-subscribe@accumulo.apache.org</subscribe>
 +      <unsubscribe>notifications-unsubscribe@accumulo.apache.org</unsubscribe>
 +      <archive>http://mail-archives.apache.org/mod_mbox/accumulo-notifications</archive>
 +    </mailingList>
 +  </mailingLists>
 +  <prerequisites>
 +    <maven>${maven.min-version}</maven>
 +  </prerequisites>
    <modules>
 -    <module>src/trace</module>
 -    <module>src/core</module>
 -    <module>src/server</module>
 -    <module>src/start</module>
 -    <module>src/examples</module>
 -    <module>src/proxy</module>
 -    <module>src/minicluster</module>
 +    <module>trace</module>
 +    <module>core</module>
 +    <module>fate</module>
 +    <module>server</module>
 +    <module>start</module>
 +    <module>examples</module>
 +    <module>assemble</module>
 +    <module>proxy</module>
 +    <module>test</module>
 +    <module>minicluster</module>
    </modules>
 -
 -  <build>
 -    <resources>
 -      <resource>
 -        <directory>${basedir}/src/main/resources</directory>
 -      </resource>
 -    </resources>
 -    <defaultGoal>package</defaultGoal>
 -    <plugins>
 -      <plugin>
 -        <groupId>org.apache.maven.plugins</groupId>
 -        <artifactId>maven-enforcer-plugin</artifactId>
 -        <executions>
 -          <execution>
 -            <id>enforce-mvn</id>
 -            <goals>
 -              <goal>enforce</goal>
 -            </goals>
 -            <configuration>
 -              <rules>
 -                <requireMavenVersion>
 -                  <version>[2.0.9,)</version>
 -                </requireMavenVersion>
 -                <requireProperty>
 -                  <property>hadoop.profile</property>
 -                  <regex>(1|2)</regex>
 -                  <regexMessage>You should specify the Hadoop profile by major Hadoop generation, i.e. 1 or 2, not by a version number.
 -    Use hadoop.version to use a particular Hadoop version within that generation. See README for more details.</regexMessage>
 -                </requireProperty>
 -              </rules>
 -            </configuration>
 -          </execution>
 -        </executions>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-clean-plugin</artifactId>
 -        <configuration>
 -          <filesets>
 -            <fileset>
 -              <directory>lib</directory>
 -              <includes>
 -                <include>*.jar</include>
 -              </includes>
 -            </fileset>
 -            <fileset>
 -              <directory>docs/apidocs</directory>
 -            </fileset>
 -            <fileset>
 -              <directory>test</directory>
 -              <includes>
 -                <include>**/*.so</include>
 -              </includes>
 -            </fileset>
 -            <fileset>
 -              <directory>./</directory>
 -              <includes>
 -                <include>**/*.pyc</include>
 -              </includes>
 -            </fileset>
 -          </filesets>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <groupId>com.github.koraktor</groupId>
 -        <artifactId>mavanagaiata</artifactId>
 -        <executions>
 -          <execution>
 -            <id>git-commit</id>
 -            <phase>validate</phase>
 -            <goals>
 -              <goal>commit</goal>
 -            </goals>
 -          </execution>
 -        </executions>
 -      </plugin>
 -      <plugin>
 -        <groupId>org.apache.maven.plugins</groupId>
 -        <artifactId>maven-dependency-plugin</artifactId>
 -        <executions>
 -          <execution>
 -            <id>copy-dependencies</id>
 -            <phase>process-resources</phase>
 -            <goals>
 -              <goal>copy-dependencies</goal>
 -            </goals>
 -            <configuration>
 -              <outputDirectory>../../lib</outputDirectory>
 -              <!-- just grab the non-provided runtime dependencies -->
 -              <includeArtifactIds>commons-collections,commons-configuration,commons-io,commons-lang,jline,log4j,libthrift,commons-jci-core,commons-jci-fam,commons-logging,commons-logging-api,guava</includeArtifactIds>
 -              <excludeTransitive>true</excludeTransitive>
 -            </configuration>
 -          </execution>
 -        </executions>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-jar-plugin</artifactId>
 -        <configuration>
 -          <outputDirectory>../../lib</outputDirectory>
 -          <archive>
 -            <manifest>
 -              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
 -              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
 -            </manifest>
 -            <manifestEntries>
 -              <Implementation-Build>${mvngit.commit.id}</Implementation-Build>
 -            </manifestEntries>
 -          </archive>
 -          <includes>
 -            <include>cloudtrace/**</include>
 -            <include>org/apache/accumulo**/**</include>
 -            <include>web/**</include>
 -            <include>randomwalk/**</include>
 -            <include>*.*</include>
 -            <include>**/META-INF/*</include>
 -          </includes>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-resources-plugin</artifactId>
 -        <configuration>
 -          <encoding>UTF-8</encoding>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-assembly-plugin</artifactId>
 -        <configuration>
 -          <descriptors>
 -            <descriptor>src/assemble/dist.xml</descriptor>
 -          </descriptors>
 -          <tarLongFileMode>gnu</tarLongFileMode>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-compiler-plugin</artifactId>
 -        <configuration>
 -          <source>1.6</source>
 -          <target>1.6</target>
 -          <optimize>true</optimize>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-javadoc-plugin</artifactId>
 -        <configuration>
 -          <encoding>UTF-8</encoding>
 -          <quiet>true</quiet>
 -          <jarOutputDirectory>lib</jarOutputDirectory>
 -          <reportOutputDirectory>docs</reportOutputDirectory>
 -          <javadocVersion>1.6</javadocVersion>
 -          <additionalJOption>-J-Xmx512m</additionalJOption>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-source-plugin</artifactId>
 -        <configuration>
 -          <outputDirectory>../../lib</outputDirectory>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-surefire-plugin</artifactId>
 -        <configuration>
 -          <environmentVariables>
 -            <ACCUMULO_HOME>../..</ACCUMULO_HOME>
 -          </environmentVariables>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <groupId>org.codehaus.mojo</groupId>
 -        <artifactId>rpm-maven-plugin</artifactId>
 -        <version>2.1-alpha-3</version>
 -        <inherited>false</inherited>
 -        <configuration>
 -          <name>accumulo</name>
 -          <projversion>${project.version}</projversion>
 -          <summary>Apache Accumulo BigTable clone</summary>
 -          <description>
 -            Apache Accumulo is a large distributed structured store based on
 -            Google's BigTable design.
 -          </description>
 -          <copyright>2011 The Apache Software Foundation.</copyright>
 -          <url>http://accumulo.apache.org</url>
 -          <needarch>x86_64</needarch>
 -          <group>Utilities</group>
 -          <requires>
 -            <require>jdk</require>
 -            <require>hadoop</require>
 -            <require>zookeeper</require>
 -          </requires>
 -          <prefix>/opt/accumulo</prefix>
 -          <defaultDirmode>755</defaultDirmode>
 -          <defaultFilemode>644</defaultFilemode>
 -          <defaultUsername>root</defaultUsername>
 -          <defaultGroupname>root</defaultGroupname>
 -          <mappings>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}</directory>
 -              <sources>
 -                <source>
 -                  <location>README</location>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/docs</directory>
 -              <sources>
 -                <source>
 -                  <location>docs</location>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/test</directory>
 -              <sources>
 -                <source>
 -                  <location>test</location>
 -                  <excludes>
 -                    <exclude>**/walkers.txt</exclude>
 -                    <exclude>**/ingesters.txt</exclude>
 -                    <exclude>**/continuous-env.sh</exclude>
 -                    <exclude>**/*.pyc</exclude>
 -                  </excludes>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/bin</directory>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/bin</directory>
 -              <directoryIncluded>false</directoryIncluded>
 -              <filemode>755</filemode>
 -              <username>root</username>
 -              <groupname>root</groupname>
 -              <sources>
 -                <source>
 -                  <location>bin</location>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/conf</directory>
 -              <sources>
 -                <source>
 -                  <location>conf</location>
 -                  <excludes>
 -                    <exclude>**/accumulo-site.xml</exclude>
 -                    <exclude>**/accumulo-env.sh</exclude>
 -                    <exclude>**/accumulo-metrics.xml</exclude>
 -                    <exclude>**/test-*</exclude>
 -                    <exclude>**/slaves</exclude>
 -                    <exclude>**/masters</exclude>
 -                    <exclude>**/tracers</exclude>
 -                    <exclude>**/gc</exclude>
 -                    <exclude>**/monitor</exclude>
 -                  </excludes>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/lib</directory>
 -              <dependency />
 -              <sources>
 -                <source>
 -                  <location>lib</location>
 -                </source>
 -              </sources>
 -            </mapping>
 -          </mappings>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <groupId>org.codehaus.mojo</groupId>
 -        <artifactId>exec-maven-plugin</artifactId>
 -        <inherited>false</inherited>
 +  <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>
 +    <url>https://git-wip-us.apache.org/repos/asf?p=accumulo.git</url>
 +  </scm>
 +  <issueManagement>
 +    <system>JIRA</system>
 +    <url>https://issues.apache.org/jira/browse/ACCUMULO</url>
 +  </issueManagement>
 +  <ciManagement>
 +    <system>Apache Jenkins</system>
 +    <url>https://builds.apache.org/view/A-D/view/Accumulo/</url>
 +  </ciManagement>
 +  <distributionManagement>
 +    <site>
 +      <id>accumulo.mvn.website</id>
 +      <name>Accumulo Maven Site</name>
 +      <!-- this is not likely to be what we really want, but it's good enough for a test -->
 +      <url>scm:svn:https://svn.apache.org/repos/asf/accumulo/site/trunk/maven-site</url>
 +    </site>
 +  </distributionManagement>
 +  <properties>
 +    <!-- used for filtering the java source with the current version -->
 +    <accumulo.release.version>${project.version}</accumulo.release.version>
-     <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
++    <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
 +    <hadoop.version>1.2.1</hadoop.version>
 +    <httpclient.version>3.0.1</httpclient.version>
 +    <!-- the maven-release-plugin makes this recommendation, due to plugin bugs -->
 +    <maven.min-version>3.0.4</maven.min-version>
 +    <powermock.version>1.5</powermock.version>
 +    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 +    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 +    <sealJars>false</sealJars>
-     <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
++    <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
 +    <slf4j.version>1.4.3</slf4j.version>
 +    <!-- ZooKeeper 3.4.x works also, but we're not using new features yet; this ensures 3.3.x compatibility. -->
 +    <zookeeper.version>3.3.6</zookeeper.version>
 +  </properties>
 +  <dependencyManagement>
 +    <dependencies>
 +      <dependency>
 +        <groupId>com.beust</groupId>
 +        <artifactId>jcommander</artifactId>
 +        <version>1.30</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>com.google.code.gson</groupId>
 +        <artifactId>gson</artifactId>
 +        <version>2.2.2</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>com.google.guava</groupId>
 +        <artifactId>guava</artifactId>
 +        <version>14.0.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-cli</groupId>
 +        <artifactId>commons-cli</artifactId>
          <version>1.2</version>
 -        <configuration>
 -          <executable>bash</executable>
 -          <arguments>
 -            <argument>docs/src/user_manual/build.sh</argument>
 -          </arguments>
 -        </configuration>
 -        <executions>
 -          <execution>
 -            <id>user-manual</id>
 -            <phase>prepare-package</phase>
 -            <goals>
 -              <goal>exec</goal>
 -            </goals>
 -          </execution>
 -        </executions>
 -      </plugin>
 -    </plugins>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-codec</groupId>
 +        <artifactId>commons-codec</artifactId>
 +        <version>1.4</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-collections</groupId>
 +        <artifactId>commons-collections</artifactId>
 +        <version>3.2.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-configuration</groupId>
 +        <artifactId>commons-configuration</artifactId>
 +        <version>1.6</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-httpclient</groupId>
 +        <artifactId>commons-httpclient</artifactId>
 +        <version>${httpclient.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-io</groupId>
 +        <artifactId>commons-io</artifactId>
 +        <version>2.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-lang</groupId>
 +        <artifactId>commons-lang</artifactId>
 +        <version>2.4</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-logging</groupId>
 +        <artifactId>commons-logging</artifactId>
 +        <version>1.1.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-logging</groupId>
 +        <artifactId>commons-logging-api</artifactId>
 +        <version>1.0.4</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>javax.servlet</groupId>
 +        <artifactId>servlet-api</artifactId>
 +        <version>2.5</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>javax.ws.rs</groupId>
 +        <artifactId>jsr311-api</artifactId>
 +        <version>1.1.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>jline</groupId>
 +        <artifactId>jline</artifactId>
 +        <version>1.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>junit</groupId>
 +        <artifactId>junit</artifactId>
 +        <version>4.11</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>log4j</groupId>
 +        <artifactId>log4j</artifactId>
 +        <version>1.2.16</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-core</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-examples-simple</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-fate</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-minicluster</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-proxy</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-server</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-start</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-test</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-trace</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.commons</groupId>
 +        <artifactId>commons-jci-core</artifactId>
 +        <version>1.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.commons</groupId>
 +        <artifactId>commons-jci-fam</artifactId>
 +        <version>1.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.commons</groupId>
 +        <artifactId>commons-math</artifactId>
 +        <version>2.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.commons</groupId>
 +        <artifactId>commons-vfs2</artifactId>
 +        <version>2.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.hadoop</groupId>
 +        <artifactId>hadoop-client</artifactId>
 +        <version>${hadoop.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.hadoop</groupId>
 +        <artifactId>hadoop-distcp</artifactId>
 +        <version>${hadoop.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.hadoop</groupId>
 +        <artifactId>hadoop-minicluster</artifactId>
 +        <version>${hadoop.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.hadoop</groupId>
 +        <artifactId>hadoop-tools</artifactId>
 +        <version>${hadoop.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.thrift</groupId>
 +        <artifactId>libthrift</artifactId>
 +        <version>0.9.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.zookeeper</groupId>
 +        <artifactId>zookeeper</artifactId>
 +        <version>${zookeeper.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.easymock</groupId>
 +        <artifactId>easymock</artifactId>
 +        <version>3.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.mortbay.jetty</groupId>
 +        <artifactId>jetty</artifactId>
 +        <version>6.1.26</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.powermock</groupId>
 +        <artifactId>powermock-api-easymock</artifactId>
 +        <version>${powermock.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.powermock</groupId>
 +        <artifactId>powermock-core</artifactId>
 +        <version>${powermock.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.powermock</groupId>
 +        <artifactId>powermock-module-junit4</artifactId>
 +        <version>${powermock.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.powermock</groupId>
 +        <artifactId>powermock-reflect</artifactId>
 +        <version>${powermock.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.slf4j</groupId>
 +        <artifactId>slf4j-api</artifactId>
 +        <version>${slf4j.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.slf4j</groupId>
 +        <artifactId>slf4j-log4j12</artifactId>
 +        <version>${slf4j.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.slf4j</groupId>
 +        <artifactId>slf4j-nop</artifactId>
 +        <version>${slf4j.version}</version>
 +      </dependency>
 +    </dependencies>
 +  </dependencyManagement>
 +  <build>
      <pluginManagement>
        <plugins>
          <plugin>
@@@ -625,119 -419,18 +625,125 @@@
              </lifecycleMappingMetadata>
            </configuration>
          </plugin>
 -        <plugin>
 -          <groupId>com.github.koraktor</groupId>
 -          <artifactId>mavanagaiata</artifactId>
 -          <version>0.6.1</version>
 -          <configuration>
 -            <skipNoGit>true</skipNoGit>
 -          </configuration>
 -        </plugin>
        </plugins>
      </pluginManagement>
 +    <plugins>
 +      <plugin>
 +        <!-- verify only; 'mvn clean -P sortpom' sorts -->
 +        <groupId>com.google.code.sortpom</groupId>
 +        <artifactId>maven-sortpom-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>verify-sorted-pom</id>
 +            <goals>
 +              <goal>verify</goal>
 +            </goals>
 +            <phase>validate</phase>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>
 +        <artifactId>maven-dependency-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>copy-dependencies</id>
 +            <goals>
 +              <goal>copy-dependencies</goal>
 +            </goals>
 +            <phase>prepare-package</phase>
 +            <configuration>
 +              <outputDirectory>../lib</outputDirectory>
 +              <!-- just grab the non-provided runtime dependencies -->
 +              <stripVersion>true</stripVersion>
 +              <includeScope>runtime</includeScope>
 +              <excludeTransitive>true</excludeTransitive>
 +              <excludeClassifiers>sources,test-sources</excludeClassifiers>
 +            </configuration>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>
 +        <artifactId>maven-enforcer-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>enforce-mvn</id>
 +            <goals>
 +              <goal>enforce</goal>
 +            </goals>
 +            <configuration>
 +              <rules>
 +                <requireMavenVersion>
 +                  <version>[${maven.min-version},)</version>
 +                </requireMavenVersion>
++                <requireProperty>
++                  <property>hadoop.profile</property>
++                  <regex>(1|2)</regex>
++                  <regexMessage>You should specify the Hadoop profile by major Hadoop generation, i.e. 1 or 2, not by a version number.
++    Use hadoop.version to use a particular Hadoop version within that generation. See README for more details.</regexMessage>
++                </requireProperty>
 +              </rules>
 +            </configuration>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>com.github.koraktor</groupId>
 +        <artifactId>mavanagaiata</artifactId>
 +        <executions>
 +          <execution>
 +            <id>git-commit</id>
 +            <goals>
 +              <goal>commit</goal>
 +            </goals>
 +            <phase>validate</phase>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>
 +        <artifactId>maven-failsafe-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>run-integration-tests</id>
 +            <goals>
 +              <goal>integration-test</goal>
 +            </goals>
 +            <phase>integration-test</phase>
 +          </execution>
 +          <execution>
 +            <id>verify-integration-tests</id>
 +            <goals>
 +              <goal>verify</goal>
 +            </goals>
 +            <phase>verify</phase>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>
 +        <artifactId>maven-scm-publish-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>scm-publish</id>
 +            <goals>
 +              <goal>publish-scm</goal>
 +            </goals>
 +            <phase>site-deploy</phase>
 +          </execution>
 +        </executions>
 +      </plugin>
 +    </plugins>
 +    <extensions>
 +      <extension>
 +        <!-- enable ssh deployment of site with maven 3 -->
 +        <groupId>org.apache.maven.wagon</groupId>
 +        <artifactId>wagon-ssh</artifactId>
 +        <version>2.4</version>
 +      </extension>
 +    </extensions>
    </build>
 -
    <reporting>
      <plugins>
        <plugin>
@@@ -939,31 -711,70 +945,52 @@@
              </configuration>
            </plugin>
          </plugins>
 -      </build>
 +      </reporting>
      </profile>
+     <!-- profile for our default Hadoop build
+          unfortunately, has to duplicate one of our
+          specified profiles. see MNG-3328 -->
      <profile>
-       <!-- profile for building against Hadoop 1.0.x
-       Activate by not specifying hadoop.profile -->
-       <id>hadoop-1.0</id>
+       <id>hadoop-default</id>
        <activation>
          <property>
            <name>!hadoop.profile</name>
          </property>
        </activation>
        <properties>
+         <!-- Denotes intention and allows the enforcer plugin to pass when
+              the user is relying on default behavior; won't work to activate profile -->
+         <hadoop.profile>1</hadoop.profile>
 -        <hadoop.version>0.20.203.0</hadoop.version>
 +        <hadoop.version>1.2.1</hadoop.version>
 +        <httpclient.version>3.0.1</httpclient.version>
          <slf4j.version>1.4.3</slf4j.version>
        </properties>
 -      <dependencyManagement>
 -        <dependencies>
 -          <dependency>
 -            <groupId>org.apache.hadoop</groupId>
 -            <artifactId>hadoop-core</artifactId>
 -            <version>${hadoop.version}</version>
 -            <scope>provided</scope>
 -          </dependency>
 -        </dependencies>
 -      </dependencyManagement>
      </profile>
+     <!-- profile for building against Hadoop 1.x
+      XXX Since this is the default, make sure to sync hadoop-default when changing.
+     Activate using: mvn -Dhadoop.profile=1 -->
      <profile>
-       <!-- profile for building against Hadoop 2.0.x
-       Activate using: mvn -Dhadoop.profile=2.0 -->
-       <id>hadoop-2.0</id>
+       <id>hadoop-1</id>
        <activation>
          <property>
            <name>hadoop.profile</name>
-           <value>2.0</value>
+           <value>1</value>
+         </property>
+       </activation>
+       <properties>
 -        <hadoop.version>0.20.203.0</hadoop.version>
++        <hadoop.version>1.2.1</hadoop.version>
++        <httpclient.version>3.0.1</httpclient.version>
+         <slf4j.version>1.4.3</slf4j.version>
+       </properties>
 -      <dependencyManagement>
 -        <dependencies>
 -          <dependency>
 -            <groupId>org.apache.hadoop</groupId>
 -            <artifactId>hadoop-core</artifactId>
 -            <version>${hadoop.version}</version>
 -            <scope>provided</scope>
 -          </dependency>
 -        </dependencies>
 -      </dependencyManagement>
+     </profile>
+     <!-- profile for building against Hadoop 2.x
+     Activate using: mvn -Dhadoop.profile=2 -->
+     <profile>
+       <id>hadoop-2</id>
+       <activation>
+         <property>
+           <name>hadoop.profile</name>
+           <value>2</value>
          </property>
        </activation>
        <properties>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/a91ee4dd/test/pom.xml
----------------------------------------------------------------------
diff --cc test/pom.xml
index 1d3dce4,0000000..9579581
mode 100644,000000..100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@@ -1,167 -1,0 +1,189 @@@
 +<?xml version="1.0" encoding="UTF-8"?>
 +<!--
 +  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.
 +-->
 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 +  <modelVersion>4.0.0</modelVersion>
 +  <parent>
 +    <groupId>org.apache.accumulo</groupId>
 +    <artifactId>accumulo-project</artifactId>
 +    <version>1.5.1-SNAPSHOT</version>
 +  </parent>
 +  <artifactId>accumulo-test</artifactId>
 +  <name>Testing</name>
 +  <dependencies>
 +    <dependency>
 +      <groupId>com.beust</groupId>
 +      <artifactId>jcommander</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>jline</groupId>
 +      <artifactId>jline</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-core</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-fate</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-minicluster</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-server</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-start</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-trace</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.thrift</groupId>
 +      <artifactId>libthrift</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>commons-cli</groupId>
 +      <artifactId>commons-cli</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>commons-codec</groupId>
 +      <artifactId>commons-codec</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>commons-io</groupId>
 +      <artifactId>commons-io</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>log4j</groupId>
 +      <artifactId>log4j</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.commons</groupId>
 +      <artifactId>commons-math</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.hadoop</groupId>
 +      <artifactId>hadoop-client</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.zookeeper</groupId>
 +      <artifactId>zookeeper</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.slf4j</groupId>
 +      <artifactId>slf4j-api</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.slf4j</groupId>
 +      <artifactId>slf4j-log4j12</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>junit</groupId>
 +      <artifactId>junit</artifactId>
 +      <scope>test</scope>
 +    </dependency>
 +  </dependencies>
 +  <build>
 +    <pluginManagement>
 +      <plugins>
 +        <plugin>
 +          <groupId>org.apache.rat</groupId>
 +          <artifactId>apache-rat-plugin</artifactId>
 +          <configuration>
 +            <excludes>
 +              <exclude>system/bench/lib/*splits</exclude>
 +            </excludes>
 +          </configuration>
 +        </plugin>
 +      </plugins>
 +    </pluginManagement>
 +  </build>
 +  <profiles>
 +    <profile>
-       <!-- profile for building against Hadoop 1.0.x
-       Activate by not specifying hadoop.profile -->
-       <id>hadoop-1.0</id>
++      <id>hadoop-default</id>
 +      <activation>
 +        <property>
 +          <name>!hadoop.profile</name>
 +        </property>
 +      </activation>
++      <properties>
++        <!-- Denotes intention and allows the enforcer plugin to pass when
++             the user is relying on default behavior; won't work to activate profile -->
++        <hadoop.profile>1</hadoop.profile>
++      </properties>
 +      <dependencies>
 +        <dependency>
 +          <groupId>org.apache.hadoop</groupId>
 +          <artifactId>hadoop-tools</artifactId>
 +          <scope>test</scope>
 +        </dependency>
 +      </dependencies>
 +    </profile>
++    <!-- profile for building against Hadoop 1.x
++     XXX Since this is the default, make sure to sync hadoop-default when changing.
++    Activate using: mvn -Dhadoop.profile=1 -->
 +    <profile>
-       <!-- profile for building against Hadoop 2.0.x
-       Activate using: mvn -Dhadoop.profile=2.0 -->
-       <id>hadoop-2.0</id>
++      <id>hadoop-1</id>
 +      <activation>
 +        <property>
 +          <name>hadoop.profile</name>
-           <value>2.0</value>
++          <value>1</value>
++        </property>
++      </activation>
++      <dependencies>
++        <dependency>
++          <groupId>org.apache.hadoop</groupId>
++          <artifactId>hadoop-tools</artifactId>
++          <scope>test</scope>
++        </dependency>
++      </dependencies>
++    </profile>
++    <!-- profile for building against Hadoop 2.x
++    Activate using: mvn -Dhadoop.profile=2 -->
++    <profile>
++      <id>hadoop-2</id>
++      <activation>
++        <property>
++          <name>hadoop.profile</name>
++          <value>2</value>
 +        </property>
 +      </activation>
 +      <dependencies>
 +        <dependency>
 +          <groupId>org.apache.hadoop</groupId>
 +          <artifactId>hadoop-distcp</artifactId>
 +          <scope>test</scope>
 +        </dependency>
 +      </dependencies>
 +    </profile>
 +  </profiles>
 +</project>


[09/18] git commit: ACCUMULO-2126 Hadoop profile names should be consistent across branches.

Posted by md...@apache.org.
ACCUMULO-2126 Hadoop profile names should be consistent across branches.

Changes naming scheme to be by Hadoop generation, i.e. hadoop-1 and hadoop-2.

Adds ability to either rely on default or to specify default by profile, i.e. hadoop.profile=1 on 1.4.

Adds a more helpful error message when the provided hadoop.profile doesn't match one of our expected options.

Signed-off-by: Mike Drob <md...@cloudera.com>


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

Branch: refs/heads/1.6.0-SNAPSHOT
Commit: 71f150a777f9fb125fd72e51a23b11ed1f48d5c2
Parents: 65d5fba
Author: Sean Busbey <bu...@cloudera.com>
Authored: Thu Jan 2 16:54:03 2014 -0600
Committer: Mike Drob <md...@cloudera.com>
Committed: Mon Jan 6 15:58:05 2014 -0800

----------------------------------------------------------------------
 README                      |  8 +++---
 pom.xml                     | 54 +++++++++++++++++++++++++++++++++-------
 src/core/pom.xml            | 35 ++++++++++++++++++++------
 src/examples/simple/pom.xml | 35 ++++++++++++++++++++------
 src/minicluster/pom.xml     | 35 ++++++++++++++++++++------
 src/proxy/pom.xml           | 35 ++++++++++++++++++++------
 src/server/pom.xml          | 35 ++++++++++++++++++++------
 src/start/pom.xml           | 35 ++++++++++++++++++++------
 8 files changed, 217 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/README
----------------------------------------------------------------------
diff --git a/README b/README
index 08bac4c..f32d606 100644
--- a/README
+++ b/README
@@ -21,11 +21,11 @@ file for the necessary components.
 
 Run "mvn package && mvn assembly:single -N". By default, Accumulo compiles
 against Hadoop 0.20.203.0.  To compile against a different version
-that is compatible with Hadoop 1.0, specify hadoop.version on the command line,
+that is compatible with Hadoop 1, specify hadoop.version on the command line,
 e.g. "-Dhadoop.version=0.20.205.0" or "-Dhadoop.version=1.1.0".  To compile 
-against Hadoop 2.0, specify "-Dhadoop.profile=2.0".  By default this uses
-2.2.0.  To compile against a different 2.0-compatible version, specify
-the profile and version, e.g. "-Dhadoop.profile=2.0 -Dhadoop.version=0.23.5".
+against Hadoop 2, specify "-Dhadoop.profile=2".  By default this uses
+2.2.0.  To compile against a different Hadoop 2-compatible version, specify
+the profile and version, e.g. "-Dhadoop.profile=2 -Dhadoop.version=0.23.5".
 
 If you are running on another Unix-like operating system (OSX, etc) then
 you may wish to build the native libraries.  They are not strictly necessary

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 7d3dc82..92d8106 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,6 +63,12 @@
                 <requireMavenVersion>
                   <version>[2.0.9,)</version>
                 </requireMavenVersion>
+                <requireProperty>
+                  <property>hadoop.profile</property>
+                  <regex>(1|2)</regex>
+                  <regexMessage>You should specify the Hadoop profile by major Hadoop generation, i.e. 1 or 2, not by a version number.
+    Use hadoop.version to use a particular Hadoop version within that generation. See README for more details.</regexMessage>
+                </requireProperty>
               </rules>
             </configuration>
           </execution>
@@ -707,16 +713,20 @@
         </plugins>
       </build>
     </profile>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
+    <!-- profile for our default Hadoop build
+         unfortunately, has to duplicate one of our
+         specified profiles. see MNG-3328 -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
       <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
         <hadoop.version>0.20.203.0</hadoop.version>
         <slf4j.version>1.4.3</slf4j.version>
       </properties>
@@ -731,14 +741,40 @@
         </dependencies>
       </dependencyManagement>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <properties>
+        <hadoop.version>0.20.203.0</hadoop.version>
+        <slf4j.version>1.4.3</slf4j.version>
+      </properties>
+      <dependencyManagement>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.hadoop</groupId>
+            <artifactId>hadoop-core</artifactId>
+            <version>${hadoop.version}</version>
+            <scope>provided</scope>
+          </dependency>
+        </dependencies>
+      </dependencyManagement>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <properties>
@@ -943,9 +979,9 @@
 
   <properties>
     <targetJdk>1.6</targetJdk>
-    <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
+    <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
     <hadoop.version>0.20.203.0</hadoop.version>
-    <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
+    <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
     <slf4j.version>1.4.3</slf4j.version>
     <zookeeper.version>3.3.1</zookeeper.version>
   </properties>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/core/pom.xml
----------------------------------------------------------------------
diff --git a/src/core/pom.xml b/src/core/pom.xml
index 77a4a72..11ce09b 100644
--- a/src/core/pom.xml
+++ b/src/core/pom.xml
@@ -78,15 +78,18 @@
   </build>
   
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -94,14 +97,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/examples/simple/pom.xml
----------------------------------------------------------------------
diff --git a/src/examples/simple/pom.xml b/src/examples/simple/pom.xml
index 6834b87..6ef7741 100644
--- a/src/examples/simple/pom.xml
+++ b/src/examples/simple/pom.xml
@@ -30,15 +30,18 @@
   <name>examples-simple</name>
   
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -46,14 +49,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/minicluster/pom.xml
----------------------------------------------------------------------
diff --git a/src/minicluster/pom.xml b/src/minicluster/pom.xml
index 3c8843d..a956fdd 100644
--- a/src/minicluster/pom.xml
+++ b/src/minicluster/pom.xml
@@ -51,15 +51,18 @@
   </build>
 
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -67,14 +70,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/proxy/pom.xml
----------------------------------------------------------------------
diff --git a/src/proxy/pom.xml b/src/proxy/pom.xml
index eb88e6b..466d88a 100644
--- a/src/proxy/pom.xml
+++ b/src/proxy/pom.xml
@@ -119,15 +119,18 @@
   </dependencies>
 
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -135,14 +138,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/server/pom.xml
----------------------------------------------------------------------
diff --git a/src/server/pom.xml b/src/server/pom.xml
index 672a6d3..b58affc 100644
--- a/src/server/pom.xml
+++ b/src/server/pom.xml
@@ -111,15 +111,18 @@
   </dependencies>
 
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -127,14 +130,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/start/pom.xml
----------------------------------------------------------------------
diff --git a/src/start/pom.xml b/src/start/pom.xml
index de3be18..69a9ca7 100644
--- a/src/start/pom.xml
+++ b/src/start/pom.xml
@@ -51,15 +51,18 @@
   </build>
   
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -67,14 +70,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>


[18/18] git commit: Merge branch '1.5.1-SNAPSHOT' into 1.6.0-SNAPSHOT

Posted by md...@apache.org.
Merge branch '1.5.1-SNAPSHOT' into 1.6.0-SNAPSHOT


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

Branch: refs/heads/1.6.0-SNAPSHOT
Commit: ee3ccb82d235b40f76a8d460e0688cbe304bd4bf
Parents: 4a87383 a91ee4d
Author: Mike Drob <md...@cloudera.com>
Authored: Mon Jan 6 16:21:31 2014 -0800
Committer: Mike Drob <md...@cloudera.com>
Committed: Mon Jan 6 16:21:31 2014 -0800

----------------------------------------------------------------------
 README       |  8 ++++----
 pom.xml      | 47 +++++++++++++++++++++++++++++++++++++----------
 test/pom.xml | 38 ++++++++++++++++++++++++++++++--------
 3 files changed, 71 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/ee3ccb82/README
----------------------------------------------------------------------
diff --cc README
index a232fdb,b0fbcbd..69aad57
--- a/README
+++ b/README
@@@ -15,24 -15,17 +15,24 @@@ ready to go on x86 GNU/Linux: there is 
  
  However, if you only have source code, or you wish to make changes, you need to
  have maven configured to get Accumulo prerequisites from repositories.  See
 -the pom.xml file for the necessary components. Activate the 'docs' profile to build
 -the Accumulo developer and user manual.
 -
 -Run "mvn package -P assemble" to build a distribution, or run 
 -"mvn package -P assemble,docs" to also build the documentation. By default, 
 -Accumulo compiles against Hadoop 1.2.1.  To compile against a different version
 -that is compatible with Hadoop 1, specify hadoop.version on the command line,
 -e.g. "-Dhadoop.version=0.20.205.0" or "-Dhadoop.version=1.1.0".  To compile 
 -against Hadoop 2, specify "-Dhadoop.profile=2".  By default this uses
 -2.2.0.  To compile against a different 2-compatible version, specify
 -the profile and version, e.g. "-Dhadoop.profile=2 -Dhadoop.version=0.23.5".
 +the pom.xml file for the necessary components. 
 +
 +You can build an Accumulo binary distribution, which is created in the 
 +assemble/target directory, using the following command. Note that maven 3
 +is required starting with Accumulo v1.5.0. By default, Accumulo compiles
 +against Hadoop 2.2.0, but these artifacts should be compatible with Apache
 +Hadoop 1.2.x or Apache Hadoop 2.2.x releases.
 +
 +  mvn package -P assemble
 +
 +By default, Accumulo compiles against Apache Hadoop 2.2.0. To compile against 
- a  different 2.2-compatible version, specify the profile and version, 
++a  different Hadoop 2-compatible version, specify the profile and version,
 +e.g. "-Dhadoop.version=0.23.5".
 +
 +To compile against Apache Hadoop 1.2.1, or a different version that is compatible 
- with Hadoop 1.0, specify hadoop.profile and hadoop.version on the command line,
- e.g. "-Dhadoop.profile=1.2 -Dhadoop.version=0.20.205.0" or 
-      "-Dhadoop.profile=1.2 -Dhadoop.version=1.1.0".  
++with Hadoop 1, specify hadoop.profile and hadoop.version on the command line,
++e.g. "-Dhadoop.profile=1 -Dhadoop.version=0.20.205.0" or
++     "-Dhadoop.profile=1 -Dhadoop.version=1.1.0".
  
  If you are running on another Unix-like operating system (OSX, etc) then
  you may wish to build the native libraries.  They are not strictly necessary

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ee3ccb82/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index 6dc973f,2d5f663..87f8ed6
--- a/pom.xml
+++ b/pom.xml
@@@ -114,20 -105,19 +114,20 @@@
      </site>
    </distributionManagement>
    <properties>
 +    <accumulo.it.forkCount>1</accumulo.it.forkCount>
      <!-- used for filtering the java source with the current version -->
      <accumulo.release.version>${project.version}</accumulo.release.version>
-     <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
+     <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
 -    <hadoop.version>1.2.1</hadoop.version>
 -    <httpclient.version>3.0.1</httpclient.version>
 +    <hadoop.version>2.2.0</hadoop.version>
 +    <httpclient.version>3.1</httpclient.version>
      <!-- the maven-release-plugin makes this recommendation, due to plugin bugs -->
      <maven.min-version>3.0.4</maven.min-version>
      <powermock.version>1.5</powermock.version>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <sealJars>false</sealJars>
-     <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
+     <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
 -    <slf4j.version>1.4.3</slf4j.version>
 +    <slf4j.version>1.7.5</slf4j.version>
      <!-- ZooKeeper 3.4.x works also, but we're not using new features yet; this ensures 3.3.x compatibility. -->
      <zookeeper.version>3.3.6</zookeeper.version>
    </properties>
@@@ -1186,10 -947,30 +1192,29 @@@
          </plugins>
        </reporting>
      </profile>
+     <!-- profile for our default Hadoop build
+          unfortunately, has to duplicate one of our
+          specified profiles. see MNG-3328 -->
      <profile>
-       <!-- profile for building against Hadoop 1.2.x
-       Activate using: mvn -Dhadoop.profile=1.2 -->
-       <id>hadoop-1.2</id>
+       <id>hadoop-default</id>
+       <activation>
+         <property>
+           <name>!hadoop.profile</name>
+         </property>
+       </activation>
+       <properties>
+         <!-- Denotes intention and allows the enforcer plugin to pass when
+              the user is relying on default behavior; won't work to activate profile -->
 -        <hadoop.profile>1</hadoop.profile>
 -        <hadoop.version>1.2.1</hadoop.version>
 -        <httpclient.version>3.0.1</httpclient.version>
 -        <slf4j.version>1.4.3</slf4j.version>
++        <hadoop.profile>2</hadoop.profile>
++        <hadoop.version>2.2.0</hadoop.version>
++        <httpclient.version>3.1</httpclient.version>
++        <slf4j.version>1.7.5</slf4j.version>
+       </properties>
+     </profile>
+     <!-- profile for building against Hadoop 1.x
 -     XXX Since this is the default, make sure to sync hadoop-default when changing.
+     Activate using: mvn -Dhadoop.profile=1 -->
+     <profile>
+       <id>hadoop-1</id>
        <activation>
          <property>
            <name>hadoop.profile</name>
@@@ -1202,13 -983,14 +1227,15 @@@
          <slf4j.version>1.4.3</slf4j.version>
        </properties>
      </profile>
+     <!-- profile for building against Hadoop 2.x
++     XXX Since this is the default, make sure to sync hadoop-default when changing.
+     Activate using: mvn -Dhadoop.profile=2 -->
      <profile>
-       <!-- profile for building against Hadoop 2.2.x
-       Activate by not specifying hadoop.profile -->
-       <id>hadoop-2.2</id>
+       <id>hadoop-2</id>
        <activation>
          <property>
-           <name>!hadoop.profile</name>
+           <name>hadoop.profile</name>
+           <value>2</value>
          </property>
        </activation>
        <properties>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ee3ccb82/test/pom.xml
----------------------------------------------------------------------
diff --cc test/pom.xml
index c48aa7a,9579581..901baa3
--- a/test/pom.xml
+++ b/test/pom.xml
@@@ -197,74 -129,30 +197,94 @@@
    </build>
    <profiles>
      <profile>
 +      <id>shared-mini-for-it</id>
 +      <activation>
 +        <property>
 +          <name>!skipITs</name>
 +        </property>
 +      </activation>
 +      <build>
 +        <plugins>
 +          <plugin>
 +            <groupId>org.apache.maven.plugins</groupId>
 +            <artifactId>maven-dependency-plugin</artifactId>
 +            <executions>
 +              <execution>
 +                <id>setup-mini-classpath</id>
 +                <goals>
 +                  <goal>build-classpath</goal>
 +                </goals>
 +                <phase>pre-integration-test</phase>
 +                <configuration>
 +                  <includeScope>test</includeScope>
 +                  <outputProperty>accumulo-it-mini-classpath</outputProperty>
 +                </configuration>
 +              </execution>
 +            </executions>
 +          </plugin>
 +          <plugin>
 +            <groupId>org.codehaus.mojo</groupId>
 +            <artifactId>exec-maven-plugin</artifactId>
 +            <executions>
 +              <execution>
 +                <id>run-mini-for-integration-tests</id>
 +                <goals>
 +                  <goal>java</goal>
 +                </goals>
 +                <phase>pre-integration-test</phase>
 +                <configuration>
 +                  <mainClass>org.apache.accumulo.maven.plugin.StartMojo</mainClass>
 +                  <classpathScope>test</classpathScope>
 +                  <arguments>
 +                    <!-- These first two should stay static -->
 +                    <argument>${project.build.directory}</argument>
 +                    <argument>${accumulo-it-mini-classpath}</argument>
 +                    <!-- InstanceName RootPassword, one pair per MiniAccumuloCluster -->
 +                    <argument>testInstance1 testRootPassword1</argument>
 +                  </arguments>
 +                </configuration>
 +              </execution>
 +            </executions>
 +          </plugin>
 +          <plugin>
 +            <groupId>org.apache.maven.plugins</groupId>
 +            <artifactId>maven-failsafe-plugin</artifactId>
 +            <configuration>
 +              <systemProperties>
 +                <property>
 +                  <name>org.apache.accumulo.test.functional.useSslForIT</name>
 +                  <value>${useSslForIT}</value>
 +                </property>
 +              </systemProperties>
 +            </configuration>
 +          </plugin>
 +        </plugins>
 +      </build>
 +    </profile>
 +    <profile>
-       <!-- profile for building against Hadoop 1.2.x
-       Activate using: mvn -Dhadoop.profile=1.2 -->
-       <id>hadoop-1.2</id>
+       <id>hadoop-default</id>
+       <activation>
+         <property>
+           <name>!hadoop.profile</name>
+         </property>
+       </activation>
+       <properties>
+         <!-- Denotes intention and allows the enforcer plugin to pass when
+              the user is relying on default behavior; won't work to activate profile -->
 -        <hadoop.profile>1</hadoop.profile>
++        <hadoop.profile>2</hadoop.profile>
+       </properties>
+       <dependencies>
+         <dependency>
+           <groupId>org.apache.hadoop</groupId>
 -          <artifactId>hadoop-tools</artifactId>
++          <artifactId>hadoop-distcp</artifactId>
+           <scope>test</scope>
+         </dependency>
+       </dependencies>
+     </profile>
+     <!-- profile for building against Hadoop 1.x
 -     XXX Since this is the default, make sure to sync hadoop-default when changing.
+     Activate using: mvn -Dhadoop.profile=1 -->
+     <profile>
+       <id>hadoop-1</id>
        <activation>
          <property>
            <name>hadoop.profile</name>
@@@ -279,13 -167,14 +299,15 @@@
          </dependency>
        </dependencies>
      </profile>
+     <!-- profile for building against Hadoop 2.x
++     XXX Since this is the default, make sure to sync hadoop-default when changing.
+     Activate using: mvn -Dhadoop.profile=2 -->
      <profile>
-       <!-- profile for building against Hadoop 2.2.x
-       Activate by not specifying hadoop.profile -->
-       <id>hadoop-2.2</id>
+       <id>hadoop-2</id>
        <activation>
          <property>
-           <name>!hadoop.profile</name>
+           <name>hadoop.profile</name>
+           <value>2</value>
          </property>
        </activation>
        <dependencies>


[08/18] git commit: Merge branch '1.5.1-SNAPSHOT' of https://git-wip-us.apache.org/repos/asf/accumulo into 1.5.1-SNAPSHOT

Posted by md...@apache.org.
Merge branch '1.5.1-SNAPSHOT' of https://git-wip-us.apache.org/repos/asf/accumulo into 1.5.1-SNAPSHOT


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

Branch: refs/heads/1.6.0-SNAPSHOT
Commit: 65aaddd1703f170bacec3b3f35f4d3ff59ff2c7d
Parents: a18e469 f43ba3b
Author: Eric Newton <er...@gmail.com>
Authored: Mon Jan 6 18:34:05 2014 -0500
Committer: Eric Newton <er...@gmail.com>
Committed: Mon Jan 6 18:34:05 2014 -0500

----------------------------------------------------------------------
 .../core/conf/AccumuloConfiguration.java        | 35 +++++++++-----
 .../core/conf/AccumuloConfigurationTest.java    | 48 ++++++++++++++++++++
 2 files changed, 72 insertions(+), 11 deletions(-)
----------------------------------------------------------------------



[12/18] git commit: ACCUMULO-2126 Hadoop profile names should be consistent across branches.

Posted by md...@apache.org.
ACCUMULO-2126 Hadoop profile names should be consistent across branches.

Changes naming scheme to be by Hadoop generation, i.e. hadoop-1 and hadoop-2.

Adds ability to either rely on default or to specify default by profile, i.e. hadoop.profile=1 on 1.4.

Adds a more helpful error message when the provided hadoop.profile doesn't match one of our expected options.

Signed-off-by: Mike Drob <md...@cloudera.com>


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

Branch: refs/heads/1.5.1-SNAPSHOT
Commit: 71f150a777f9fb125fd72e51a23b11ed1f48d5c2
Parents: 65d5fba
Author: Sean Busbey <bu...@cloudera.com>
Authored: Thu Jan 2 16:54:03 2014 -0600
Committer: Mike Drob <md...@cloudera.com>
Committed: Mon Jan 6 15:58:05 2014 -0800

----------------------------------------------------------------------
 README                      |  8 +++---
 pom.xml                     | 54 +++++++++++++++++++++++++++++++++-------
 src/core/pom.xml            | 35 ++++++++++++++++++++------
 src/examples/simple/pom.xml | 35 ++++++++++++++++++++------
 src/minicluster/pom.xml     | 35 ++++++++++++++++++++------
 src/proxy/pom.xml           | 35 ++++++++++++++++++++------
 src/server/pom.xml          | 35 ++++++++++++++++++++------
 src/start/pom.xml           | 35 ++++++++++++++++++++------
 8 files changed, 217 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/README
----------------------------------------------------------------------
diff --git a/README b/README
index 08bac4c..f32d606 100644
--- a/README
+++ b/README
@@ -21,11 +21,11 @@ file for the necessary components.
 
 Run "mvn package && mvn assembly:single -N". By default, Accumulo compiles
 against Hadoop 0.20.203.0.  To compile against a different version
-that is compatible with Hadoop 1.0, specify hadoop.version on the command line,
+that is compatible with Hadoop 1, specify hadoop.version on the command line,
 e.g. "-Dhadoop.version=0.20.205.0" or "-Dhadoop.version=1.1.0".  To compile 
-against Hadoop 2.0, specify "-Dhadoop.profile=2.0".  By default this uses
-2.2.0.  To compile against a different 2.0-compatible version, specify
-the profile and version, e.g. "-Dhadoop.profile=2.0 -Dhadoop.version=0.23.5".
+against Hadoop 2, specify "-Dhadoop.profile=2".  By default this uses
+2.2.0.  To compile against a different Hadoop 2-compatible version, specify
+the profile and version, e.g. "-Dhadoop.profile=2 -Dhadoop.version=0.23.5".
 
 If you are running on another Unix-like operating system (OSX, etc) then
 you may wish to build the native libraries.  They are not strictly necessary

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 7d3dc82..92d8106 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,6 +63,12 @@
                 <requireMavenVersion>
                   <version>[2.0.9,)</version>
                 </requireMavenVersion>
+                <requireProperty>
+                  <property>hadoop.profile</property>
+                  <regex>(1|2)</regex>
+                  <regexMessage>You should specify the Hadoop profile by major Hadoop generation, i.e. 1 or 2, not by a version number.
+    Use hadoop.version to use a particular Hadoop version within that generation. See README for more details.</regexMessage>
+                </requireProperty>
               </rules>
             </configuration>
           </execution>
@@ -707,16 +713,20 @@
         </plugins>
       </build>
     </profile>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
+    <!-- profile for our default Hadoop build
+         unfortunately, has to duplicate one of our
+         specified profiles. see MNG-3328 -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
       <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
         <hadoop.version>0.20.203.0</hadoop.version>
         <slf4j.version>1.4.3</slf4j.version>
       </properties>
@@ -731,14 +741,40 @@
         </dependencies>
       </dependencyManagement>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <properties>
+        <hadoop.version>0.20.203.0</hadoop.version>
+        <slf4j.version>1.4.3</slf4j.version>
+      </properties>
+      <dependencyManagement>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.hadoop</groupId>
+            <artifactId>hadoop-core</artifactId>
+            <version>${hadoop.version}</version>
+            <scope>provided</scope>
+          </dependency>
+        </dependencies>
+      </dependencyManagement>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <properties>
@@ -943,9 +979,9 @@
 
   <properties>
     <targetJdk>1.6</targetJdk>
-    <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
+    <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
     <hadoop.version>0.20.203.0</hadoop.version>
-    <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
+    <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
     <slf4j.version>1.4.3</slf4j.version>
     <zookeeper.version>3.3.1</zookeeper.version>
   </properties>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/core/pom.xml
----------------------------------------------------------------------
diff --git a/src/core/pom.xml b/src/core/pom.xml
index 77a4a72..11ce09b 100644
--- a/src/core/pom.xml
+++ b/src/core/pom.xml
@@ -78,15 +78,18 @@
   </build>
   
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -94,14 +97,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/examples/simple/pom.xml
----------------------------------------------------------------------
diff --git a/src/examples/simple/pom.xml b/src/examples/simple/pom.xml
index 6834b87..6ef7741 100644
--- a/src/examples/simple/pom.xml
+++ b/src/examples/simple/pom.xml
@@ -30,15 +30,18 @@
   <name>examples-simple</name>
   
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -46,14 +49,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/minicluster/pom.xml
----------------------------------------------------------------------
diff --git a/src/minicluster/pom.xml b/src/minicluster/pom.xml
index 3c8843d..a956fdd 100644
--- a/src/minicluster/pom.xml
+++ b/src/minicluster/pom.xml
@@ -51,15 +51,18 @@
   </build>
 
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -67,14 +70,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/proxy/pom.xml
----------------------------------------------------------------------
diff --git a/src/proxy/pom.xml b/src/proxy/pom.xml
index eb88e6b..466d88a 100644
--- a/src/proxy/pom.xml
+++ b/src/proxy/pom.xml
@@ -119,15 +119,18 @@
   </dependencies>
 
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -135,14 +138,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/server/pom.xml
----------------------------------------------------------------------
diff --git a/src/server/pom.xml b/src/server/pom.xml
index 672a6d3..b58affc 100644
--- a/src/server/pom.xml
+++ b/src/server/pom.xml
@@ -111,15 +111,18 @@
   </dependencies>
 
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -127,14 +130,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/start/pom.xml
----------------------------------------------------------------------
diff --git a/src/start/pom.xml b/src/start/pom.xml
index de3be18..69a9ca7 100644
--- a/src/start/pom.xml
+++ b/src/start/pom.xml
@@ -51,15 +51,18 @@
   </build>
   
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -67,14 +70,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>


[15/18] git commit: Merge branch '1.4.5-SNAPSHOT' into 1.5.1-SNAPSHOT

Posted by md...@apache.org.
Merge branch '1.4.5-SNAPSHOT' into 1.5.1-SNAPSHOT


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

Branch: refs/heads/master
Commit: a91ee4dde68fd96e2fb3014d2a811b860564979e
Parents: 65aaddd 71f150a
Author: Mike Drob <md...@cloudera.com>
Authored: Mon Jan 6 16:14:20 2014 -0800
Committer: Mike Drob <md...@cloudera.com>
Committed: Mon Jan 6 16:14:20 2014 -0800

----------------------------------------------------------------------
 README       | 10 +++++-----
 pom.xml      | 45 ++++++++++++++++++++++++++++++++++++---------
 test/pom.xml | 36 +++++++++++++++++++++++++++++-------
 3 files changed, 70 insertions(+), 21 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/a91ee4dd/README
----------------------------------------------------------------------
diff --cc README
index a100077,f32d606..b0fbcbd
--- a/README
+++ b/README
@@@ -11,21 -11,21 +11,21 @@@ key/value pairs at various points in th
  1. Building
  
  In the normal tarball or RPM release of accumulo, everything is built and
 -ready to go on x86 GNU/Linux for Hadoop 0.20.x and Hadoop 1.x: there is no
 -build step.
 +ready to go on x86 GNU/Linux: there is no build step.
  
 -However, if you only have source code, or you wish to make changes, or you
 -wish to run under a different version of Hadoop, you need to have Maven
 -configured to get Accumulo prerequisites from repositories.  See the pom.xml
 -file for the necessary components.
 +However, if you only have source code, or you wish to make changes, you need to
 +have maven configured to get Accumulo prerequisites from repositories.  See
 +the pom.xml file for the necessary components. Activate the 'docs' profile to build
 +the Accumulo developer and user manual.
  
 -Run "mvn package && mvn assembly:single -N". By default, Accumulo compiles
 -against Hadoop 0.20.203.0.  To compile against a different version
 +Run "mvn package -P assemble" to build a distribution, or run 
 +"mvn package -P assemble,docs" to also build the documentation. By default, 
- Accumulo compiles against Hadoop 1.0.4.  To compile against a different version
- that is compatible with Hadoop 1.0, specify hadoop.version on the command line,
++Accumulo compiles against Hadoop 1.2.1.  To compile against a different version
+ that is compatible with Hadoop 1, specify hadoop.version on the command line,
  e.g. "-Dhadoop.version=0.20.205.0" or "-Dhadoop.version=1.1.0".  To compile 
- against Hadoop 2.0, specify "-Dhadoop.profile=2.0".  By default this uses
- 2.0.4-alpha.  To compile against a different 2.0-compatible version, specify
- the profile and version, e.g. "-Dhadoop.profile=2.0 -Dhadoop.version=0.23.5".
+ against Hadoop 2, specify "-Dhadoop.profile=2".  By default this uses
 -2.2.0.  To compile against a different Hadoop 2-compatible version, specify
++2.2.0.  To compile against a different 2-compatible version, specify
+ the profile and version, e.g. "-Dhadoop.profile=2 -Dhadoop.version=0.23.5".
  
  If you are running on another Unix-like operating system (OSX, etc) then
  you may wish to build the native libraries.  They are not strictly necessary

http://git-wip-us.apache.org/repos/asf/accumulo/blob/a91ee4dd/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index 241d116,92d8106..2d5f663
--- a/pom.xml
+++ b/pom.xml
@@@ -20,337 -21,316 +20,337 @@@
    <parent>
      <groupId>org.apache</groupId>
      <artifactId>apache</artifactId>
 -    <version>10</version>
 +    <version>13</version>
    </parent>
 -
 -
    <groupId>org.apache.accumulo</groupId>
 -  <artifactId>accumulo</artifactId>
 +  <artifactId>accumulo-project</artifactId>
 +  <version>1.5.1-SNAPSHOT</version>
    <packaging>pom</packaging>
 -  <version>1.4.5-SNAPSHOT</version>
 -  <name>accumulo</name>
 -
 +  <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>
 +  <!-- this URL is where the site derived via the maven-site-plugin ends up, not the generic site -->
 +  <url>http://accumulo.apache.org/maven-site/</url>
 +  <organization>
 +    <name>Apache Accumulo Project</name>
 +    <url>http://accumulo.apache.org/</url>
 +  </organization>
 +  <licenses>
 +    <license>
 +      <name>Apache License, Version 2.0</name>
 +      <url>http://www.apache.org/licenses/LICENSE-2.0</url>
 +    </license>
 +  </licenses>
 +  <mailingLists>
 +    <mailingList>
 +      <name>User</name>
 +      <subscribe>user-subscribe@accumulo.apache.org</subscribe>
 +      <unsubscribe>user-unsubscribe@accumulo.apache.org</unsubscribe>
 +      <post>user@accumulo.apache.org</post>
 +      <archive>http://mail-archives.apache.org/mod_mbox/accumulo-user</archive>
 +    </mailingList>
 +    <mailingList>
 +      <name>Dev</name>
 +      <subscribe>dev-subscribe@accumulo.apache.org</subscribe>
 +      <unsubscribe>dev-unsubscribe@accumulo.apache.org</unsubscribe>
 +      <post>dev@accumulo.apache.org</post>
 +      <archive>http://mail-archives.apache.org/mod_mbox/accumulo-dev</archive>
 +    </mailingList>
 +    <mailingList>
 +      <name>Commits</name>
 +      <subscribe>commits-subscribe@accumulo.apache.org</subscribe>
 +      <unsubscribe>commits-unsubscribe@accumulo.apache.org</unsubscribe>
 +      <archive>http://mail-archives.apache.org/mod_mbox/accumulo-commits</archive>
 +    </mailingList>
 +    <mailingList>
 +      <name>Notifications</name>
 +      <subscribe>notifications-subscribe@accumulo.apache.org</subscribe>
 +      <unsubscribe>notifications-unsubscribe@accumulo.apache.org</unsubscribe>
 +      <archive>http://mail-archives.apache.org/mod_mbox/accumulo-notifications</archive>
 +    </mailingList>
 +  </mailingLists>
 +  <prerequisites>
 +    <maven>${maven.min-version}</maven>
 +  </prerequisites>
    <modules>
 -    <module>src/trace</module>
 -    <module>src/core</module>
 -    <module>src/server</module>
 -    <module>src/start</module>
 -    <module>src/examples</module>
 -    <module>src/proxy</module>
 -    <module>src/minicluster</module>
 +    <module>trace</module>
 +    <module>core</module>
 +    <module>fate</module>
 +    <module>server</module>
 +    <module>start</module>
 +    <module>examples</module>
 +    <module>assemble</module>
 +    <module>proxy</module>
 +    <module>test</module>
 +    <module>minicluster</module>
    </modules>
 -
 -  <build>
 -    <resources>
 -      <resource>
 -        <directory>${basedir}/src/main/resources</directory>
 -      </resource>
 -    </resources>
 -    <defaultGoal>package</defaultGoal>
 -    <plugins>
 -      <plugin>
 -        <groupId>org.apache.maven.plugins</groupId>
 -        <artifactId>maven-enforcer-plugin</artifactId>
 -        <executions>
 -          <execution>
 -            <id>enforce-mvn</id>
 -            <goals>
 -              <goal>enforce</goal>
 -            </goals>
 -            <configuration>
 -              <rules>
 -                <requireMavenVersion>
 -                  <version>[2.0.9,)</version>
 -                </requireMavenVersion>
 -                <requireProperty>
 -                  <property>hadoop.profile</property>
 -                  <regex>(1|2)</regex>
 -                  <regexMessage>You should specify the Hadoop profile by major Hadoop generation, i.e. 1 or 2, not by a version number.
 -    Use hadoop.version to use a particular Hadoop version within that generation. See README for more details.</regexMessage>
 -                </requireProperty>
 -              </rules>
 -            </configuration>
 -          </execution>
 -        </executions>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-clean-plugin</artifactId>
 -        <configuration>
 -          <filesets>
 -            <fileset>
 -              <directory>lib</directory>
 -              <includes>
 -                <include>*.jar</include>
 -              </includes>
 -            </fileset>
 -            <fileset>
 -              <directory>docs/apidocs</directory>
 -            </fileset>
 -            <fileset>
 -              <directory>test</directory>
 -              <includes>
 -                <include>**/*.so</include>
 -              </includes>
 -            </fileset>
 -            <fileset>
 -              <directory>./</directory>
 -              <includes>
 -                <include>**/*.pyc</include>
 -              </includes>
 -            </fileset>
 -          </filesets>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <groupId>com.github.koraktor</groupId>
 -        <artifactId>mavanagaiata</artifactId>
 -        <executions>
 -          <execution>
 -            <id>git-commit</id>
 -            <phase>validate</phase>
 -            <goals>
 -              <goal>commit</goal>
 -            </goals>
 -          </execution>
 -        </executions>
 -      </plugin>
 -      <plugin>
 -        <groupId>org.apache.maven.plugins</groupId>
 -        <artifactId>maven-dependency-plugin</artifactId>
 -        <executions>
 -          <execution>
 -            <id>copy-dependencies</id>
 -            <phase>process-resources</phase>
 -            <goals>
 -              <goal>copy-dependencies</goal>
 -            </goals>
 -            <configuration>
 -              <outputDirectory>../../lib</outputDirectory>
 -              <!-- just grab the non-provided runtime dependencies -->
 -              <includeArtifactIds>commons-collections,commons-configuration,commons-io,commons-lang,jline,log4j,libthrift,commons-jci-core,commons-jci-fam,commons-logging,commons-logging-api,guava</includeArtifactIds>
 -              <excludeTransitive>true</excludeTransitive>
 -            </configuration>
 -          </execution>
 -        </executions>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-jar-plugin</artifactId>
 -        <configuration>
 -          <outputDirectory>../../lib</outputDirectory>
 -          <archive>
 -            <manifest>
 -              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
 -              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
 -            </manifest>
 -            <manifestEntries>
 -              <Implementation-Build>${mvngit.commit.id}</Implementation-Build>
 -            </manifestEntries>
 -          </archive>
 -          <includes>
 -            <include>cloudtrace/**</include>
 -            <include>org/apache/accumulo**/**</include>
 -            <include>web/**</include>
 -            <include>randomwalk/**</include>
 -            <include>*.*</include>
 -            <include>**/META-INF/*</include>
 -          </includes>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-resources-plugin</artifactId>
 -        <configuration>
 -          <encoding>UTF-8</encoding>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-assembly-plugin</artifactId>
 -        <configuration>
 -          <descriptors>
 -            <descriptor>src/assemble/dist.xml</descriptor>
 -          </descriptors>
 -          <tarLongFileMode>gnu</tarLongFileMode>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-compiler-plugin</artifactId>
 -        <configuration>
 -          <source>1.6</source>
 -          <target>1.6</target>
 -          <optimize>true</optimize>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-javadoc-plugin</artifactId>
 -        <configuration>
 -          <encoding>UTF-8</encoding>
 -          <quiet>true</quiet>
 -          <jarOutputDirectory>lib</jarOutputDirectory>
 -          <reportOutputDirectory>docs</reportOutputDirectory>
 -          <javadocVersion>1.6</javadocVersion>
 -          <additionalJOption>-J-Xmx512m</additionalJOption>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-source-plugin</artifactId>
 -        <configuration>
 -          <outputDirectory>../../lib</outputDirectory>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <artifactId>maven-surefire-plugin</artifactId>
 -        <configuration>
 -          <environmentVariables>
 -            <ACCUMULO_HOME>../..</ACCUMULO_HOME>
 -          </environmentVariables>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <groupId>org.codehaus.mojo</groupId>
 -        <artifactId>rpm-maven-plugin</artifactId>
 -        <version>2.1-alpha-3</version>
 -        <inherited>false</inherited>
 -        <configuration>
 -          <name>accumulo</name>
 -          <projversion>${project.version}</projversion>
 -          <summary>Apache Accumulo BigTable clone</summary>
 -          <description>
 -            Apache Accumulo is a large distributed structured store based on
 -            Google's BigTable design.
 -          </description>
 -          <copyright>2011 The Apache Software Foundation.</copyright>
 -          <url>http://accumulo.apache.org</url>
 -          <needarch>x86_64</needarch>
 -          <group>Utilities</group>
 -          <requires>
 -            <require>jdk</require>
 -            <require>hadoop</require>
 -            <require>zookeeper</require>
 -          </requires>
 -          <prefix>/opt/accumulo</prefix>
 -          <defaultDirmode>755</defaultDirmode>
 -          <defaultFilemode>644</defaultFilemode>
 -          <defaultUsername>root</defaultUsername>
 -          <defaultGroupname>root</defaultGroupname>
 -          <mappings>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}</directory>
 -              <sources>
 -                <source>
 -                  <location>README</location>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/docs</directory>
 -              <sources>
 -                <source>
 -                  <location>docs</location>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/test</directory>
 -              <sources>
 -                <source>
 -                  <location>test</location>
 -                  <excludes>
 -                    <exclude>**/walkers.txt</exclude>
 -                    <exclude>**/ingesters.txt</exclude>
 -                    <exclude>**/continuous-env.sh</exclude>
 -                    <exclude>**/*.pyc</exclude>
 -                  </excludes>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/bin</directory>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/bin</directory>
 -              <directoryIncluded>false</directoryIncluded>
 -              <filemode>755</filemode>
 -              <username>root</username>
 -              <groupname>root</groupname>
 -              <sources>
 -                <source>
 -                  <location>bin</location>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/conf</directory>
 -              <sources>
 -                <source>
 -                  <location>conf</location>
 -                  <excludes>
 -                    <exclude>**/accumulo-site.xml</exclude>
 -                    <exclude>**/accumulo-env.sh</exclude>
 -                    <exclude>**/accumulo-metrics.xml</exclude>
 -                    <exclude>**/test-*</exclude>
 -                    <exclude>**/slaves</exclude>
 -                    <exclude>**/masters</exclude>
 -                    <exclude>**/tracers</exclude>
 -                    <exclude>**/gc</exclude>
 -                    <exclude>**/monitor</exclude>
 -                  </excludes>
 -                </source>
 -              </sources>
 -            </mapping>
 -            <mapping>
 -              <directory>/opt/accumulo/accumulo-${project.version}/lib</directory>
 -              <dependency />
 -              <sources>
 -                <source>
 -                  <location>lib</location>
 -                </source>
 -              </sources>
 -            </mapping>
 -          </mappings>
 -        </configuration>
 -      </plugin>
 -      <plugin>
 -        <groupId>org.codehaus.mojo</groupId>
 -        <artifactId>exec-maven-plugin</artifactId>
 -        <inherited>false</inherited>
 +  <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>
 +    <url>https://git-wip-us.apache.org/repos/asf?p=accumulo.git</url>
 +  </scm>
 +  <issueManagement>
 +    <system>JIRA</system>
 +    <url>https://issues.apache.org/jira/browse/ACCUMULO</url>
 +  </issueManagement>
 +  <ciManagement>
 +    <system>Apache Jenkins</system>
 +    <url>https://builds.apache.org/view/A-D/view/Accumulo/</url>
 +  </ciManagement>
 +  <distributionManagement>
 +    <site>
 +      <id>accumulo.mvn.website</id>
 +      <name>Accumulo Maven Site</name>
 +      <!-- this is not likely to be what we really want, but it's good enough for a test -->
 +      <url>scm:svn:https://svn.apache.org/repos/asf/accumulo/site/trunk/maven-site</url>
 +    </site>
 +  </distributionManagement>
 +  <properties>
 +    <!-- used for filtering the java source with the current version -->
 +    <accumulo.release.version>${project.version}</accumulo.release.version>
-     <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
++    <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
 +    <hadoop.version>1.2.1</hadoop.version>
 +    <httpclient.version>3.0.1</httpclient.version>
 +    <!-- the maven-release-plugin makes this recommendation, due to plugin bugs -->
 +    <maven.min-version>3.0.4</maven.min-version>
 +    <powermock.version>1.5</powermock.version>
 +    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 +    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 +    <sealJars>false</sealJars>
-     <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
++    <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
 +    <slf4j.version>1.4.3</slf4j.version>
 +    <!-- ZooKeeper 3.4.x works also, but we're not using new features yet; this ensures 3.3.x compatibility. -->
 +    <zookeeper.version>3.3.6</zookeeper.version>
 +  </properties>
 +  <dependencyManagement>
 +    <dependencies>
 +      <dependency>
 +        <groupId>com.beust</groupId>
 +        <artifactId>jcommander</artifactId>
 +        <version>1.30</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>com.google.code.gson</groupId>
 +        <artifactId>gson</artifactId>
 +        <version>2.2.2</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>com.google.guava</groupId>
 +        <artifactId>guava</artifactId>
 +        <version>14.0.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-cli</groupId>
 +        <artifactId>commons-cli</artifactId>
          <version>1.2</version>
 -        <configuration>
 -          <executable>bash</executable>
 -          <arguments>
 -            <argument>docs/src/user_manual/build.sh</argument>
 -          </arguments>
 -        </configuration>
 -        <executions>
 -          <execution>
 -            <id>user-manual</id>
 -            <phase>prepare-package</phase>
 -            <goals>
 -              <goal>exec</goal>
 -            </goals>
 -          </execution>
 -        </executions>
 -      </plugin>
 -    </plugins>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-codec</groupId>
 +        <artifactId>commons-codec</artifactId>
 +        <version>1.4</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-collections</groupId>
 +        <artifactId>commons-collections</artifactId>
 +        <version>3.2.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-configuration</groupId>
 +        <artifactId>commons-configuration</artifactId>
 +        <version>1.6</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-httpclient</groupId>
 +        <artifactId>commons-httpclient</artifactId>
 +        <version>${httpclient.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-io</groupId>
 +        <artifactId>commons-io</artifactId>
 +        <version>2.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-lang</groupId>
 +        <artifactId>commons-lang</artifactId>
 +        <version>2.4</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-logging</groupId>
 +        <artifactId>commons-logging</artifactId>
 +        <version>1.1.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>commons-logging</groupId>
 +        <artifactId>commons-logging-api</artifactId>
 +        <version>1.0.4</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>javax.servlet</groupId>
 +        <artifactId>servlet-api</artifactId>
 +        <version>2.5</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>javax.ws.rs</groupId>
 +        <artifactId>jsr311-api</artifactId>
 +        <version>1.1.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>jline</groupId>
 +        <artifactId>jline</artifactId>
 +        <version>1.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>junit</groupId>
 +        <artifactId>junit</artifactId>
 +        <version>4.11</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>log4j</groupId>
 +        <artifactId>log4j</artifactId>
 +        <version>1.2.16</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-core</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-examples-simple</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-fate</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-minicluster</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-proxy</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-server</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-start</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-test</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.accumulo</groupId>
 +        <artifactId>accumulo-trace</artifactId>
 +        <version>${project.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.commons</groupId>
 +        <artifactId>commons-jci-core</artifactId>
 +        <version>1.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.commons</groupId>
 +        <artifactId>commons-jci-fam</artifactId>
 +        <version>1.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.commons</groupId>
 +        <artifactId>commons-math</artifactId>
 +        <version>2.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.commons</groupId>
 +        <artifactId>commons-vfs2</artifactId>
 +        <version>2.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.hadoop</groupId>
 +        <artifactId>hadoop-client</artifactId>
 +        <version>${hadoop.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.hadoop</groupId>
 +        <artifactId>hadoop-distcp</artifactId>
 +        <version>${hadoop.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.hadoop</groupId>
 +        <artifactId>hadoop-minicluster</artifactId>
 +        <version>${hadoop.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.hadoop</groupId>
 +        <artifactId>hadoop-tools</artifactId>
 +        <version>${hadoop.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.thrift</groupId>
 +        <artifactId>libthrift</artifactId>
 +        <version>0.9.0</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.apache.zookeeper</groupId>
 +        <artifactId>zookeeper</artifactId>
 +        <version>${zookeeper.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.easymock</groupId>
 +        <artifactId>easymock</artifactId>
 +        <version>3.1</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.mortbay.jetty</groupId>
 +        <artifactId>jetty</artifactId>
 +        <version>6.1.26</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.powermock</groupId>
 +        <artifactId>powermock-api-easymock</artifactId>
 +        <version>${powermock.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.powermock</groupId>
 +        <artifactId>powermock-core</artifactId>
 +        <version>${powermock.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.powermock</groupId>
 +        <artifactId>powermock-module-junit4</artifactId>
 +        <version>${powermock.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.powermock</groupId>
 +        <artifactId>powermock-reflect</artifactId>
 +        <version>${powermock.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.slf4j</groupId>
 +        <artifactId>slf4j-api</artifactId>
 +        <version>${slf4j.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.slf4j</groupId>
 +        <artifactId>slf4j-log4j12</artifactId>
 +        <version>${slf4j.version}</version>
 +      </dependency>
 +      <dependency>
 +        <groupId>org.slf4j</groupId>
 +        <artifactId>slf4j-nop</artifactId>
 +        <version>${slf4j.version}</version>
 +      </dependency>
 +    </dependencies>
 +  </dependencyManagement>
 +  <build>
      <pluginManagement>
        <plugins>
          <plugin>
@@@ -625,119 -419,18 +625,125 @@@
              </lifecycleMappingMetadata>
            </configuration>
          </plugin>
 -        <plugin>
 -          <groupId>com.github.koraktor</groupId>
 -          <artifactId>mavanagaiata</artifactId>
 -          <version>0.6.1</version>
 -          <configuration>
 -            <skipNoGit>true</skipNoGit>
 -          </configuration>
 -        </plugin>
        </plugins>
      </pluginManagement>
 +    <plugins>
 +      <plugin>
 +        <!-- verify only; 'mvn clean -P sortpom' sorts -->
 +        <groupId>com.google.code.sortpom</groupId>
 +        <artifactId>maven-sortpom-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>verify-sorted-pom</id>
 +            <goals>
 +              <goal>verify</goal>
 +            </goals>
 +            <phase>validate</phase>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>
 +        <artifactId>maven-dependency-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>copy-dependencies</id>
 +            <goals>
 +              <goal>copy-dependencies</goal>
 +            </goals>
 +            <phase>prepare-package</phase>
 +            <configuration>
 +              <outputDirectory>../lib</outputDirectory>
 +              <!-- just grab the non-provided runtime dependencies -->
 +              <stripVersion>true</stripVersion>
 +              <includeScope>runtime</includeScope>
 +              <excludeTransitive>true</excludeTransitive>
 +              <excludeClassifiers>sources,test-sources</excludeClassifiers>
 +            </configuration>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>
 +        <artifactId>maven-enforcer-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>enforce-mvn</id>
 +            <goals>
 +              <goal>enforce</goal>
 +            </goals>
 +            <configuration>
 +              <rules>
 +                <requireMavenVersion>
 +                  <version>[${maven.min-version},)</version>
 +                </requireMavenVersion>
++                <requireProperty>
++                  <property>hadoop.profile</property>
++                  <regex>(1|2)</regex>
++                  <regexMessage>You should specify the Hadoop profile by major Hadoop generation, i.e. 1 or 2, not by a version number.
++    Use hadoop.version to use a particular Hadoop version within that generation. See README for more details.</regexMessage>
++                </requireProperty>
 +              </rules>
 +            </configuration>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>com.github.koraktor</groupId>
 +        <artifactId>mavanagaiata</artifactId>
 +        <executions>
 +          <execution>
 +            <id>git-commit</id>
 +            <goals>
 +              <goal>commit</goal>
 +            </goals>
 +            <phase>validate</phase>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>
 +        <artifactId>maven-failsafe-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>run-integration-tests</id>
 +            <goals>
 +              <goal>integration-test</goal>
 +            </goals>
 +            <phase>integration-test</phase>
 +          </execution>
 +          <execution>
 +            <id>verify-integration-tests</id>
 +            <goals>
 +              <goal>verify</goal>
 +            </goals>
 +            <phase>verify</phase>
 +          </execution>
 +        </executions>
 +      </plugin>
 +      <plugin>
 +        <groupId>org.apache.maven.plugins</groupId>
 +        <artifactId>maven-scm-publish-plugin</artifactId>
 +        <executions>
 +          <execution>
 +            <id>scm-publish</id>
 +            <goals>
 +              <goal>publish-scm</goal>
 +            </goals>
 +            <phase>site-deploy</phase>
 +          </execution>
 +        </executions>
 +      </plugin>
 +    </plugins>
 +    <extensions>
 +      <extension>
 +        <!-- enable ssh deployment of site with maven 3 -->
 +        <groupId>org.apache.maven.wagon</groupId>
 +        <artifactId>wagon-ssh</artifactId>
 +        <version>2.4</version>
 +      </extension>
 +    </extensions>
    </build>
 -
    <reporting>
      <plugins>
        <plugin>
@@@ -939,31 -711,70 +945,52 @@@
              </configuration>
            </plugin>
          </plugins>
 -      </build>
 +      </reporting>
      </profile>
+     <!-- profile for our default Hadoop build
+          unfortunately, has to duplicate one of our
+          specified profiles. see MNG-3328 -->
      <profile>
-       <!-- profile for building against Hadoop 1.0.x
-       Activate by not specifying hadoop.profile -->
-       <id>hadoop-1.0</id>
+       <id>hadoop-default</id>
        <activation>
          <property>
            <name>!hadoop.profile</name>
          </property>
        </activation>
        <properties>
+         <!-- Denotes intention and allows the enforcer plugin to pass when
+              the user is relying on default behavior; won't work to activate profile -->
+         <hadoop.profile>1</hadoop.profile>
 -        <hadoop.version>0.20.203.0</hadoop.version>
 +        <hadoop.version>1.2.1</hadoop.version>
 +        <httpclient.version>3.0.1</httpclient.version>
          <slf4j.version>1.4.3</slf4j.version>
        </properties>
 -      <dependencyManagement>
 -        <dependencies>
 -          <dependency>
 -            <groupId>org.apache.hadoop</groupId>
 -            <artifactId>hadoop-core</artifactId>
 -            <version>${hadoop.version}</version>
 -            <scope>provided</scope>
 -          </dependency>
 -        </dependencies>
 -      </dependencyManagement>
      </profile>
+     <!-- profile for building against Hadoop 1.x
+      XXX Since this is the default, make sure to sync hadoop-default when changing.
+     Activate using: mvn -Dhadoop.profile=1 -->
      <profile>
-       <!-- profile for building against Hadoop 2.0.x
-       Activate using: mvn -Dhadoop.profile=2.0 -->
-       <id>hadoop-2.0</id>
+       <id>hadoop-1</id>
        <activation>
          <property>
            <name>hadoop.profile</name>
-           <value>2.0</value>
+           <value>1</value>
+         </property>
+       </activation>
+       <properties>
 -        <hadoop.version>0.20.203.0</hadoop.version>
++        <hadoop.version>1.2.1</hadoop.version>
++        <httpclient.version>3.0.1</httpclient.version>
+         <slf4j.version>1.4.3</slf4j.version>
+       </properties>
 -      <dependencyManagement>
 -        <dependencies>
 -          <dependency>
 -            <groupId>org.apache.hadoop</groupId>
 -            <artifactId>hadoop-core</artifactId>
 -            <version>${hadoop.version}</version>
 -            <scope>provided</scope>
 -          </dependency>
 -        </dependencies>
 -      </dependencyManagement>
+     </profile>
+     <!-- profile for building against Hadoop 2.x
+     Activate using: mvn -Dhadoop.profile=2 -->
+     <profile>
+       <id>hadoop-2</id>
+       <activation>
+         <property>
+           <name>hadoop.profile</name>
+           <value>2</value>
          </property>
        </activation>
        <properties>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/a91ee4dd/test/pom.xml
----------------------------------------------------------------------
diff --cc test/pom.xml
index 1d3dce4,0000000..9579581
mode 100644,000000..100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@@ -1,167 -1,0 +1,189 @@@
 +<?xml version="1.0" encoding="UTF-8"?>
 +<!--
 +  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.
 +-->
 +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 +  <modelVersion>4.0.0</modelVersion>
 +  <parent>
 +    <groupId>org.apache.accumulo</groupId>
 +    <artifactId>accumulo-project</artifactId>
 +    <version>1.5.1-SNAPSHOT</version>
 +  </parent>
 +  <artifactId>accumulo-test</artifactId>
 +  <name>Testing</name>
 +  <dependencies>
 +    <dependency>
 +      <groupId>com.beust</groupId>
 +      <artifactId>jcommander</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>jline</groupId>
 +      <artifactId>jline</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-core</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-fate</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-minicluster</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-server</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-start</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.accumulo</groupId>
 +      <artifactId>accumulo-trace</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.thrift</groupId>
 +      <artifactId>libthrift</artifactId>
 +    </dependency>
 +    <dependency>
 +      <groupId>commons-cli</groupId>
 +      <artifactId>commons-cli</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>commons-codec</groupId>
 +      <artifactId>commons-codec</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>commons-io</groupId>
 +      <artifactId>commons-io</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>log4j</groupId>
 +      <artifactId>log4j</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.commons</groupId>
 +      <artifactId>commons-math</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.hadoop</groupId>
 +      <artifactId>hadoop-client</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.apache.zookeeper</groupId>
 +      <artifactId>zookeeper</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.slf4j</groupId>
 +      <artifactId>slf4j-api</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>org.slf4j</groupId>
 +      <artifactId>slf4j-log4j12</artifactId>
 +      <scope>provided</scope>
 +    </dependency>
 +    <dependency>
 +      <groupId>junit</groupId>
 +      <artifactId>junit</artifactId>
 +      <scope>test</scope>
 +    </dependency>
 +  </dependencies>
 +  <build>
 +    <pluginManagement>
 +      <plugins>
 +        <plugin>
 +          <groupId>org.apache.rat</groupId>
 +          <artifactId>apache-rat-plugin</artifactId>
 +          <configuration>
 +            <excludes>
 +              <exclude>system/bench/lib/*splits</exclude>
 +            </excludes>
 +          </configuration>
 +        </plugin>
 +      </plugins>
 +    </pluginManagement>
 +  </build>
 +  <profiles>
 +    <profile>
-       <!-- profile for building against Hadoop 1.0.x
-       Activate by not specifying hadoop.profile -->
-       <id>hadoop-1.0</id>
++      <id>hadoop-default</id>
 +      <activation>
 +        <property>
 +          <name>!hadoop.profile</name>
 +        </property>
 +      </activation>
++      <properties>
++        <!-- Denotes intention and allows the enforcer plugin to pass when
++             the user is relying on default behavior; won't work to activate profile -->
++        <hadoop.profile>1</hadoop.profile>
++      </properties>
 +      <dependencies>
 +        <dependency>
 +          <groupId>org.apache.hadoop</groupId>
 +          <artifactId>hadoop-tools</artifactId>
 +          <scope>test</scope>
 +        </dependency>
 +      </dependencies>
 +    </profile>
++    <!-- profile for building against Hadoop 1.x
++     XXX Since this is the default, make sure to sync hadoop-default when changing.
++    Activate using: mvn -Dhadoop.profile=1 -->
 +    <profile>
-       <!-- profile for building against Hadoop 2.0.x
-       Activate using: mvn -Dhadoop.profile=2.0 -->
-       <id>hadoop-2.0</id>
++      <id>hadoop-1</id>
 +      <activation>
 +        <property>
 +          <name>hadoop.profile</name>
-           <value>2.0</value>
++          <value>1</value>
++        </property>
++      </activation>
++      <dependencies>
++        <dependency>
++          <groupId>org.apache.hadoop</groupId>
++          <artifactId>hadoop-tools</artifactId>
++          <scope>test</scope>
++        </dependency>
++      </dependencies>
++    </profile>
++    <!-- profile for building against Hadoop 2.x
++    Activate using: mvn -Dhadoop.profile=2 -->
++    <profile>
++      <id>hadoop-2</id>
++      <activation>
++        <property>
++          <name>hadoop.profile</name>
++          <value>2</value>
 +        </property>
 +      </activation>
 +      <dependencies>
 +        <dependency>
 +          <groupId>org.apache.hadoop</groupId>
 +          <artifactId>hadoop-distcp</artifactId>
 +          <scope>test</scope>
 +        </dependency>
 +      </dependencies>
 +    </profile>
 +  </profiles>
 +</project>


[10/18] git commit: ACCUMULO-2126 Hadoop profile names should be consistent across branches.

Posted by md...@apache.org.
ACCUMULO-2126 Hadoop profile names should be consistent across branches.

Changes naming scheme to be by Hadoop generation, i.e. hadoop-1 and hadoop-2.

Adds ability to either rely on default or to specify default by profile, i.e. hadoop.profile=1 on 1.4.

Adds a more helpful error message when the provided hadoop.profile doesn't match one of our expected options.

Signed-off-by: Mike Drob <md...@cloudera.com>


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

Branch: refs/heads/master
Commit: 71f150a777f9fb125fd72e51a23b11ed1f48d5c2
Parents: 65d5fba
Author: Sean Busbey <bu...@cloudera.com>
Authored: Thu Jan 2 16:54:03 2014 -0600
Committer: Mike Drob <md...@cloudera.com>
Committed: Mon Jan 6 15:58:05 2014 -0800

----------------------------------------------------------------------
 README                      |  8 +++---
 pom.xml                     | 54 +++++++++++++++++++++++++++++++++-------
 src/core/pom.xml            | 35 ++++++++++++++++++++------
 src/examples/simple/pom.xml | 35 ++++++++++++++++++++------
 src/minicluster/pom.xml     | 35 ++++++++++++++++++++------
 src/proxy/pom.xml           | 35 ++++++++++++++++++++------
 src/server/pom.xml          | 35 ++++++++++++++++++++------
 src/start/pom.xml           | 35 ++++++++++++++++++++------
 8 files changed, 217 insertions(+), 55 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/README
----------------------------------------------------------------------
diff --git a/README b/README
index 08bac4c..f32d606 100644
--- a/README
+++ b/README
@@ -21,11 +21,11 @@ file for the necessary components.
 
 Run "mvn package && mvn assembly:single -N". By default, Accumulo compiles
 against Hadoop 0.20.203.0.  To compile against a different version
-that is compatible with Hadoop 1.0, specify hadoop.version on the command line,
+that is compatible with Hadoop 1, specify hadoop.version on the command line,
 e.g. "-Dhadoop.version=0.20.205.0" or "-Dhadoop.version=1.1.0".  To compile 
-against Hadoop 2.0, specify "-Dhadoop.profile=2.0".  By default this uses
-2.2.0.  To compile against a different 2.0-compatible version, specify
-the profile and version, e.g. "-Dhadoop.profile=2.0 -Dhadoop.version=0.23.5".
+against Hadoop 2, specify "-Dhadoop.profile=2".  By default this uses
+2.2.0.  To compile against a different Hadoop 2-compatible version, specify
+the profile and version, e.g. "-Dhadoop.profile=2 -Dhadoop.version=0.23.5".
 
 If you are running on another Unix-like operating system (OSX, etc) then
 you may wish to build the native libraries.  They are not strictly necessary

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 7d3dc82..92d8106 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,6 +63,12 @@
                 <requireMavenVersion>
                   <version>[2.0.9,)</version>
                 </requireMavenVersion>
+                <requireProperty>
+                  <property>hadoop.profile</property>
+                  <regex>(1|2)</regex>
+                  <regexMessage>You should specify the Hadoop profile by major Hadoop generation, i.e. 1 or 2, not by a version number.
+    Use hadoop.version to use a particular Hadoop version within that generation. See README for more details.</regexMessage>
+                </requireProperty>
               </rules>
             </configuration>
           </execution>
@@ -707,16 +713,20 @@
         </plugins>
       </build>
     </profile>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
+    <!-- profile for our default Hadoop build
+         unfortunately, has to duplicate one of our
+         specified profiles. see MNG-3328 -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
       <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
         <hadoop.version>0.20.203.0</hadoop.version>
         <slf4j.version>1.4.3</slf4j.version>
       </properties>
@@ -731,14 +741,40 @@
         </dependencies>
       </dependencyManagement>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <properties>
+        <hadoop.version>0.20.203.0</hadoop.version>
+        <slf4j.version>1.4.3</slf4j.version>
+      </properties>
+      <dependencyManagement>
+        <dependencies>
+          <dependency>
+            <groupId>org.apache.hadoop</groupId>
+            <artifactId>hadoop-core</artifactId>
+            <version>${hadoop.version}</version>
+            <scope>provided</scope>
+          </dependency>
+        </dependencies>
+      </dependencyManagement>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <properties>
@@ -943,9 +979,9 @@
 
   <properties>
     <targetJdk>1.6</targetJdk>
-    <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
+    <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
     <hadoop.version>0.20.203.0</hadoop.version>
-    <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
+    <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
     <slf4j.version>1.4.3</slf4j.version>
     <zookeeper.version>3.3.1</zookeeper.version>
   </properties>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/core/pom.xml
----------------------------------------------------------------------
diff --git a/src/core/pom.xml b/src/core/pom.xml
index 77a4a72..11ce09b 100644
--- a/src/core/pom.xml
+++ b/src/core/pom.xml
@@ -78,15 +78,18 @@
   </build>
   
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -94,14 +97,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/examples/simple/pom.xml
----------------------------------------------------------------------
diff --git a/src/examples/simple/pom.xml b/src/examples/simple/pom.xml
index 6834b87..6ef7741 100644
--- a/src/examples/simple/pom.xml
+++ b/src/examples/simple/pom.xml
@@ -30,15 +30,18 @@
   <name>examples-simple</name>
   
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -46,14 +49,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/minicluster/pom.xml
----------------------------------------------------------------------
diff --git a/src/minicluster/pom.xml b/src/minicluster/pom.xml
index 3c8843d..a956fdd 100644
--- a/src/minicluster/pom.xml
+++ b/src/minicluster/pom.xml
@@ -51,15 +51,18 @@
   </build>
 
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -67,14 +70,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/proxy/pom.xml
----------------------------------------------------------------------
diff --git a/src/proxy/pom.xml b/src/proxy/pom.xml
index eb88e6b..466d88a 100644
--- a/src/proxy/pom.xml
+++ b/src/proxy/pom.xml
@@ -119,15 +119,18 @@
   </dependencies>
 
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -135,14 +138,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/server/pom.xml
----------------------------------------------------------------------
diff --git a/src/server/pom.xml b/src/server/pom.xml
index 672a6d3..b58affc 100644
--- a/src/server/pom.xml
+++ b/src/server/pom.xml
@@ -111,15 +111,18 @@
   </dependencies>
 
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -127,14 +130,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/71f150a7/src/start/pom.xml
----------------------------------------------------------------------
diff --git a/src/start/pom.xml b/src/start/pom.xml
index de3be18..69a9ca7 100644
--- a/src/start/pom.xml
+++ b/src/start/pom.xml
@@ -51,15 +51,18 @@
   </build>
   
   <profiles>
-    <!-- profile for building against Hadoop 1.0.x
-    Activate by not specifying hadoop.profile -->
     <profile>
-      <id>hadoop-1.0</id>
+      <id>hadoop-default</id>
       <activation>
         <property>
           <name>!hadoop.profile</name>
         </property>
       </activation>
+      <properties>
+        <!-- Denotes intention and allows the enforcer plugin to pass when
+             the user is relying on default behavior; won't work to activate profile -->
+        <hadoop.profile>1</hadoop.profile>
+      </properties>
       <dependencies>
         <dependency>
           <groupId>org.apache.hadoop</groupId>
@@ -67,14 +70,32 @@
         </dependency>
       </dependencies>
     </profile>
-    <!-- profile for building against Hadoop 2.0.x
-    Activate using: mvn -Dhadoop.profile=2.0 -->
+    <!-- profile for building against Hadoop 1.x
+     XXX Since this is the default, make sure to sync hadoop-default when changing.
+    Activate using: mvn -Dhadoop.profile=1 -->
     <profile>
-      <id>hadoop-2.0</id>
+      <id>hadoop-1</id>
       <activation>
         <property>
           <name>hadoop.profile</name>
-          <value>2.0</value>
+          <value>1</value>
+        </property>
+      </activation>
+      <dependencies>
+        <dependency>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-core</artifactId>
+        </dependency>
+      </dependencies>
+    </profile>
+    <!-- profile for building against Hadoop 2.x
+    Activate using: mvn -Dhadoop.profile=2 -->
+    <profile>
+      <id>hadoop-2</id>
+      <activation>
+        <property>
+          <name>hadoop.profile</name>
+          <value>2</value>
         </property>
       </activation>
       <dependencies>


[07/18] git commit: Merge branch '1.5.1-SNAPSHOT' of https://git-wip-us.apache.org/repos/asf/accumulo into 1.5.1-SNAPSHOT

Posted by md...@apache.org.
Merge branch '1.5.1-SNAPSHOT' of https://git-wip-us.apache.org/repos/asf/accumulo into 1.5.1-SNAPSHOT


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

Branch: refs/heads/master
Commit: 65aaddd1703f170bacec3b3f35f4d3ff59ff2c7d
Parents: a18e469 f43ba3b
Author: Eric Newton <er...@gmail.com>
Authored: Mon Jan 6 18:34:05 2014 -0500
Committer: Eric Newton <er...@gmail.com>
Committed: Mon Jan 6 18:34:05 2014 -0500

----------------------------------------------------------------------
 .../core/conf/AccumuloConfiguration.java        | 35 +++++++++-----
 .../core/conf/AccumuloConfigurationTest.java    | 48 ++++++++++++++++++++
 2 files changed, 72 insertions(+), 11 deletions(-)
----------------------------------------------------------------------



[04/18] git commit: ACCUMULO-2141 found a typo

Posted by md...@apache.org.
ACCUMULO-2141 found a typo


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

Branch: refs/heads/master
Commit: a18e469e922f937716aa0d69e0570219614a2220
Parents: 4c9a666
Author: Eric Newton <er...@gmail.com>
Authored: Mon Jan 6 18:33:35 2014 -0500
Committer: Eric Newton <er...@gmail.com>
Committed: Mon Jan 6 18:33:35 2014 -0500

----------------------------------------------------------------------
 docs/examples/README.dirlist | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/a18e469e/docs/examples/README.dirlist
----------------------------------------------------------------------
diff --git a/docs/examples/README.dirlist b/docs/examples/README.dirlist
index b60650f..e505cf9 100644
--- a/docs/examples/README.dirlist
+++ b/docs/examples/README.dirlist
@@ -56,7 +56,7 @@ To perform searches on file or directory names, also use QueryUtil.java.  Search
     $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.QueryUtil -i instance -z zookeepers -u username -p password -t indexTable --auths exampleVis --path filename --search
     $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.QueryUtil -i instance -z zookeepers -u username -p password -t indexTable --auths exampleVis --path 'filename*' --search
     $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.QueryUtil -i instance -z zookeepers -u username -p password -t indexTable --auths exampleVis --path '*jar' --search
-    $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.QueryUtil -i instance -z zookeepers -u username -p password -t indexTable --auths exampleVis iipath 'filename*jar' --search
+    $ ./bin/accumulo org.apache.accumulo.examples.simple.dirlist.QueryUtil -i instance -z zookeepers -u username -p password -t indexTable --auths exampleVis --path 'filename*jar' --search
 
 To count the number of direct children (directories and files) and descendants (children and children's descendants, directories and files), run the FileCount over the dirTable table.
 The results are written back to the same table.  FileCount reads from and writes to Accumulo.  This requires scan authorizations for the read and a visibility for the data written.


[16/18] git commit: Merge branch '1.5.1-SNAPSHOT' into 1.6.0-SNAPSHOT

Posted by md...@apache.org.
Merge branch '1.5.1-SNAPSHOT' into 1.6.0-SNAPSHOT


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

Branch: refs/heads/master
Commit: ee3ccb82d235b40f76a8d460e0688cbe304bd4bf
Parents: 4a87383 a91ee4d
Author: Mike Drob <md...@cloudera.com>
Authored: Mon Jan 6 16:21:31 2014 -0800
Committer: Mike Drob <md...@cloudera.com>
Committed: Mon Jan 6 16:21:31 2014 -0800

----------------------------------------------------------------------
 README       |  8 ++++----
 pom.xml      | 47 +++++++++++++++++++++++++++++++++++++----------
 test/pom.xml | 38 ++++++++++++++++++++++++++++++--------
 3 files changed, 71 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/ee3ccb82/README
----------------------------------------------------------------------
diff --cc README
index a232fdb,b0fbcbd..69aad57
--- a/README
+++ b/README
@@@ -15,24 -15,17 +15,24 @@@ ready to go on x86 GNU/Linux: there is 
  
  However, if you only have source code, or you wish to make changes, you need to
  have maven configured to get Accumulo prerequisites from repositories.  See
 -the pom.xml file for the necessary components. Activate the 'docs' profile to build
 -the Accumulo developer and user manual.
 -
 -Run "mvn package -P assemble" to build a distribution, or run 
 -"mvn package -P assemble,docs" to also build the documentation. By default, 
 -Accumulo compiles against Hadoop 1.2.1.  To compile against a different version
 -that is compatible with Hadoop 1, specify hadoop.version on the command line,
 -e.g. "-Dhadoop.version=0.20.205.0" or "-Dhadoop.version=1.1.0".  To compile 
 -against Hadoop 2, specify "-Dhadoop.profile=2".  By default this uses
 -2.2.0.  To compile against a different 2-compatible version, specify
 -the profile and version, e.g. "-Dhadoop.profile=2 -Dhadoop.version=0.23.5".
 +the pom.xml file for the necessary components. 
 +
 +You can build an Accumulo binary distribution, which is created in the 
 +assemble/target directory, using the following command. Note that maven 3
 +is required starting with Accumulo v1.5.0. By default, Accumulo compiles
 +against Hadoop 2.2.0, but these artifacts should be compatible with Apache
 +Hadoop 1.2.x or Apache Hadoop 2.2.x releases.
 +
 +  mvn package -P assemble
 +
 +By default, Accumulo compiles against Apache Hadoop 2.2.0. To compile against 
- a  different 2.2-compatible version, specify the profile and version, 
++a  different Hadoop 2-compatible version, specify the profile and version,
 +e.g. "-Dhadoop.version=0.23.5".
 +
 +To compile against Apache Hadoop 1.2.1, or a different version that is compatible 
- with Hadoop 1.0, specify hadoop.profile and hadoop.version on the command line,
- e.g. "-Dhadoop.profile=1.2 -Dhadoop.version=0.20.205.0" or 
-      "-Dhadoop.profile=1.2 -Dhadoop.version=1.1.0".  
++with Hadoop 1, specify hadoop.profile and hadoop.version on the command line,
++e.g. "-Dhadoop.profile=1 -Dhadoop.version=0.20.205.0" or
++     "-Dhadoop.profile=1 -Dhadoop.version=1.1.0".
  
  If you are running on another Unix-like operating system (OSX, etc) then
  you may wish to build the native libraries.  They are not strictly necessary

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ee3ccb82/pom.xml
----------------------------------------------------------------------
diff --cc pom.xml
index 6dc973f,2d5f663..87f8ed6
--- a/pom.xml
+++ b/pom.xml
@@@ -114,20 -105,19 +114,20 @@@
      </site>
    </distributionManagement>
    <properties>
 +    <accumulo.it.forkCount>1</accumulo.it.forkCount>
      <!-- used for filtering the java source with the current version -->
      <accumulo.release.version>${project.version}</accumulo.release.version>
-     <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
+     <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
 -    <hadoop.version>1.2.1</hadoop.version>
 -    <httpclient.version>3.0.1</httpclient.version>
 +    <hadoop.version>2.2.0</hadoop.version>
 +    <httpclient.version>3.1</httpclient.version>
      <!-- the maven-release-plugin makes this recommendation, due to plugin bugs -->
      <maven.min-version>3.0.4</maven.min-version>
      <powermock.version>1.5</powermock.version>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
      <sealJars>false</sealJars>
-     <!-- overwritten in profiles hadoop-1.0 or hadoop-2.0 -->
+     <!-- overwritten in profiles hadoop-1 or hadoop-2 -->
 -    <slf4j.version>1.4.3</slf4j.version>
 +    <slf4j.version>1.7.5</slf4j.version>
      <!-- ZooKeeper 3.4.x works also, but we're not using new features yet; this ensures 3.3.x compatibility. -->
      <zookeeper.version>3.3.6</zookeeper.version>
    </properties>
@@@ -1186,10 -947,30 +1192,29 @@@
          </plugins>
        </reporting>
      </profile>
+     <!-- profile for our default Hadoop build
+          unfortunately, has to duplicate one of our
+          specified profiles. see MNG-3328 -->
      <profile>
-       <!-- profile for building against Hadoop 1.2.x
-       Activate using: mvn -Dhadoop.profile=1.2 -->
-       <id>hadoop-1.2</id>
+       <id>hadoop-default</id>
+       <activation>
+         <property>
+           <name>!hadoop.profile</name>
+         </property>
+       </activation>
+       <properties>
+         <!-- Denotes intention and allows the enforcer plugin to pass when
+              the user is relying on default behavior; won't work to activate profile -->
 -        <hadoop.profile>1</hadoop.profile>
 -        <hadoop.version>1.2.1</hadoop.version>
 -        <httpclient.version>3.0.1</httpclient.version>
 -        <slf4j.version>1.4.3</slf4j.version>
++        <hadoop.profile>2</hadoop.profile>
++        <hadoop.version>2.2.0</hadoop.version>
++        <httpclient.version>3.1</httpclient.version>
++        <slf4j.version>1.7.5</slf4j.version>
+       </properties>
+     </profile>
+     <!-- profile for building against Hadoop 1.x
 -     XXX Since this is the default, make sure to sync hadoop-default when changing.
+     Activate using: mvn -Dhadoop.profile=1 -->
+     <profile>
+       <id>hadoop-1</id>
        <activation>
          <property>
            <name>hadoop.profile</name>
@@@ -1202,13 -983,14 +1227,15 @@@
          <slf4j.version>1.4.3</slf4j.version>
        </properties>
      </profile>
+     <!-- profile for building against Hadoop 2.x
++     XXX Since this is the default, make sure to sync hadoop-default when changing.
+     Activate using: mvn -Dhadoop.profile=2 -->
      <profile>
-       <!-- profile for building against Hadoop 2.2.x
-       Activate by not specifying hadoop.profile -->
-       <id>hadoop-2.2</id>
+       <id>hadoop-2</id>
        <activation>
          <property>
-           <name>!hadoop.profile</name>
+           <name>hadoop.profile</name>
+           <value>2</value>
          </property>
        </activation>
        <properties>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/ee3ccb82/test/pom.xml
----------------------------------------------------------------------
diff --cc test/pom.xml
index c48aa7a,9579581..901baa3
--- a/test/pom.xml
+++ b/test/pom.xml
@@@ -197,74 -129,30 +197,94 @@@
    </build>
    <profiles>
      <profile>
 +      <id>shared-mini-for-it</id>
 +      <activation>
 +        <property>
 +          <name>!skipITs</name>
 +        </property>
 +      </activation>
 +      <build>
 +        <plugins>
 +          <plugin>
 +            <groupId>org.apache.maven.plugins</groupId>
 +            <artifactId>maven-dependency-plugin</artifactId>
 +            <executions>
 +              <execution>
 +                <id>setup-mini-classpath</id>
 +                <goals>
 +                  <goal>build-classpath</goal>
 +                </goals>
 +                <phase>pre-integration-test</phase>
 +                <configuration>
 +                  <includeScope>test</includeScope>
 +                  <outputProperty>accumulo-it-mini-classpath</outputProperty>
 +                </configuration>
 +              </execution>
 +            </executions>
 +          </plugin>
 +          <plugin>
 +            <groupId>org.codehaus.mojo</groupId>
 +            <artifactId>exec-maven-plugin</artifactId>
 +            <executions>
 +              <execution>
 +                <id>run-mini-for-integration-tests</id>
 +                <goals>
 +                  <goal>java</goal>
 +                </goals>
 +                <phase>pre-integration-test</phase>
 +                <configuration>
 +                  <mainClass>org.apache.accumulo.maven.plugin.StartMojo</mainClass>
 +                  <classpathScope>test</classpathScope>
 +                  <arguments>
 +                    <!-- These first two should stay static -->
 +                    <argument>${project.build.directory}</argument>
 +                    <argument>${accumulo-it-mini-classpath}</argument>
 +                    <!-- InstanceName RootPassword, one pair per MiniAccumuloCluster -->
 +                    <argument>testInstance1 testRootPassword1</argument>
 +                  </arguments>
 +                </configuration>
 +              </execution>
 +            </executions>
 +          </plugin>
 +          <plugin>
 +            <groupId>org.apache.maven.plugins</groupId>
 +            <artifactId>maven-failsafe-plugin</artifactId>
 +            <configuration>
 +              <systemProperties>
 +                <property>
 +                  <name>org.apache.accumulo.test.functional.useSslForIT</name>
 +                  <value>${useSslForIT}</value>
 +                </property>
 +              </systemProperties>
 +            </configuration>
 +          </plugin>
 +        </plugins>
 +      </build>
 +    </profile>
 +    <profile>
-       <!-- profile for building against Hadoop 1.2.x
-       Activate using: mvn -Dhadoop.profile=1.2 -->
-       <id>hadoop-1.2</id>
+       <id>hadoop-default</id>
+       <activation>
+         <property>
+           <name>!hadoop.profile</name>
+         </property>
+       </activation>
+       <properties>
+         <!-- Denotes intention and allows the enforcer plugin to pass when
+              the user is relying on default behavior; won't work to activate profile -->
 -        <hadoop.profile>1</hadoop.profile>
++        <hadoop.profile>2</hadoop.profile>
+       </properties>
+       <dependencies>
+         <dependency>
+           <groupId>org.apache.hadoop</groupId>
 -          <artifactId>hadoop-tools</artifactId>
++          <artifactId>hadoop-distcp</artifactId>
+           <scope>test</scope>
+         </dependency>
+       </dependencies>
+     </profile>
+     <!-- profile for building against Hadoop 1.x
 -     XXX Since this is the default, make sure to sync hadoop-default when changing.
+     Activate using: mvn -Dhadoop.profile=1 -->
+     <profile>
+       <id>hadoop-1</id>
        <activation>
          <property>
            <name>hadoop.profile</name>
@@@ -279,13 -167,14 +299,15 @@@
          </dependency>
        </dependencies>
      </profile>
+     <!-- profile for building against Hadoop 2.x
++     XXX Since this is the default, make sure to sync hadoop-default when changing.
+     Activate using: mvn -Dhadoop.profile=2 -->
      <profile>
-       <!-- profile for building against Hadoop 2.2.x
-       Activate by not specifying hadoop.profile -->
-       <id>hadoop-2.2</id>
+       <id>hadoop-2</id>
        <activation>
          <property>
-           <name>!hadoop.profile</name>
+           <name>hadoop.profile</name>
+           <value>2</value>
          </property>
        </activation>
        <dependencies>


[02/18] git commit: ACCUMULO-1933 Make unit on memory parameters case-insensitive.

Posted by md...@apache.org.
ACCUMULO-1933 Make unit on memory parameters case-insensitive.

1. Added support for both cases for G, M, K and B

2. Added warning message for lower case b and that the code will consider this bytes

3. Added meaningful error message for any number formatting issues

4. Added unit test that test 1 and 3 from above.

 modified:   src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java

 new file:   src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java


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

Branch: refs/heads/1.6.0-SNAPSHOT
Commit: 65d5fba87830191844d3812d0ce3ca0a415be6e2
Parents: e946ba0
Author: tmalaska <te...@cloudera.com>
Authored: Thu Jan 2 15:43:08 2014 -0500
Committer: John Vines <vi...@apache.org>
Committed: Mon Jan 6 18:17:48 2014 -0500

----------------------------------------------------------------------
 .../core/conf/AccumuloConfiguration.java        | 35 +++++++++-----
 .../core/conf/AccumuloConfigurationTest.java    | 48 ++++++++++++++++++++
 2 files changed, 72 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/65d5fba8/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java b/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
index ae123bc..1b046e2 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
@@ -50,17 +50,30 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
   
   static public long getMemoryInBytes(String str) {
     int multiplier = 0;
-    switch (str.charAt(str.length() - 1)) {
-      case 'G':
-        multiplier += 10;
-      case 'M':
-        multiplier += 10;
-      case 'K':
-        multiplier += 10;
-      case 'B':
-        return Long.parseLong(str.substring(0, str.length() - 1)) << multiplier;
-      default:
-        return Long.parseLong(str);
+    char lastChar = str.charAt(str.length() - 1);
+    
+    if (lastChar == 'b') {
+      log.warn("The 'b' in " + str + 
+          " is being considered as bytes. " + 
+          "Setting memory by bits is not supported");
+    }
+    try {
+      switch (Character.toUpperCase(lastChar)) {
+        case 'G':
+          multiplier += 10;
+        case 'M':
+          multiplier += 10;
+        case 'K':
+          multiplier += 10;
+        case 'B':
+          return Long.parseLong(str.substring(0, str.length() - 1)) << multiplier;
+        default:
+          return Long.parseLong(str);
+      }
+    } catch (Exception ex) {
+      throw new IllegalArgumentException("The value '" + str + 
+          "' is not a valid memory setting. A valid value would a number " +
+          "possibily followed by an optional 'G', 'M', 'K', or 'B'.");
     }
   }
   

http://git-wip-us.apache.org/repos/asf/accumulo/blob/65d5fba8/src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
----------------------------------------------------------------------
diff --git a/src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java b/src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
new file mode 100644
index 0000000..a115215
--- /dev/null
+++ b/src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
@@ -0,0 +1,48 @@
+/*
+ * 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.core.conf;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+public class AccumuloConfigurationTest {
+
+  @Test
+  public void testGetMemoryInBytes() throws Exception {
+    assertEquals(42l, AccumuloConfiguration.getMemoryInBytes("42"));
+    assertEquals(42l, AccumuloConfiguration.getMemoryInBytes("42b"));
+    assertEquals(42l, AccumuloConfiguration.getMemoryInBytes("42B"));
+    assertEquals(42l * 1024l, AccumuloConfiguration.getMemoryInBytes("42K"));
+    assertEquals(42l * 1024l, AccumuloConfiguration.getMemoryInBytes("42k"));
+    assertEquals(42l * 1024l * 1024l, AccumuloConfiguration.getMemoryInBytes("42M"));
+    assertEquals(42l * 1024l * 1024l, AccumuloConfiguration.getMemoryInBytes("42m"));
+    assertEquals(42l * 1024l * 1024l * 1024l, AccumuloConfiguration.getMemoryInBytes("42G"));
+    assertEquals(42l * 1024l * 1024l * 1024l, AccumuloConfiguration.getMemoryInBytes("42g"));
+    
+  }
+  
+  @Test(expected = IllegalArgumentException.class)  
+  public void testGetMemoryInBytesFailureCases1() throws Exception {
+    AccumuloConfiguration.getMemoryInBytes("42x");
+  }
+  
+  @Test(expected = IllegalArgumentException.class)  
+  public void testGetMemoryInBytesFailureCases2() throws Exception {
+    AccumuloConfiguration.getMemoryInBytes("FooBar");
+  }
+}
\ No newline at end of file


[03/18] git commit: ACCUMULO-1933 Make unit on memory parameters case-insensitive.

Posted by md...@apache.org.
ACCUMULO-1933 Make unit on memory parameters case-insensitive.

1. Added support for both cases for G, M, K and B

2. Added warning message for lower case b and that the code will consider this bytes

3. Added meaningful error message for any number formatting issues

4. Added unit test that test 1 and 3 from above.

 modified:   src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java

 new file:   src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java


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

Branch: refs/heads/master
Commit: 65d5fba87830191844d3812d0ce3ca0a415be6e2
Parents: e946ba0
Author: tmalaska <te...@cloudera.com>
Authored: Thu Jan 2 15:43:08 2014 -0500
Committer: John Vines <vi...@apache.org>
Committed: Mon Jan 6 18:17:48 2014 -0500

----------------------------------------------------------------------
 .../core/conf/AccumuloConfiguration.java        | 35 +++++++++-----
 .../core/conf/AccumuloConfigurationTest.java    | 48 ++++++++++++++++++++
 2 files changed, 72 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/65d5fba8/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java b/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
index ae123bc..1b046e2 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
@@ -50,17 +50,30 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
   
   static public long getMemoryInBytes(String str) {
     int multiplier = 0;
-    switch (str.charAt(str.length() - 1)) {
-      case 'G':
-        multiplier += 10;
-      case 'M':
-        multiplier += 10;
-      case 'K':
-        multiplier += 10;
-      case 'B':
-        return Long.parseLong(str.substring(0, str.length() - 1)) << multiplier;
-      default:
-        return Long.parseLong(str);
+    char lastChar = str.charAt(str.length() - 1);
+    
+    if (lastChar == 'b') {
+      log.warn("The 'b' in " + str + 
+          " is being considered as bytes. " + 
+          "Setting memory by bits is not supported");
+    }
+    try {
+      switch (Character.toUpperCase(lastChar)) {
+        case 'G':
+          multiplier += 10;
+        case 'M':
+          multiplier += 10;
+        case 'K':
+          multiplier += 10;
+        case 'B':
+          return Long.parseLong(str.substring(0, str.length() - 1)) << multiplier;
+        default:
+          return Long.parseLong(str);
+      }
+    } catch (Exception ex) {
+      throw new IllegalArgumentException("The value '" + str + 
+          "' is not a valid memory setting. A valid value would a number " +
+          "possibily followed by an optional 'G', 'M', 'K', or 'B'.");
     }
   }
   

http://git-wip-us.apache.org/repos/asf/accumulo/blob/65d5fba8/src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
----------------------------------------------------------------------
diff --git a/src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java b/src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
new file mode 100644
index 0000000..a115215
--- /dev/null
+++ b/src/core/src/test/java/org/apache/accumulo/core/conf/AccumuloConfigurationTest.java
@@ -0,0 +1,48 @@
+/*
+ * 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.core.conf;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+public class AccumuloConfigurationTest {
+
+  @Test
+  public void testGetMemoryInBytes() throws Exception {
+    assertEquals(42l, AccumuloConfiguration.getMemoryInBytes("42"));
+    assertEquals(42l, AccumuloConfiguration.getMemoryInBytes("42b"));
+    assertEquals(42l, AccumuloConfiguration.getMemoryInBytes("42B"));
+    assertEquals(42l * 1024l, AccumuloConfiguration.getMemoryInBytes("42K"));
+    assertEquals(42l * 1024l, AccumuloConfiguration.getMemoryInBytes("42k"));
+    assertEquals(42l * 1024l * 1024l, AccumuloConfiguration.getMemoryInBytes("42M"));
+    assertEquals(42l * 1024l * 1024l, AccumuloConfiguration.getMemoryInBytes("42m"));
+    assertEquals(42l * 1024l * 1024l * 1024l, AccumuloConfiguration.getMemoryInBytes("42G"));
+    assertEquals(42l * 1024l * 1024l * 1024l, AccumuloConfiguration.getMemoryInBytes("42g"));
+    
+  }
+  
+  @Test(expected = IllegalArgumentException.class)  
+  public void testGetMemoryInBytesFailureCases1() throws Exception {
+    AccumuloConfiguration.getMemoryInBytes("42x");
+  }
+  
+  @Test(expected = IllegalArgumentException.class)  
+  public void testGetMemoryInBytesFailureCases2() throws Exception {
+    AccumuloConfiguration.getMemoryInBytes("FooBar");
+  }
+}
\ No newline at end of file