You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ct...@apache.org on 2018/04/13 19:31:46 UTC
[accumulo] branch master updated: Separate mapreduce code from core
(#425)
This is an automated email from the ASF dual-hosted git repository.
ctubbsii pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/master by this push:
new 67a1c69 Separate mapreduce code from core (#425)
67a1c69 is described below
commit 67a1c696b7ab0415d1b216110d472c37d505f6a9
Author: Christopher Tubbs <ct...@apache.org>
AuthorDate: Fri Apr 13 15:31:44 2018 -0400
Separate mapreduce code from core (#425)
* Move mapreduce client code to separate module
* Ensure "fresh start" by cleaning out old (deprecated) APIs
---
assemble/pom.xml | 5 +
client/mapreduce/.gitignore | 28 ++++++
{minicluster => client/mapreduce}/pom.xml | 110 ++++-----------------
.../mapreduce/src/main/findbugs/exclude-filter.xml | 29 ++++++
.../core/client/mapred/AbstractInputFormat.java | 79 ++-------------
.../client/mapred/AccumuloFileOutputFormat.java | 0
.../core/client/mapred/AccumuloInputFormat.java | 0
.../mapred/AccumuloMultiTableInputFormat.java | 0
.../core/client/mapred/AccumuloOutputFormat.java | 56 -----------
.../core/client/mapred/AccumuloRowInputFormat.java | 0
.../core/client/mapred/InputFormatBase.java | 55 -----------
.../core/client/mapred/RangeInputSplit.java | 0
.../core/client/mapred/impl/BatchInputSplit.java | 0
.../core/client/mapreduce/AbstractInputFormat.java | 102 ++-----------------
.../client/mapreduce/AccumuloFileOutputFormat.java | 0
.../core/client/mapreduce/AccumuloInputFormat.java | 0
.../mapreduce/AccumuloMultiTableInputFormat.java | 0
.../client/mapreduce/AccumuloOutputFormat.java | 55 -----------
.../client/mapreduce/AccumuloRowInputFormat.java | 0
.../core/client/mapreduce/InputFormatBase.java | 53 ----------
.../core/client/mapreduce/InputTableConfig.java | 0
.../core/client/mapreduce/RangeInputSplit.java | 63 ++----------
.../client/mapreduce/impl/BatchInputSplit.java | 0
.../client/mapreduce/impl/DelegationTokenStub.java | 0
.../core/client/mapreduce/impl/SplitUtils.java | 2 -
.../mapreduce/lib/impl/ConfiguratorBase.java | 37 +------
.../mapreduce/lib/impl/DistributedCacheHelper.java | 0
.../mapreduce/lib/impl/FileOutputConfigurator.java | 0
.../mapreduce/lib/impl/InputConfigurator.java | 72 +-------------
.../lib/impl}/MapReduceClientOnDefaultTable.java | 2 +-
.../lib/impl}/MapReduceClientOnRequiredTable.java | 2 +-
.../mapreduce/lib/impl}/MapReduceClientOpts.java | 3 +-
.../mapreduce/lib/impl/OutputConfigurator.java | 0
.../client/mapreduce/lib/impl/package-info.java | 0
.../lib/partition/KeyRangePartitioner.java | 0
.../mapreduce/lib/partition/RangePartitioner.java | 0
.../mapred/AccumuloFileOutputFormatTest.java | 0
.../client/mapred/AccumuloInputFormatTest.java | 0
.../mapred/AccumuloMultiTableInputFormatTest.java | 0
.../client/mapred/AccumuloOutputFormatTest.java | 0
.../core/client/mapred/RangeInputSplitTest.java | 4 -
.../mapreduce/AccumuloFileOutputFormatTest.java | 0
.../client/mapreduce/AccumuloInputFormatTest.java | 0
.../AccumuloMultiTableInputFormatTest.java | 0
.../client/mapreduce/AccumuloOutputFormatTest.java | 0
.../client/mapreduce/InputTableConfigTest.java | 0
.../core/client/mapreduce/RangeInputSplitTest.java | 4 -
.../client/mapreduce/impl/BatchInputSplitTest.java | 4 -
.../mapreduce/lib/impl/ConfiguratorBaseTest.java | 17 ----
.../lib/partition/RangePartitionerTest.java | 0
core/pom.xml | 10 +-
.../core/client/admin/TableOperations.java | 3 +-
.../apache/accumulo/core/util/DeprecationUtil.java | 17 ----
minicluster/pom.xml | 3 +-
pom.xml | 6 ++
.../tserver/compaction/MajorCompactionRequest.java | 3 -
.../TooManyDeletesCompactionStrategy.java | 6 +-
test/pom.xml | 4 +
.../apache/accumulo/test/mapreduce/RowHash.java | 2 +-
59 files changed, 133 insertions(+), 703 deletions(-)
diff --git a/assemble/pom.xml b/assemble/pom.xml
index 9a0663b..0aba9cb 100644
--- a/assemble/pom.xml
+++ b/assemble/pom.xml
@@ -112,6 +112,11 @@
</dependency>
<dependency>
<groupId>org.apache.accumulo</groupId>
+ <artifactId>accumulo-client-mapreduce</artifactId>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.accumulo</groupId>
<artifactId>accumulo-core</artifactId>
<optional>true</optional>
</dependency>
diff --git a/client/mapreduce/.gitignore b/client/mapreduce/.gitignore
new file mode 100644
index 0000000..e77a822
--- /dev/null
+++ b/client/mapreduce/.gitignore
@@ -0,0 +1,28 @@
+# 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.
+
+# Maven ignores
+/target/
+
+# IDE ignores
+/.settings/
+/.project
+/.classpath
+/.pydevproject
+/.idea
+/*.iml
+/nbproject/
+/nbactions.xml
+/nb-configuration.xml
diff --git a/minicluster/pom.xml b/client/mapreduce/pom.xml
similarity index 57%
copy from minicluster/pom.xml
copy to client/mapreduce/pom.xml
index 4d4aa82..2ecce2d 100644
--- a/minicluster/pom.xml
+++ b/client/mapreduce/pom.xml
@@ -21,33 +21,21 @@
<groupId>org.apache.accumulo</groupId>
<artifactId>accumulo-project</artifactId>
<version>2.0.0-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
</parent>
- <artifactId>accumulo-minicluster</artifactId>
- <name>Apache Accumulo MiniCluster</name>
- <description>A library for launching and running a standalone instance of Apache Accumulo for testing.</description>
+ <artifactId>accumulo-client-mapreduce</artifactId>
+ <name>Apache Accumulo MapReduce APIs</name>
+ <description>Apache Accumulo core libraries.</description>
<dependencies>
<dependency>
<groupId>com.beust</groupId>
<artifactId>jcommander</artifactId>
</dependency>
<dependency>
- <groupId>com.google.auto.service</groupId>
- <artifactId>auto-service</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
<dependency>
- <groupId>commons-io</groupId>
- <artifactId>commons-io</artifactId>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- </dependency>
- <dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</dependency>
@@ -60,46 +48,6 @@
<artifactId>accumulo-fate</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.accumulo</groupId>
- <artifactId>accumulo-gc</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.accumulo</groupId>
- <artifactId>accumulo-master</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.accumulo</groupId>
- <artifactId>accumulo-monitor</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.accumulo</groupId>
- <artifactId>accumulo-server-base</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.accumulo</groupId>
- <artifactId>accumulo-start</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.accumulo</groupId>
- <artifactId>accumulo-tracer</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.accumulo</groupId>
- <artifactId>accumulo-tserver</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-vfs2</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.thrift</groupId>
- <artifactId>libthrift</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.zookeeper</groupId>
- <artifactId>zookeeper</artifactId>
- </dependency>
- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</dependency>
@@ -109,21 +57,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.apache.curator</groupId>
- <artifactId>curator-framework</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.curator</groupId>
- <artifactId>curator-test</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.easymock</groupId>
- <artifactId>easymock</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<scope>test</scope>
@@ -142,14 +75,28 @@
</goals>
<configuration>
<includes>
- <include>org[.]apache[.]accumulo[.]minicluster[.].*</include>
+ <include>org[.]apache[.]accumulo[.]core[.]client[.]mapred(?:uce)?[.].*</include>
</includes>
<excludes>
- <exclude>.*Impl</exclude>
<exclude>.*[.]impl[.].*</exclude>
</excludes>
<allows>
- <allow>org[.]apache[.]accumulo[.]core[.](client|data|security)[.](?!.*(impl|thrift|crypto).*).*</allow>
+ <allow>org[.]apache[.]accumulo[.]core[.](?:client|data|security)[.](?!.*(impl|thrift|crypto).*).*</allow>
+ <!-- Not public API, but hard to get rid of. Pair is just so useful. -->
+ <allow>org[.]apache[.]accumulo[.]core[.]util[.]Pair</allow>
+ <!--Types from hadoop used in API. If adding a new type from
+ Hadoop to the Accumulo API ensure its annotated as stable.-->
+ <allow>org[.]apache[.]hadoop[.]conf[.]Configuration</allow>
+ <allow>org[.]apache[.]hadoop[.]fs[.](FileSystem|Path)</allow>
+ <allow>org[.]apache[.]hadoop[.]io[.](Text|Writable|WritableComparable|WritableComparator)</allow>
+ <allow>org[.]apache[.]hadoop[.]mapred[.](JobConf|RecordReader|InputSplit|RecordWriter|Reporter)</allow>
+ <allow>org[.]apache[.]hadoop[.]mapred[.]FileOutputFormat[$]Counter</allow>
+ <allow>org[.]apache[.]hadoop[.]mapreduce[.](Job|JobContext|RecordReader|InputSplit|TaskAttemptContext|RecordWriter|OutputCommitter|TaskInputOutputContext)</allow>
+ <allow>org[.]apache[.]hadoop[.]mapreduce[.]lib[.]output[.]FileOutputFormat[$]Counter</allow>
+ <allow>org[.]apache[.]hadoop[.]util[.]Progressable</allow>
+ <allow>org[.]apache[.]hadoop[.]mapred[.](FileAlreadyExistsException|InvalidJobConfException)</allow>
+ <!--ugghhh-->
+ <allow>org[.]apache[.]log4j[.](Level|Logger)</allow>
</allows>
</configuration>
</execution>
@@ -173,11 +120,6 @@
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-minicluster</artifactId>
- <optional>true</optional>
- </dependency>
</dependencies>
</profile>
<profile>
@@ -193,11 +135,6 @@
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-minicluster</artifactId>
- <optional>true</optional>
- </dependency>
</dependencies>
</profile>
<profile>
@@ -215,11 +152,6 @@
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
- <artifactId>hadoop-client-minicluster</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client-runtime</artifactId>
<scope>runtime</scope>
</dependency>
diff --git a/client/mapreduce/src/main/findbugs/exclude-filter.xml b/client/mapreduce/src/main/findbugs/exclude-filter.xml
new file mode 100644
index 0000000..108e26e
--- /dev/null
+++ b/client/mapreduce/src/main/findbugs/exclude-filter.xml
@@ -0,0 +1,29 @@
+<!--
+ 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.
+-->
+<FindBugsFilter>
+ <Match>
+ <!-- ignore intentional name shadowing -->
+ <Or>
+ <Class name="org.apache.accumulo.core.client.mapred.RangeInputSplit" />
+ <Class name="org.apache.accumulo.core.client.mapred.impl.BatchInputSplit" />
+ </Or>
+ <Or>
+ <Bug code="NM" pattern="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS" />
+ <Bug code="NM" pattern="NM_SAME_SIMPLE_NAME_AS_INTERFACE" />
+ </Or>
+ </Match>
+</FindBugsFilter>
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java
similarity index 91%
rename from core/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java
index ac46580..f58a8a3 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java
+++ b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/AbstractInputFormat.java
@@ -73,7 +73,6 @@ import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.data.impl.KeyExtent;
import org.apache.accumulo.core.master.state.tables.TableState;
import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.util.DeprecationUtil;
import org.apache.accumulo.core.util.Pair;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapred.InputFormat;
@@ -254,24 +253,6 @@ public abstract class AbstractInputFormat<K,V> implements InputFormat<K,V> {
*
* @param job
* the Hadoop job instance to be configured
- * @param instanceName
- * the Accumulo instance name
- * @param zooKeepers
- * a comma-separated list of zookeeper servers
- * @since 1.5.0
- * @deprecated since 1.6.0; Use {@link #setConnectionInfo(JobConf, ConnectionInfo)} instead.
- */
- @Deprecated
- public static void setZooKeeperInstance(JobConf job, String instanceName, String zooKeepers) {
- setZooKeeperInstance(job,
- ClientConfiguration.create().withInstance(instanceName).withZkHosts(zooKeepers));
- }
-
- /**
- * Configures a {@link org.apache.accumulo.core.client.ZooKeeperInstance} for this job.
- *
- * @param job
- * the Hadoop job instance to be configured
* @param clientConfig
* client configuration containing connection options
* @since 1.6.0
@@ -283,21 +264,6 @@ public abstract class AbstractInputFormat<K,V> implements InputFormat<K,V> {
}
/**
- * Configures a {@link org.apache.accumulo.core.client.mock.MockInstance} for this job.
- *
- * @param job
- * the Hadoop job instance to be configured
- * @param instanceName
- * the Accumulo instance name
- * @since 1.5.0
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework
- */
- @Deprecated
- public static void setMockInstance(JobConf job, String instanceName) {
- InputConfigurator.setMockInstance(CLASS, job, instanceName);
- }
-
- /**
* Initializes an Accumulo {@link org.apache.accumulo.core.client.Instance} based on the
* configuration.
*
@@ -492,24 +458,6 @@ public abstract class AbstractInputFormat<K,V> implements InputFormat<K,V> {
}
/**
- * Configures the iterators on a scanner for the given table name.
- *
- * @param job
- * the Hadoop job configuration
- * @param scanner
- * the scanner for which to configure the iterators
- * @param tableName
- * the table name for which the scanner is configured
- * @since 1.6.0
- * @deprecated since 1.7.0; Use {@link #jobIterators} instead.
- */
- @Deprecated
- protected void setupIterators(JobConf job, Scanner scanner, String tableName,
- RangeInputSplit split) {
- setupIterators(job, (ScannerBase) scanner, tableName, split);
- }
-
- /**
* Initialize a scanner over the given input split using this task attempt configuration.
*/
public void initialize(InputSplit inSplit, JobConf job) throws IOException {
@@ -591,9 +539,6 @@ public abstract class AbstractInputFormat<K,V> implements InputFormat<K,V> {
if (isOffline) {
scanner = new OfflineScanner(instance, new Credentials(principal, token),
Table.ID.of(baseSplit.getTableId()), authorizations);
- } else if (DeprecationUtil.isMockInstance(instance)) {
- scanner = instance.getConnector(principal, token)
- .createScanner(baseSplit.getTableName(), authorizations);
} else {
ClientConfiguration clientConf = getClientConfiguration(job);
ClientContext context = new ClientContext(instance, new Credentials(principal, token),
@@ -707,14 +652,10 @@ public abstract class AbstractInputFormat<K,V> implements InputFormat<K,V> {
Instance instance = getInstance(job);
Table.ID tableId;
// resolve table name to id once, and use id from this point forward
- if (DeprecationUtil.isMockInstance(instance)) {
- tableId = Table.ID.of("");
- } else {
- try {
- tableId = Tables.getTableId(instance, tableName);
- } catch (TableNotFoundException e) {
- throw new IOException(e);
- }
+ try {
+ tableId = Tables.getTableId(instance, tableName);
+ } catch (TableNotFoundException e) {
+ throw new IOException(e);
}
Authorizations auths = getScanAuthorizations(job);
@@ -762,13 +703,11 @@ public abstract class AbstractInputFormat<K,V> implements InputFormat<K,V> {
new Credentials(getPrincipal(job), getAuthenticationToken(job)),
getClientConfiguration(job));
while (!tl.binRanges(context, ranges, binnedRanges).isEmpty()) {
- if (!DeprecationUtil.isMockInstance(instance)) {
- String tableIdStr = tableId.canonicalID();
- if (!Tables.exists(instance, tableId))
- throw new TableDeletedException(tableIdStr);
- if (Tables.getTableState(instance, tableId) == TableState.OFFLINE)
- throw new TableOfflineException(instance, tableIdStr);
- }
+ String tableIdStr = tableId.canonicalID();
+ if (!Tables.exists(instance, tableId))
+ throw new TableDeletedException(tableIdStr);
+ if (Tables.getTableState(instance, tableId) == TableState.OFFLINE)
+ throw new TableOfflineException(instance, tableIdStr);
binnedRanges.clear();
log.warn("Unable to locate bins for specified ranges. Retrying.");
// sleep randomly between 100 and 200 ms
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloFileOutputFormat.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloFileOutputFormat.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloFileOutputFormat.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloFileOutputFormat.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormat.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormat.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormat.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormat.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloMultiTableInputFormat.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloMultiTableInputFormat.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloMultiTableInputFormat.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloMultiTableInputFormat.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java
similarity index 91%
rename from core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java
index b9e377b..1daf9e3 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java
+++ b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormat.java
@@ -44,7 +44,6 @@ import org.apache.accumulo.core.client.mapreduce.lib.impl.ConfiguratorBase;
import org.apache.accumulo.core.client.mapreduce.lib.impl.OutputConfigurator;
import org.apache.accumulo.core.client.security.SecurityErrorCode;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
-import org.apache.accumulo.core.client.security.tokens.AuthenticationToken.AuthenticationTokenSerializer;
import org.apache.accumulo.core.client.security.tokens.DelegationToken;
import org.apache.accumulo.core.client.security.tokens.KerberosToken;
import org.apache.accumulo.core.client.security.tokens.PasswordToken;
@@ -199,28 +198,6 @@ public class AccumuloOutputFormat implements OutputFormat<Text,Mutation> {
}
/**
- * Gets the serialized token class from either the configuration or the token file.
- *
- * @since 1.5.0
- * @deprecated since 1.6.0; Use {@link #getAuthenticationToken(JobConf)} instead.
- */
- @Deprecated
- protected static String getTokenClass(JobConf job) {
- return getAuthenticationToken(job).getClass().getName();
- }
-
- /**
- * Gets the serialized token from either the configuration or the token file.
- *
- * @since 1.5.0
- * @deprecated since 1.6.0; Use {@link #getAuthenticationToken(JobConf)} instead.
- */
- @Deprecated
- protected static byte[] getToken(JobConf job) {
- return AuthenticationTokenSerializer.serialize(getAuthenticationToken(job));
- }
-
- /**
* Gets the authenticated token from either the specified token file or directly from the
* configuration, whichever was used when the job was configured.
*
@@ -241,24 +218,6 @@ public class AccumuloOutputFormat implements OutputFormat<Text,Mutation> {
*
* @param job
* the Hadoop job instance to be configured
- * @param instanceName
- * the Accumulo instance name
- * @param zooKeepers
- * a comma-separated list of zookeeper servers
- * @since 1.5.0
- * @deprecated since 1.6.0; Use {@link #setConnectionInfo(JobConf, ConnectionInfo)} instead.
- */
- @Deprecated
- public static void setZooKeeperInstance(JobConf job, String instanceName, String zooKeepers) {
- setZooKeeperInstance(job,
- ClientConfiguration.create().withInstance(instanceName).withZkHosts(zooKeepers));
- }
-
- /**
- * Configures a {@link ZooKeeperInstance} for this job.
- *
- * @param job
- * the Hadoop job instance to be configured
*
* @param clientConfig
* client configuration for specifying connection timeouts, SSL connection options, etc.
@@ -271,21 +230,6 @@ public class AccumuloOutputFormat implements OutputFormat<Text,Mutation> {
}
/**
- * Configures a {@link org.apache.accumulo.core.client.mock.MockInstance} for this job.
- *
- * @param job
- * the Hadoop job instance to be configured
- * @param instanceName
- * the Accumulo instance name
- * @since 1.5.0
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework
- */
- @Deprecated
- public static void setMockInstance(JobConf job, String instanceName) {
- OutputConfigurator.setMockInstance(CLASS, job, instanceName);
- }
-
- /**
* Initializes an Accumulo {@link Instance} based on the configuration.
*
* @param job
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloRowInputFormat.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloRowInputFormat.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloRowInputFormat.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/AccumuloRowInputFormat.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java
similarity index 89%
rename from core/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java
index e873ece..542cdeb 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java
+++ b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java
@@ -24,7 +24,6 @@ import java.util.Set;
import org.apache.accumulo.core.client.ClientSideIteratorScanner;
import org.apache.accumulo.core.client.IsolatedScanner;
import org.apache.accumulo.core.client.IteratorSetting;
-import org.apache.accumulo.core.client.Scanner;
import org.apache.accumulo.core.client.ScannerBase;
import org.apache.accumulo.core.client.mapreduce.lib.impl.InputConfigurator;
import org.apache.accumulo.core.client.sample.SamplerConfiguration;
@@ -379,59 +378,5 @@ public abstract class InputFormatBase<K,V> extends AbstractInputFormat<K,V> {
protected List<IteratorSetting> jobIterators(JobConf job, String tableName) {
return getIterators(job);
}
-
- /**
- * Apply the configured iterators to the scanner.
- *
- * @param iterators
- * the iterators to set
- * @param scanner
- * the scanner to configure
- * @deprecated since 1.7.0; Use {@link #jobIterators} instead.
- */
- @Deprecated
- protected void setupIterators(List<IteratorSetting> iterators, Scanner scanner) {
- for (IteratorSetting iterator : iterators) {
- scanner.addScanIterator(iterator);
- }
- }
-
- /**
- * Apply the configured iterators from the configuration to the scanner.
- *
- * @param job
- * the job configuration
- * @param scanner
- * the scanner to configure
- */
- @Deprecated
- protected void setupIterators(JobConf job, Scanner scanner) {
- setupIterators(getIterators(job), scanner);
- }
- }
-
- /**
- * @deprecated since 1.5.2; Use {@link org.apache.accumulo.core.client.mapred.RangeInputSplit}
- * instead.
- * @see org.apache.accumulo.core.client.mapred.RangeInputSplit
- */
- @Deprecated
- public static class RangeInputSplit
- extends org.apache.accumulo.core.client.mapred.RangeInputSplit {
- public RangeInputSplit() {
- super();
- }
-
- public RangeInputSplit(RangeInputSplit other) throws IOException {
- super(other);
- }
-
- public RangeInputSplit(String table, String tableId, Range range, String[] locations) {
- super(table, tableId, range, locations);
- }
-
- protected RangeInputSplit(String table, Range range, String[] locations) {
- super(table, "", range, locations);
- }
}
}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/RangeInputSplit.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/RangeInputSplit.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapred/RangeInputSplit.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/RangeInputSplit.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapred/impl/BatchInputSplit.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/impl/BatchInputSplit.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapred/impl/BatchInputSplit.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapred/impl/BatchInputSplit.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
similarity index 90%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
index e10d57a..2b54efe 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
+++ b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/AbstractInputFormat.java
@@ -72,7 +72,6 @@ import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.data.impl.KeyExtent;
import org.apache.accumulo.core.master.state.tables.TableState;
import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.util.DeprecationUtil;
import org.apache.accumulo.core.util.Pair;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.io.Text;
@@ -235,29 +234,6 @@ public abstract class AbstractInputFormat<K,V> extends InputFormat<K,V> {
}
/**
- * Gets the serialized token class from either the configuration or the token file.
- *
- * @since 1.5.0
- * @deprecated since 1.6.0; Use {@link #getAuthenticationToken(JobContext)} instead.
- */
- @Deprecated
- protected static String getTokenClass(JobContext context) {
- return getAuthenticationToken(context).getClass().getName();
- }
-
- /**
- * Gets the serialized token from either the configuration or the token file.
- *
- * @since 1.5.0
- * @deprecated since 1.6.0; Use {@link #getAuthenticationToken(JobContext)} instead.
- */
- @Deprecated
- protected static byte[] getToken(JobContext context) {
- return AuthenticationToken.AuthenticationTokenSerializer
- .serialize(getAuthenticationToken(context));
- }
-
- /**
* Gets the authenticated token from either the specified token file or directly from the
* configuration, whichever was used when the job was configured.
*
@@ -279,24 +255,6 @@ public abstract class AbstractInputFormat<K,V> extends InputFormat<K,V> {
*
* @param job
* the Hadoop job instance to be configured
- * @param instanceName
- * the Accumulo instance name
- * @param zooKeepers
- * a comma-separated list of zookeeper servers
- * @since 1.5.0
- * @deprecated since 1.6.0; Use {@link #setConnectionInfo(Job, ConnectionInfo)} instead.
- */
- @Deprecated
- public static void setZooKeeperInstance(Job job, String instanceName, String zooKeepers) {
- setZooKeeperInstance(job,
- ClientConfiguration.create().withInstance(instanceName).withZkHosts(zooKeepers));
- }
-
- /**
- * Configures a {@link org.apache.accumulo.core.client.ZooKeeperInstance} for this job.
- *
- * @param job
- * the Hadoop job instance to be configured
*
* @param clientConfig
* client configuration containing connection options
@@ -309,21 +267,6 @@ public abstract class AbstractInputFormat<K,V> extends InputFormat<K,V> {
}
/**
- * Configures a {@link org.apache.accumulo.core.client.mock.MockInstance} for this job.
- *
- * @param job
- * the Hadoop job instance to be configured
- * @param instanceName
- * the Accumulo instance name
- * @since 1.5.0
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework
- */
- @Deprecated
- public static void setMockInstance(Job job, String instanceName) {
- InputConfigurator.setMockInstance(CLASS, job.getConfiguration(), instanceName);
- }
-
- /**
* Initializes an Accumulo {@link org.apache.accumulo.core.client.Instance} based on the
* configuration.
*
@@ -522,24 +465,6 @@ public abstract class AbstractInputFormat<K,V> extends InputFormat<K,V> {
scanner.addScanIterator(iterator);
}
- /**
- * Configures the iterators on a scanner for the given table name.
- *
- * @param context
- * the Hadoop context for the configured job
- * @param scanner
- * the scanner for which to configure the iterators
- * @param tableName
- * the table name for which the scanner is configured
- * @since 1.6.0
- * @deprecated since 1.7.0; Use {@link #contextIterators} instead.
- */
- @Deprecated
- protected void setupIterators(TaskAttemptContext context, Scanner scanner, String tableName,
- RangeInputSplit split) {
- setupIterators(context, (ScannerBase) scanner, tableName, split);
- }
-
@Override
public void initialize(InputSplit inSplit, TaskAttemptContext attempt) throws IOException {
@@ -620,9 +545,6 @@ public abstract class AbstractInputFormat<K,V> extends InputFormat<K,V> {
if (isOffline) {
scanner = new OfflineScanner(instance, new Credentials(principal, token),
Table.ID.of(split.getTableId()), authorizations);
- } else if (DeprecationUtil.isMockInstance(instance)) {
- scanner = instance.getConnector(principal, token).createScanner(split.getTableName(),
- authorizations);
} else {
ClientConfiguration clientConf = getClientConfiguration(attempt);
ClientContext context = new ClientContext(instance, new Credentials(principal, token),
@@ -753,14 +675,10 @@ public abstract class AbstractInputFormat<K,V> extends InputFormat<K,V> {
Instance instance = getInstance(context);
Table.ID tableId;
// resolve table name to id once, and use id from this point forward
- if (DeprecationUtil.isMockInstance(instance)) {
- tableId = Table.ID.of("");
- } else {
- try {
- tableId = Tables.getTableId(instance, tableName);
- } catch (TableNotFoundException e) {
- throw new IOException(e);
- }
+ try {
+ tableId = Tables.getTableId(instance, tableName);
+ } catch (TableNotFoundException e) {
+ throw new IOException(e);
}
Authorizations auths = getScanAuthorizations(context);
@@ -809,13 +727,11 @@ public abstract class AbstractInputFormat<K,V> extends InputFormat<K,V> {
new Credentials(getPrincipal(context), getAuthenticationToken(context)),
getClientConfiguration(context));
while (!tl.binRanges(clientContext, ranges, binnedRanges).isEmpty()) {
- if (!DeprecationUtil.isMockInstance(instance)) {
- String tableIdStr = tableId.canonicalID();
- if (!Tables.exists(instance, tableId))
- throw new TableDeletedException(tableIdStr);
- if (Tables.getTableState(instance, tableId) == TableState.OFFLINE)
- throw new TableOfflineException(instance, tableIdStr);
- }
+ String tableIdStr = tableId.canonicalID();
+ if (!Tables.exists(instance, tableId))
+ throw new TableDeletedException(tableIdStr);
+ if (Tables.getTableState(instance, tableId) == TableState.OFFLINE)
+ throw new TableOfflineException(instance, tableIdStr);
binnedRanges.clear();
log.warn("Unable to locate bins for specified ranges. Retrying.");
// sleep randomly between 100 and 200 ms
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormat.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormat.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormat.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormat.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormat.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
similarity index 92%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
index 355f826..ae099c6 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
+++ b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
@@ -44,7 +44,6 @@ import org.apache.accumulo.core.client.mapreduce.lib.impl.ConfiguratorBase;
import org.apache.accumulo.core.client.mapreduce.lib.impl.OutputConfigurator;
import org.apache.accumulo.core.client.security.SecurityErrorCode;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
-import org.apache.accumulo.core.client.security.tokens.AuthenticationToken.AuthenticationTokenSerializer;
import org.apache.accumulo.core.client.security.tokens.DelegationToken;
import org.apache.accumulo.core.client.security.tokens.KerberosToken;
import org.apache.accumulo.core.client.security.tokens.PasswordToken;
@@ -200,28 +199,6 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
}
/**
- * Gets the serialized token class from either the configuration or the token file.
- *
- * @since 1.5.0
- * @deprecated since 1.6.0; Use {@link #getAuthenticationToken(JobContext)} instead.
- */
- @Deprecated
- protected static String getTokenClass(JobContext context) {
- return getAuthenticationToken(context).getClass().getName();
- }
-
- /**
- * Gets the serialized token from either the configuration or the token file.
- *
- * @since 1.5.0
- * @deprecated since 1.6.0; Use {@link #getAuthenticationToken(JobContext)} instead.
- */
- @Deprecated
- protected static byte[] getToken(JobContext context) {
- return AuthenticationTokenSerializer.serialize(getAuthenticationToken(context));
- }
-
- /**
* Gets the authenticated token from either the specified token file or directly from the
* configuration, whichever was used when the job was configured.
*
@@ -243,24 +220,6 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
*
* @param job
* the Hadoop job instance to be configured
- * @param instanceName
- * the Accumulo instance name
- * @param zooKeepers
- * a comma-separated list of zookeeper servers
- * @since 1.5.0
- * @deprecated since 1.6.0; Use {@link #setZooKeeperInstance(Job, ClientConfiguration)} instead.
- */
- @Deprecated
- public static void setZooKeeperInstance(Job job, String instanceName, String zooKeepers) {
- setZooKeeperInstance(job,
- ClientConfiguration.create().withInstance(instanceName).withZkHosts(zooKeepers));
- }
-
- /**
- * Configures a {@link ZooKeeperInstance} for this job.
- *
- * @param job
- * the Hadoop job instance to be configured
*
* @param clientConfig
* client configuration for specifying connection timeouts, SSL connection options, etc.
@@ -273,20 +232,6 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
}
/**
- * Configures a {@link org.apache.accumulo.core.client.mock.MockInstance} for this job.
- *
- * @param job
- * the Hadoop job instance to be configured
- * @param instanceName
- * the Accumulo instance name
- * @since 1.5.0
- */
- @Deprecated
- public static void setMockInstance(Job job, String instanceName) {
- OutputConfigurator.setMockInstance(CLASS, job.getConfiguration(), instanceName);
- }
-
- /**
* Initializes an Accumulo {@link Instance} based on the configuration.
*
* @param context
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloRowInputFormat.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloRowInputFormat.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloRowInputFormat.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloRowInputFormat.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
similarity index 89%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
index 1b61dd8..b466b08 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
+++ b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
@@ -24,7 +24,6 @@ import java.util.Set;
import org.apache.accumulo.core.client.ClientSideIteratorScanner;
import org.apache.accumulo.core.client.IsolatedScanner;
import org.apache.accumulo.core.client.IteratorSetting;
-import org.apache.accumulo.core.client.Scanner;
import org.apache.accumulo.core.client.ScannerBase;
import org.apache.accumulo.core.client.mapreduce.lib.impl.InputConfigurator;
import org.apache.accumulo.core.client.sample.SamplerConfiguration;
@@ -378,57 +377,5 @@ public abstract class InputFormatBase<K,V> extends AbstractInputFormat<K,V> {
protected List<IteratorSetting> contextIterators(TaskAttemptContext context, String tableName) {
return getIterators(context);
}
-
- /**
- * Apply the configured iterators from the configuration to the scanner.
- *
- * @param context
- * the Hadoop context for the configured job
- * @param scanner
- * the scanner to configure
- * @deprecated since 1.7.0; Use {@link #contextIterators} instead.
- */
- @Deprecated
- protected void setupIterators(TaskAttemptContext context, Scanner scanner) {
- // tableName is given as null as it will be ignored in eventual call to #contextIterators
- setupIterators(context, scanner, null, null);
- }
-
- /**
- * Initialize a scanner over the given input split using this task attempt configuration.
- *
- * @deprecated since 1.7.0; Use {@link #contextIterators} instead.
- */
- @Deprecated
- protected void setupIterators(TaskAttemptContext context, Scanner scanner,
- org.apache.accumulo.core.client.mapreduce.RangeInputSplit split) {
- setupIterators(context, scanner, null, split);
- }
- }
-
- /**
- * @deprecated since 1.5.2; Use {@link org.apache.accumulo.core.client.mapreduce.RangeInputSplit}
- * instead.
- * @see org.apache.accumulo.core.client.mapreduce.RangeInputSplit
- */
- @Deprecated
- public static class RangeInputSplit
- extends org.apache.accumulo.core.client.mapreduce.RangeInputSplit {
-
- public RangeInputSplit() {
- super();
- }
-
- public RangeInputSplit(RangeInputSplit other) throws IOException {
- super(other);
- }
-
- protected RangeInputSplit(String table, Range range, String[] locations) {
- super(table, "", range, locations);
- }
-
- public RangeInputSplit(String table, String tableId, Range range, String[] locations) {
- super(table, tableId, range, locations);
- }
}
}
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputTableConfig.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/InputTableConfig.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputTableConfig.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/InputTableConfig.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplit.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplit.java
similarity index 90%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplit.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplit.java
index e56c1d9..26af244 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplit.java
+++ b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplit.java
@@ -45,7 +45,6 @@ import org.apache.accumulo.core.data.PartialKey;
import org.apache.accumulo.core.data.Range;
import org.apache.accumulo.core.sample.impl.SamplerConfigurationImpl;
import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.util.DeprecationUtil;
import org.apache.accumulo.core.util.Pair;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.Writable;
@@ -62,7 +61,7 @@ public class RangeInputSplit extends InputSplit implements Writable {
private TokenSource tokenSource;
private String tokenFile;
private AuthenticationToken token;
- private Boolean offline, mockInstance, isolatedScan, localIterators;
+ private Boolean offline, isolatedScan, localIterators;
private Authorizations auths;
private Set<Pair<Text,Text>> fetchedColumns;
private List<IteratorSetting> iterators;
@@ -159,8 +158,10 @@ public class RangeInputSplit extends InputSplit implements Writable {
localIterators = in.readBoolean();
}
+ // ignore mock flag; it was removed
if (in.readBoolean()) {
- mockInstance = in.readBoolean();
+ throw new IllegalStateException(
+ "Mock flag was set in serialized RangeInputSplit, but mock Accumulo was removed");
}
if (in.readBoolean()) {
@@ -252,10 +253,8 @@ public class RangeInputSplit extends InputSplit implements Writable {
out.writeBoolean(localIterators);
}
- out.writeBoolean(null != mockInstance);
- if (null != mockInstance) {
- out.writeBoolean(mockInstance);
- }
+ // should be false to indicate that no mock flag was serialized; mock was removed
+ out.writeBoolean(false);
out.writeBoolean(null != fetchedColumns);
if (null != fetchedColumns) {
@@ -321,30 +320,10 @@ public class RangeInputSplit extends InputSplit implements Writable {
}
}
- /**
- * Use {@link #getTableName}
- *
- * @deprecated since 1.6.1, use getTableName() instead.
- */
- @Deprecated
- public String getTable() {
- return getTableName();
- }
-
public String getTableName() {
return tableName;
}
- /**
- * Use {@link #setTableName}
- *
- * @deprecated since 1.6.1, use setTableName() instead.
- */
- @Deprecated
- public void setTable(String table) {
- setTableName(table);
- }
-
public void setTableName(String table) {
this.tableName = table;
}
@@ -357,24 +336,11 @@ public class RangeInputSplit extends InputSplit implements Writable {
return tableId;
}
- /**
- * @see #getInstance(ClientConfiguration)
- * @deprecated since 1.7.0, use getInstance(ClientConfiguration) instead.
- */
- @Deprecated
- public Instance getInstance() {
- return getInstance(ClientConfiguration.loadDefault());
- }
-
public Instance getInstance(ClientConfiguration base) {
if (null == instanceName) {
return null;
}
- if (isMockInstance()) {
- return DeprecationUtil.makeMockInstance(getInstanceName());
- }
-
if (null == zooKeepers) {
return null;
}
@@ -432,22 +398,6 @@ public class RangeInputSplit extends InputSplit implements Writable {
this.locations = Arrays.copyOf(locations, locations.length);
}
- /**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework
- */
- @Deprecated
- public Boolean isMockInstance() {
- return mockInstance;
- }
-
- /**
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework
- */
- @Deprecated
- public void setMockInstance(Boolean mockInstance) {
- this.mockInstance = mockInstance;
- }
-
public Boolean isIsolatedScan() {
return isolatedScan;
}
@@ -522,7 +472,6 @@ public class RangeInputSplit extends InputSplit implements Writable {
sb.append(" authenticationTokenFile: ").append(tokenFile);
sb.append(" Authorizations: ").append(auths);
sb.append(" offlineScan: ").append(offline);
- sb.append(" mockInstance: ").append(mockInstance);
sb.append(" isolatedScan: ").append(isolatedScan);
sb.append(" localIterators: ").append(localIterators);
sb.append(" fetchColumns: ").append(fetchedColumns);
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/impl/BatchInputSplit.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/impl/BatchInputSplit.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/impl/BatchInputSplit.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/impl/BatchInputSplit.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/impl/DelegationTokenStub.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/impl/DelegationTokenStub.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/impl/DelegationTokenStub.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/impl/DelegationTokenStub.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/impl/SplitUtils.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/impl/SplitUtils.java
similarity index 96%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/impl/SplitUtils.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/impl/SplitUtils.java
index 5c5d26e..53fea91 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/impl/SplitUtils.java
+++ b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/impl/SplitUtils.java
@@ -27,7 +27,6 @@ import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
import org.apache.accumulo.core.data.ByteSequence;
import org.apache.accumulo.core.data.Range;
import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.util.DeprecationUtil;
import org.apache.hadoop.io.Text;
import org.apache.log4j.Level;
@@ -42,7 +41,6 @@ public class SplitUtils {
Authorizations auths, Level logLevel) {
split.setInstanceName(instance.getInstanceName());
split.setZooKeepers(instance.getZooKeepers());
- DeprecationUtil.setMockInstance(split, DeprecationUtil.isMockInstance(instance));
split.setPrincipal(principal);
split.setToken(token);
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBase.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBase.java
similarity index 93%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBase.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBase.java
index 90812c9..7bfd4f9 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBase.java
+++ b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBase.java
@@ -37,7 +37,6 @@ import org.apache.accumulo.core.client.impl.DelegationTokenImpl;
import org.apache.accumulo.core.client.mapreduce.impl.DelegationTokenStub;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken.AuthenticationTokenSerializer;
-import org.apache.accumulo.core.util.DeprecationUtil;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
@@ -343,32 +342,6 @@ public class ConfiguratorBase {
}
/**
- * Configures a {@link org.apache.accumulo.core.client.mock.MockInstance} for this job.
- *
- * @param implementingClass
- * the class whose name will be used as a prefix for the property configuration key
- * @param conf
- * the Hadoop configuration object to configure
- * @param instanceName
- * the Accumulo instance name
- * @since 1.6.0
- * @deprecated since 1.8.0; use MiniAccumuloCluster or a standard mock framework
- */
- @Deprecated
- public static void setMockInstance(Class<?> implementingClass, Configuration conf,
- String instanceName) {
- String key = enumToConfKey(implementingClass, InstanceOpts.TYPE);
- if (!conf.get(key, "").isEmpty())
- throw new IllegalStateException(
- "Instance info can only be set once per job; it has already been configured with "
- + conf.get(key));
- conf.set(key, "MockInstance");
-
- checkArgument(instanceName != null, "instanceName is null");
- conf.set(enumToConfKey(implementingClass, InstanceOpts.NAME), instanceName);
- }
-
- /**
* Initializes an Accumulo {@link Instance} based on the configuration.
*
* @param implementingClass
@@ -381,16 +354,14 @@ public class ConfiguratorBase {
*/
public static Instance getInstance(Class<?> implementingClass, Configuration conf) {
String instanceType = conf.get(enumToConfKey(implementingClass, InstanceOpts.TYPE), "");
- if ("MockInstance".equals(instanceType))
- return DeprecationUtil
- .makeMockInstance(conf.get(enumToConfKey(implementingClass, InstanceOpts.NAME)));
- else if ("ZooKeeperInstance".equals(instanceType)) {
+ if ("ZooKeeperInstance".equals(instanceType)) {
return new ZooKeeperInstance(getClientConfiguration(implementingClass, conf));
- } else if (instanceType.isEmpty())
+ } else if (instanceType.isEmpty()) {
throw new IllegalStateException(
"Instance has not been configured for " + implementingClass.getSimpleName());
- else
+ } else {
throw new IllegalStateException("Unrecognized instance type " + instanceType);
+ }
}
/**
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/DistributedCacheHelper.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/DistributedCacheHelper.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/DistributedCacheHelper.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/DistributedCacheHelper.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/FileOutputConfigurator.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/FileOutputConfigurator.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/FileOutputConfigurator.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/FileOutputConfigurator.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/InputConfigurator.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/InputConfigurator.java
similarity index 91%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/InputConfigurator.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/InputConfigurator.java
index edb9634..b3da02a 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/InputConfigurator.java
+++ b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/InputConfigurator.java
@@ -50,13 +50,11 @@ import org.apache.accumulo.core.client.Scanner;
import org.apache.accumulo.core.client.TableNotFoundException;
import org.apache.accumulo.core.client.impl.ClientContext;
import org.apache.accumulo.core.client.impl.Credentials;
-import org.apache.accumulo.core.client.impl.DelegationTokenImpl;
import org.apache.accumulo.core.client.impl.Table;
import org.apache.accumulo.core.client.impl.Tables;
import org.apache.accumulo.core.client.impl.TabletLocator;
import org.apache.accumulo.core.client.mapreduce.InputTableConfig;
import org.apache.accumulo.core.client.sample.SamplerConfiguration;
-import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.PartialKey;
import org.apache.accumulo.core.data.Range;
@@ -69,7 +67,6 @@ import org.apache.accumulo.core.metadata.schema.MetadataSchema;
import org.apache.accumulo.core.sample.impl.SamplerConfigurationImpl;
import org.apache.accumulo.core.security.Authorizations;
import org.apache.accumulo.core.security.TablePermission;
-import org.apache.accumulo.core.util.DeprecationUtil;
import org.apache.accumulo.core.util.Pair;
import org.apache.accumulo.core.util.TextUtil;
import org.apache.hadoop.conf.Configuration;
@@ -727,9 +724,6 @@ public class InputConfigurator extends ConfiguratorBase {
*/
public static TabletLocator getTabletLocator(Class<?> implementingClass, Configuration conf,
Table.ID tableId) throws TableNotFoundException {
- String instanceType = conf.get(enumToConfKey(implementingClass, InstanceOpts.TYPE));
- if ("MockInstance".equals(instanceType))
- return DeprecationUtil.makeMockLocator();
Instance instance = getInstance(implementingClass, conf);
ClientConfiguration clientConf = getClientConfiguration(implementingClass, conf);
ClientContext context = new ClientContext(instance,
@@ -753,7 +747,7 @@ public class InputConfigurator extends ConfiguratorBase {
if (!isConnectorInfoSet(implementingClass, conf))
throw new IOException("Input info has not been set.");
String instanceKey = conf.get(enumToConfKey(implementingClass, InstanceOpts.TYPE));
- if (!"MockInstance".equals(instanceKey) && !"ZooKeeperInstance".equals(instanceKey))
+ if (!"ZooKeeperInstance".equals(instanceKey))
throw new IOException("Instance info has not been set.");
return getInstance(implementingClass, conf);
}
@@ -799,70 +793,6 @@ public class InputConfigurator extends ConfiguratorBase {
}
}
- // InputFormat doesn't have the equivalent of OutputFormat's checkOutputSpecs(JobContext job)
- /**
- * Check whether a configuration is fully configured to be used with an Accumulo
- * {@link org.apache.hadoop.mapreduce.InputFormat}.
- *
- * <p>
- * The implementation (JobContext or JobConf which created the Configuration) needs to be used to
- * extract the proper {@link AuthenticationToken} for {@link DelegationTokenImpl} support.
- *
- * @param implementingClass
- * the class whose name will be used as a prefix for the property configuration key
- * @param conf
- * the Hadoop configuration object to configure
- * @throws IOException
- * if the context is improperly configured
- * @since 1.6.0
- *
- * @see #validateInstance(Class, Configuration)
- * @see #validatePermissions(Class, Configuration, Connector)
- */
- @Deprecated
- public static void validateOptions(Class<?> implementingClass, Configuration conf)
- throws IOException {
-
- Map<String,InputTableConfig> inputTableConfigs = getInputTableConfigs(implementingClass, conf);
- if (!isConnectorInfoSet(implementingClass, conf))
- throw new IOException("Input info has not been set.");
- String instanceKey = conf.get(enumToConfKey(implementingClass, InstanceOpts.TYPE));
- if (!"MockInstance".equals(instanceKey) && !"ZooKeeperInstance".equals(instanceKey))
- throw new IOException("Instance info has not been set.");
- // validate that we can connect as configured
- try {
- String principal = getPrincipal(implementingClass, conf);
- AuthenticationToken token = getAuthenticationToken(implementingClass, conf);
- Connector c = getInstance(implementingClass, conf).getConnector(principal, token);
- if (!c.securityOperations().authenticateUser(principal, token))
- throw new IOException("Unable to authenticate user");
-
- if (getInputTableConfigs(implementingClass, conf).size() == 0)
- throw new IOException("No table set.");
-
- for (Map.Entry<String,InputTableConfig> tableConfig : inputTableConfigs.entrySet()) {
- if (!c.securityOperations().hasTablePermission(getPrincipal(implementingClass, conf),
- tableConfig.getKey(), TablePermission.READ))
- throw new IOException("Unable to access table");
- }
- for (Map.Entry<String,InputTableConfig> tableConfigEntry : inputTableConfigs.entrySet()) {
- InputTableConfig tableConfig = tableConfigEntry.getValue();
- if (!tableConfig.shouldUseLocalIterators()) {
- if (tableConfig.getIterators() != null) {
- for (IteratorSetting iter : tableConfig.getIterators()) {
- if (!c.tableOperations().testClassLoad(tableConfigEntry.getKey(),
- iter.getIteratorClass(), SortedKeyValueIterator.class.getName()))
- throw new AccumuloException("Servers are unable to load " + iter.getIteratorClass()
- + " as a " + SortedKeyValueIterator.class.getName());
- }
- }
- }
- }
- } catch (AccumuloException | TableNotFoundException | AccumuloSecurityException e) {
- throw new IOException(e);
- }
- }
-
/**
* Returns the {@link org.apache.accumulo.core.client.mapreduce.InputTableConfig} for the
* configuration based on the properties set using the single-table input methods.
diff --git a/core/src/main/java/org/apache/accumulo/core/cli/MapReduceClientOnDefaultTable.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/MapReduceClientOnDefaultTable.java
similarity index 97%
rename from core/src/main/java/org/apache/accumulo/core/cli/MapReduceClientOnDefaultTable.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/MapReduceClientOnDefaultTable.java
index d39554c..1eb1c30 100644
--- a/core/src/main/java/org/apache/accumulo/core/cli/MapReduceClientOnDefaultTable.java
+++ b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/MapReduceClientOnDefaultTable.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.accumulo.core.cli;
+package org.apache.accumulo.core.client.mapreduce.lib.impl;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.mapreduce.AccumuloInputFormat;
diff --git a/core/src/main/java/org/apache/accumulo/core/cli/MapReduceClientOnRequiredTable.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/MapReduceClientOnRequiredTable.java
similarity index 97%
rename from core/src/main/java/org/apache/accumulo/core/cli/MapReduceClientOnRequiredTable.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/MapReduceClientOnRequiredTable.java
index 96ada88..ea440a9 100644
--- a/core/src/main/java/org/apache/accumulo/core/cli/MapReduceClientOnRequiredTable.java
+++ b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/MapReduceClientOnRequiredTable.java
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.accumulo.core.cli;
+package org.apache.accumulo.core.client.mapreduce.lib.impl;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.mapreduce.AccumuloInputFormat;
diff --git a/core/src/main/java/org/apache/accumulo/core/cli/MapReduceClientOpts.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/MapReduceClientOpts.java
similarity index 97%
rename from core/src/main/java/org/apache/accumulo/core/cli/MapReduceClientOpts.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/MapReduceClientOpts.java
index d4eb23b..6dfc84c 100644
--- a/core/src/main/java/org/apache/accumulo/core/cli/MapReduceClientOpts.java
+++ b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/MapReduceClientOpts.java
@@ -14,8 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.accumulo.core.cli;
+package org.apache.accumulo.core.client.mapreduce.lib.impl;
+import org.apache.accumulo.core.cli.ClientOpts;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.Connector;
import org.apache.accumulo.core.client.admin.DelegationTokenConfig;
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/OutputConfigurator.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/OutputConfigurator.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/OutputConfigurator.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/OutputConfigurator.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/package-info.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/package-info.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/package-info.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/package-info.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/partition/KeyRangePartitioner.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/partition/KeyRangePartitioner.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/partition/KeyRangePartitioner.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/partition/KeyRangePartitioner.java
diff --git a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/partition/RangePartitioner.java b/client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/partition/RangePartitioner.java
similarity index 100%
rename from core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/partition/RangePartitioner.java
rename to client/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/partition/RangePartitioner.java
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloFileOutputFormatTest.java b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloFileOutputFormatTest.java
similarity index 100%
rename from core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloFileOutputFormatTest.java
rename to client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloFileOutputFormatTest.java
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormatTest.java b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormatTest.java
similarity index 100%
rename from core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormatTest.java
rename to client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormatTest.java
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloMultiTableInputFormatTest.java b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloMultiTableInputFormatTest.java
similarity index 100%
rename from core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloMultiTableInputFormatTest.java
rename to client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloMultiTableInputFormatTest.java
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormatTest.java b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormatTest.java
similarity index 100%
rename from core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormatTest.java
rename to client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloOutputFormatTest.java
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapred/RangeInputSplitTest.java b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapred/RangeInputSplitTest.java
similarity index 95%
rename from core/src/test/java/org/apache/accumulo/core/client/mapred/RangeInputSplitTest.java
rename to client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapred/RangeInputSplitTest.java
index 7e5bf2e..9435277 100644
--- a/core/src/test/java/org/apache/accumulo/core/client/mapred/RangeInputSplitTest.java
+++ b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapred/RangeInputSplitTest.java
@@ -33,7 +33,6 @@ import org.apache.accumulo.core.data.Range;
import org.apache.accumulo.core.iterators.user.SummingCombiner;
import org.apache.accumulo.core.iterators.user.WholeRowIterator;
import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.util.DeprecationUtil;
import org.apache.accumulo.core.util.Pair;
import org.apache.hadoop.io.Text;
import org.apache.log4j.Level;
@@ -89,7 +88,6 @@ public class RangeInputSplitTest {
split.setToken(new PasswordToken("password"));
split.setPrincipal("root");
split.setInstanceName("instance");
- DeprecationUtil.setMockInstance(split, true);
split.setZooKeepers("localhost");
split.setIterators(iterators);
split.setLogLevel(Level.WARN);
@@ -115,8 +113,6 @@ public class RangeInputSplitTest {
Assert.assertEquals(split.getToken(), newSplit.getToken());
Assert.assertEquals(split.getPrincipal(), newSplit.getPrincipal());
Assert.assertEquals(split.getInstanceName(), newSplit.getInstanceName());
- Assert.assertEquals(DeprecationUtil.isMockInstanceSet(split),
- DeprecationUtil.isMockInstanceSet(newSplit));
Assert.assertEquals(split.getZooKeepers(), newSplit.getZooKeepers());
Assert.assertEquals(split.getIterators(), newSplit.getIterators());
Assert.assertEquals(split.getLogLevel(), newSplit.getLogLevel());
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormatTest.java b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormatTest.java
similarity index 100%
rename from core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormatTest.java
rename to client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormatTest.java
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java
similarity index 100%
rename from core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java
rename to client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloInputFormatTest.java
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormatTest.java b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormatTest.java
similarity index 100%
rename from core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormatTest.java
rename to client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloMultiTableInputFormatTest.java
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormatTest.java b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormatTest.java
similarity index 100%
rename from core/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormatTest.java
rename to client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormatTest.java
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/InputTableConfigTest.java b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/InputTableConfigTest.java
similarity index 100%
rename from core/src/test/java/org/apache/accumulo/core/client/mapreduce/InputTableConfigTest.java
rename to client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/InputTableConfigTest.java
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplitTest.java b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplitTest.java
similarity index 95%
rename from core/src/test/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplitTest.java
rename to client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplitTest.java
index 7e0aaec..0f2133a 100644
--- a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplitTest.java
+++ b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/RangeInputSplitTest.java
@@ -33,7 +33,6 @@ import org.apache.accumulo.core.data.Range;
import org.apache.accumulo.core.iterators.user.SummingCombiner;
import org.apache.accumulo.core.iterators.user.WholeRowIterator;
import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.util.DeprecationUtil;
import org.apache.accumulo.core.util.Pair;
import org.apache.hadoop.io.Text;
import org.apache.log4j.Level;
@@ -92,7 +91,6 @@ public class RangeInputSplitTest {
split.setToken(new PasswordToken("password"));
split.setPrincipal("root");
split.setInstanceName("instance");
- DeprecationUtil.setMockInstance(split, true);
split.setZooKeepers("localhost");
split.setIterators(iterators);
split.setLogLevel(Level.WARN);
@@ -119,8 +117,6 @@ public class RangeInputSplitTest {
Assert.assertEquals(split.getToken(), newSplit.getToken());
Assert.assertEquals(split.getPrincipal(), newSplit.getPrincipal());
Assert.assertEquals(split.getInstanceName(), newSplit.getInstanceName());
- Assert.assertEquals(DeprecationUtil.isMockInstanceSet(split),
- DeprecationUtil.isMockInstanceSet(newSplit));
Assert.assertEquals(split.getZooKeepers(), newSplit.getZooKeepers());
Assert.assertEquals(split.getIterators(), newSplit.getIterators());
Assert.assertEquals(split.getLogLevel(), newSplit.getLogLevel());
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/impl/BatchInputSplitTest.java b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/impl/BatchInputSplitTest.java
similarity index 95%
rename from core/src/test/java/org/apache/accumulo/core/client/mapreduce/impl/BatchInputSplitTest.java
rename to client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/impl/BatchInputSplitTest.java
index 50b4966..a9fd63c 100644
--- a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/impl/BatchInputSplitTest.java
+++ b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/impl/BatchInputSplitTest.java
@@ -34,7 +34,6 @@ import org.apache.accumulo.core.data.Range;
import org.apache.accumulo.core.iterators.user.SummingCombiner;
import org.apache.accumulo.core.iterators.user.WholeRowIterator;
import org.apache.accumulo.core.security.Authorizations;
-import org.apache.accumulo.core.util.DeprecationUtil;
import org.apache.accumulo.core.util.Pair;
import org.apache.hadoop.io.Text;
import org.apache.log4j.Level;
@@ -91,7 +90,6 @@ public class BatchInputSplitTest {
split.setFetchedColumns(fetchedColumns);
split.setToken(new PasswordToken("password"));
split.setPrincipal("root");
- DeprecationUtil.setMockInstance(split, true);
split.setInstanceName("instance");
split.setZooKeepers("localhost");
split.setIterators(iterators);
@@ -116,8 +114,6 @@ public class BatchInputSplitTest {
Assert.assertEquals(split.getToken(), newSplit.getToken());
Assert.assertEquals(split.getPrincipal(), newSplit.getPrincipal());
Assert.assertEquals(split.getInstanceName(), newSplit.getInstanceName());
- Assert.assertEquals(DeprecationUtil.isMockInstanceSet(split),
- DeprecationUtil.isMockInstanceSet(newSplit));
Assert.assertEquals(split.getZooKeepers(), newSplit.getZooKeepers());
Assert.assertEquals(split.getIterators(), newSplit.getIterators());
Assert.assertEquals(split.getLogLevel(), newSplit.getLogLevel());
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBaseTest.java b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBaseTest.java
similarity index 88%
rename from core/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBaseTest.java
rename to client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBaseTest.java
index 90bc8c4..9cdd950 100644
--- a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBaseTest.java
+++ b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBaseTest.java
@@ -26,7 +26,6 @@ import org.apache.accumulo.core.Constants;
import org.apache.accumulo.core.client.AccumuloSecurityException;
import org.apache.accumulo.core.client.ClientConfiguration;
import org.apache.accumulo.core.client.ClientConfiguration.ClientProperty;
-import org.apache.accumulo.core.client.Instance;
import org.apache.accumulo.core.client.ZooKeeperInstance;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken;
import org.apache.accumulo.core.client.security.tokens.AuthenticationToken.AuthenticationTokenSerializer;
@@ -109,22 +108,6 @@ public class ConfiguratorBaseTest {
// assertEquals(1234000, ((ZooKeeperInstance) instance).getZooKeepersSessionTimeOut());
}
- @SuppressWarnings("deprecation")
- @Test
- public void testSetMockInstance() {
- Class<?> mockClass = org.apache.accumulo.core.client.mock.MockInstance.class;
- Configuration conf = new Configuration();
- ConfiguratorBase.setMockInstance(this.getClass(), conf, "testInstanceName");
- assertEquals("testInstanceName", conf
- .get(ConfiguratorBase.enumToConfKey(this.getClass(), ConfiguratorBase.InstanceOpts.NAME)));
- assertEquals(null, conf.get(ConfiguratorBase.enumToConfKey(this.getClass(),
- ConfiguratorBase.InstanceOpts.ZOO_KEEPERS)));
- assertEquals(mockClass.getSimpleName(), conf
- .get(ConfiguratorBase.enumToConfKey(this.getClass(), ConfiguratorBase.InstanceOpts.TYPE)));
- Instance instance = ConfiguratorBase.getInstance(this.getClass(), conf);
- assertEquals(mockClass.getName(), instance.getClass().getName());
- }
-
@Test
public void testSetLogLevel() {
Configuration conf = new Configuration();
diff --git a/core/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/partition/RangePartitionerTest.java b/client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/partition/RangePartitionerTest.java
similarity index 100%
rename from core/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/partition/RangePartitionerTest.java
rename to client/mapreduce/src/test/java/org/apache/accumulo/core/client/mapreduce/lib/partition/RangePartitionerTest.java
diff --git a/core/pom.xml b/core/pom.xml
index 1643cd6..15bdb4f 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -175,7 +175,6 @@
<include>org[.]apache[.]accumulo[.]core[.]iterators[.]IteratorUtil[$]IteratorScope</include>
</includes>
<excludes>
- <exclude>.*Impl</exclude>
<exclude>.*[.]impl[.].*</exclude>
<exclude>.*[.]thrift[.].*</exclude>
<exclude>org[.]apache[.]accumulo[.]core[.]security[.]crypto[.].*</exclude>
@@ -185,23 +184,16 @@
<!--Allow API data types to reference thrift types, but do not
analyze thrift types -->
<allow>org[.]apache[.]accumulo[.].*[.]thrift[.].*</allow>
- <!--Type from hadoop used in API. If adding a new type from
+ <!--Type from hadoop used in API. If adding a new type from
Hadoop to the Accumulo API ensure its annotated as
stable.-->
<allow>org[.]apache[.]hadoop[.]conf[.]Configuration</allow>
<allow>org[.]apache[.]hadoop[.]fs[.](FileSystem|Path)</allow>
<allow>org[.]apache[.]hadoop[.]io[.](Text|Writable|WritableComparable|WritableComparator)</allow>
- <allow>org[.]apache[.]hadoop[.]mapred[.](JobConf|RecordReader|InputSplit|RecordWriter|Reporter)</allow>
- <allow>org[.]apache[.]hadoop[.]mapred[.]FileOutputFormat[$]Counter</allow>
- <allow>org[.]apache[.]hadoop[.]mapreduce[.](Job|JobContext|RecordReader|InputSplit|TaskAttemptContext|RecordWriter|OutputCommitter|TaskInputOutputContext)</allow>
- <allow>org[.]apache[.]hadoop[.]mapreduce[.]lib[.]output[.]FileOutputFormat[$]Counter</allow>
- <allow>org[.]apache[.]hadoop[.]util[.]Progressable</allow>
<!--ugghhh-->
<allow>org[.]apache[.]log4j[.](Level|Logger)</allow>
<!-- allow javax security exceptions for Authentication tokens -->
<allow>javax[.]security[.]auth[.]DestroyFailedException</allow>
- <!-- allow questionable Hadoop exceptions for mapreduce -->
- <allow>org[.]apache[.]hadoop[.]mapred[.](FileAlreadyExistsException|InvalidJobConfException)</allow>
<!-- allow lexicoders to throw iterator exceptions -->
<allow>org[.]apache[.]accumulo[.]core[.]iterators[.]ValueFormatException</allow>
</allows>
diff --git a/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java b/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java
index d86e6af..6648acb 100644
--- a/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java
+++ b/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java
@@ -32,7 +32,6 @@ import org.apache.accumulo.core.client.IteratorSetting;
import org.apache.accumulo.core.client.TableExistsException;
import org.apache.accumulo.core.client.TableNotFoundException;
import org.apache.accumulo.core.client.TableOfflineException;
-import org.apache.accumulo.core.client.mapreduce.AccumuloFileOutputFormat;
import org.apache.accumulo.core.client.rfile.RFile;
import org.apache.accumulo.core.client.sample.SamplerConfiguration;
import org.apache.accumulo.core.client.summary.Summarizer;
@@ -595,7 +594,7 @@ public interface TableOperations {
/**
* Bulk import all the files in a directory into a table. Files can be created using
- * {@link AccumuloFileOutputFormat} and {@link RFile#newWriter()}
+ * {@code AccumuloFileOutputFormat} and {@link RFile#newWriter()}
*
* @param tableName
* the name of the table
diff --git a/core/src/main/java/org/apache/accumulo/core/util/DeprecationUtil.java b/core/src/main/java/org/apache/accumulo/core/util/DeprecationUtil.java
index 727d123..045da7c 100644
--- a/core/src/main/java/org/apache/accumulo/core/util/DeprecationUtil.java
+++ b/core/src/main/java/org/apache/accumulo/core/util/DeprecationUtil.java
@@ -17,8 +17,6 @@
package org.apache.accumulo.core.util;
import org.apache.accumulo.core.client.Instance;
-import org.apache.accumulo.core.client.impl.TabletLocator;
-import org.apache.accumulo.core.client.mapreduce.RangeInputSplit;
/**
* A utility class for managing deprecated items. This avoids scattering private helper methods all
@@ -46,19 +44,4 @@ public class DeprecationUtil {
return new org.apache.accumulo.core.client.mock.MockInstance(instance);
}
- @SuppressWarnings("deprecation")
- public static void setMockInstance(RangeInputSplit split, boolean isMockInstance) {
- split.setMockInstance(isMockInstance);
- }
-
- @SuppressWarnings("deprecation")
- public static boolean isMockInstanceSet(RangeInputSplit split) {
- return split.isMockInstance();
- }
-
- @SuppressWarnings("deprecation")
- public static TabletLocator makeMockLocator() {
- return new org.apache.accumulo.core.client.mock.impl.MockTabletLocator();
- }
-
}
diff --git a/minicluster/pom.xml b/minicluster/pom.xml
index 4d4aa82..5fa8e31 100644
--- a/minicluster/pom.xml
+++ b/minicluster/pom.xml
@@ -145,11 +145,10 @@
<include>org[.]apache[.]accumulo[.]minicluster[.].*</include>
</includes>
<excludes>
- <exclude>.*Impl</exclude>
<exclude>.*[.]impl[.].*</exclude>
</excludes>
<allows>
- <allow>org[.]apache[.]accumulo[.]core[.](client|data|security)[.](?!.*(impl|thrift|crypto).*).*</allow>
+ <allow>org[.]apache[.]accumulo[.]core[.](?:client|data|security)[.](?!.*(impl|thrift|crypto).*).*</allow>
</allows>
</configuration>
</execution>
diff --git a/pom.xml b/pom.xml
index 904e2b6..0c4a870 100644
--- a/pom.xml
+++ b/pom.xml
@@ -78,6 +78,7 @@
</mailingLists>
<modules>
<module>assemble</module>
+ <module>client/mapreduce</module>
<module>core</module>
<module>fate</module>
<module>iterator-test-harness</module>
@@ -311,6 +312,11 @@
</dependency>
<dependency>
<groupId>org.apache.accumulo</groupId>
+ <artifactId>accumulo-client-mapreduce</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.accumulo</groupId>
<artifactId>accumulo-core</artifactId>
<version>${project.version}</version>
</dependency>
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/MajorCompactionRequest.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/MajorCompactionRequest.java
index 8876cac..6a7ffcb 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/MajorCompactionRequest.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/MajorCompactionRequest.java
@@ -24,7 +24,6 @@ import java.util.Map;
import java.util.function.Predicate;
import org.apache.accumulo.core.client.admin.TableOperations;
-import org.apache.accumulo.core.client.mapred.AccumuloFileOutputFormat;
import org.apache.accumulo.core.client.rfile.RFile.WriterOptions;
import org.apache.accumulo.core.client.summary.Summarizer;
import org.apache.accumulo.core.client.summary.Summarizer.Combiner;
@@ -139,8 +138,6 @@ public class MajorCompactionRequest implements Cloneable {
*
* @see Summarizer
* @see TableOperations#addSummarizers(String, SummarizerConfiguration...)
- * @see AccumuloFileOutputFormat#setSummarizers(org.apache.hadoop.mapred.JobConf,
- * SummarizerConfiguration...)
* @see WriterOptions#withSummarizers(SummarizerConfiguration...)
*/
public List<Summary> getSummaries(Collection<FileRef> files,
diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/strategies/TooManyDeletesCompactionStrategy.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/strategies/TooManyDeletesCompactionStrategy.java
index be2d1ab..504c0bd 100644
--- a/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/strategies/TooManyDeletesCompactionStrategy.java
+++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/compaction/strategies/TooManyDeletesCompactionStrategy.java
@@ -27,7 +27,6 @@ import java.util.Map;
import java.util.Map.Entry;
import java.util.function.Predicate;
-import org.apache.accumulo.core.client.mapred.AccumuloFileOutputFormat;
import org.apache.accumulo.core.client.rfile.RFile.WriterOptions;
import org.apache.accumulo.core.client.summary.SummarizerConfiguration;
import org.apache.accumulo.core.client.summary.Summary;
@@ -65,8 +64,8 @@ import org.slf4j.LoggerFactory;
*
* <p>
* Bulk files can be generated with summary information by calling
- * {@link AccumuloFileOutputFormat#setSummarizers(org.apache.hadoop.mapred.JobConf, SummarizerConfiguration...)}
- * or {@link WriterOptions#withSummarizers(SummarizerConfiguration...)}
+ * {@code AccumuloFileOutputFormat#setSummarizers(JobConf, SummarizerConfiguration...)} or
+ * {@link WriterOptions#withSummarizers(SummarizerConfiguration...)}
*
* <p>
* When this strategy does not decide to compact based on the number of deletes, then it will defer
@@ -105,6 +104,7 @@ public class TooManyDeletesCompactionStrategy extends DefaultCompactionStrategy
public static final String PROCEED_ZERO_NO_SUMMARY_OPT_DEFAULT = "false";
+ @Override
public void init(Map<String,String> options) {
this.threshold = Double.parseDouble(options.getOrDefault(THRESHOLD_OPT, THRESHOLD_OPT_DEFAULT));
if (threshold <= 0.0 || threshold > 1.0) {
diff --git a/test/pom.xml b/test/pom.xml
index 1c6dbbe..82f2c09 100644
--- a/test/pom.xml
+++ b/test/pom.xml
@@ -80,6 +80,10 @@
</dependency>
<dependency>
<groupId>org.apache.accumulo</groupId>
+ <artifactId>accumulo-client-mapreduce</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.accumulo</groupId>
<artifactId>accumulo-core</artifactId>
</dependency>
<dependency>
diff --git a/test/src/main/java/org/apache/accumulo/test/mapreduce/RowHash.java b/test/src/main/java/org/apache/accumulo/test/mapreduce/RowHash.java
index f99619f..9338561 100644
--- a/test/src/main/java/org/apache/accumulo/test/mapreduce/RowHash.java
+++ b/test/src/main/java/org/apache/accumulo/test/mapreduce/RowHash.java
@@ -20,9 +20,9 @@ import java.io.IOException;
import java.util.Base64;
import java.util.Collections;
-import org.apache.accumulo.core.cli.MapReduceClientOnRequiredTable;
import org.apache.accumulo.core.client.mapreduce.AccumuloInputFormat;
import org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat;
+import org.apache.accumulo.core.client.mapreduce.lib.impl.MapReduceClientOnRequiredTable;
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Mutation;
import org.apache.accumulo.core.data.Value;
--
To stop receiving notification emails like this one, please contact
ctubbsii@apache.org.