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 2013/12/03 22:16:31 UTC
[5/8] git commit: ACCUMULO-1961 Fix warnings
ACCUMULO-1961 Fix warnings
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/a3a88955
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/a3a88955
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/a3a88955
Branch: refs/heads/1.5.1-SNAPSHOT
Commit: a3a889554940d249504a2b03c0e6dda2a25ef5cd
Parents: 47403ba
Author: Christopher Tubbs <ct...@apache.org>
Authored: Tue Dec 3 15:12:27 2013 -0500
Committer: Christopher Tubbs <ct...@apache.org>
Committed: Tue Dec 3 15:26:56 2013 -0500
----------------------------------------------------------------------
pom.xml | 55 +-
.../apache/accumulo/core/client/Connector.java | 2 +
.../accumulo/core/client/IteratorSetting.java | 57 +-
.../accumulo/core/client/ScannerBase.java | 7 +
.../core/client/admin/TableOperations.java | 3 +
.../core/client/admin/TableOperationsImpl.java | 3 +
.../core/client/impl/ConnectorImpl.java | 1 +
.../core/client/impl/OfflineScanner.java | 131 ++-
.../core/client/impl/ScannerOptions.java | 7 +
.../client/impl/TabletServerBatchDeleter.java | 11 +-
.../mapreduce/AccumuloFileOutputFormat.java | 19 +-
.../client/mapreduce/AccumuloOutputFormat.java | 18 +
.../core/client/mapreduce/InputFormatBase.java | 34 +
.../accumulo/core/client/mock/MockAccumulo.java | 1 +
.../accumulo/core/client/mock/MockTable.java | 1 +
.../core/client/mock/MockTableOperations.java | 1 +
.../core/conf/AccumuloConfiguration.java | 1 +
.../org/apache/accumulo/core/data/Value.java | 6 +
.../accumulo/core/file/BloomFilterLayer.java | 201 ++--
.../core/file/map/MapFileOperations.java | 1 +
.../accumulo/core/file/map/MapFileUtil.java | 2 +
.../accumulo/core/file/map/MyMapFile.java | 2 +
.../accumulo/core/file/map/MySequenceFile.java | 1 +
.../accumulo/core/file/rfile/RelativeKey.java | 222 ++--
.../accumulo/core/file/rfile/bcfile/BCFile.java | 3 -
.../accumulo/core/file/rfile/bcfile/TFile.java | 404 +++----
.../core/iterators/AggregatingIterator.java | 1 +
.../iterators/FamilyIntersectingIterator.java | 1 +
.../core/iterators/FilteringIterator.java | 1 +
.../core/iterators/FirstEntryInRowIterator.java | 1 +
.../accumulo/core/iterators/GrepIterator.java | 1 +
.../core/iterators/IntersectingIterator.java | 1 +
.../accumulo/core/iterators/IteratorUtil.java | 1 +
.../accumulo/core/iterators/LargeRowFilter.java | 1 +
.../core/iterators/NoLabelIterator.java | 1 +
.../accumulo/core/iterators/RegExIterator.java | 1 +
.../core/iterators/RowDeletingIterator.java | 1 +
.../core/iterators/SortedKeyValueIterator.java | 6 +-
.../core/iterators/VersioningIterator.java | 1 +
.../core/iterators/WholeRowIterator.java | 1 +
.../core/iterators/aggregation/Aggregator.java | 1 +
.../iterators/aggregation/LongSummation.java | 1 +
.../aggregation/NumArraySummation.java | 1 +
.../iterators/aggregation/NumSummation.java | 1 +
.../core/iterators/aggregation/StringMax.java | 1 +
.../core/iterators/aggregation/StringMin.java | 1 +
.../iterators/aggregation/StringSummation.java | 1 +
.../conf/AggregatorConfiguration.java | 1 +
.../aggregation/conf/AggregatorSet.java | 1 +
.../iterators/conf/PerColumnIteratorConfig.java | 1 +
.../core/iterators/filter/AgeOffFilter.java | 1 +
.../iterators/filter/ColumnAgeOffFilter.java | 1 +
.../iterators/filter/ColumnQualifierFilter.java | 1 +
.../core/iterators/filter/DeleteFilter.java | 1 +
.../accumulo/core/iterators/filter/Filter.java | 1 +
.../core/iterators/filter/NoLabelFilter.java | 1 +
.../core/iterators/filter/RegExFilter.java | 1 +
.../core/iterators/filter/VisibilityFilter.java | 1 +
.../iterators/user/IntersectingIterator.java | 3 +
.../apache/accumulo/core/util/shell/Shell.java | 332 +++---
.../core/util/shell/commands/SelectCommand.java | 1 +
.../util/shell/commands/SelectrowCommand.java | 1 +
.../client/admin/TableOperationsHelperTest.java | 1 +
.../mapreduce/AccumuloInputFormatTest.java | 57 +-
.../mapreduce/AccumuloOutputFormatTest.java | 20 +-
.../apache/accumulo/core/data/MapFileTest.java | 1 +
.../core/iterators/AggregatingIteratorTest.java | 1 +
.../core/iterators/FilteringIteratorTest.java | 1 +
.../core/iterators/RegExIteratorTest.java | 1 +
.../iterators/aggregation/NumSummationTest.java | 1 +
.../conf/AggregatorConfigurationTest.java | 1 +
.../core/iterators/filter/ColumnFilterTest.java | 1 +
.../core/iterators/user/CombinerTest.java | 2 +
.../minicluster/MiniAccumuloConfig.java | 26 +-
src/proxy/pom.xml | 2 -
.../server/conf/TableConfiguration.java | 1 +
.../accumulo/server/logger/LogReader.java | 25 +-
.../accumulo/server/logger/LogWriter.java | 89 +-
.../apache/accumulo/server/master/LogSort.java | 58 +-
.../monitor/servlets/trace/NullScanner.java | 61 +-
.../accumulo/server/security/SecurityUtil.java | 5 -
.../server/tabletserver/TabletServer.java | 1047 +++++++++---------
.../server/test/CreateRandomMapFile.java | 1 +
.../accumulo/server/test/DumpMapFile.java | 1 +
.../apache/accumulo/server/test/MMFITest.java | 1 +
.../accumulo/server/test/MidPointPerfTest2.java | 2 +
.../accumulo/server/util/CountDiskRows.java | 1 +
.../accumulo/server/util/DumpMapFile.java | 1 +
.../apache/accumulo/server/util/DumpTable.java | 1 +
.../server/util/MapFilePerformanceTest.java | 1 +
.../server/util/OfflineMetadataScanner.java | 95 +-
.../accumulo/server/util/InitializeTest.java | 11 +-
92 files changed, 1633 insertions(+), 1451 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index d0b3041..9d33818 100644
--- a/pom.xml
+++ b/pom.xml
@@ -14,7 +14,8 @@
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">
+-->
+<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>
@@ -22,8 +23,8 @@
<artifactId>apache</artifactId>
<version>10</version>
</parent>
-
-
+
+
<groupId>org.apache.accumulo</groupId>
<artifactId>accumulo</artifactId>
<packaging>pom</packaging>
@@ -134,7 +135,7 @@
<include>web/**</include>
<include>randomwalk/**</include>
<include>*.*</include>
- <include>**/META-INF/*</include>
+ <include>**/META-INF/*</include>
</includes>
</configuration>
</plugin>
@@ -196,7 +197,7 @@
<projversion>${project.version}</projversion>
<summary>Apache Accumulo BigTable clone</summary>
<description>
- Apache Accumulo is a large distributed structured store based on
+ Apache Accumulo is a large distributed structured store based on
Google's BigTable design.
</description>
<copyright>2011 The Apache Software Foundation.</copyright>
@@ -280,7 +281,7 @@
</mapping>
<mapping>
<directory>/opt/accumulo/accumulo-${project.version}/lib</directory>
- <dependency/>
+ <dependency />
<sources>
<source>
<location>lib</location>
@@ -343,7 +344,7 @@
<type>file</type>
<mapper>
<type>perm</type>
- <prefix>/usr/lib/accumulo</prefix>
+ <prefix>/usr/lib/accumulo</prefix>
</mapper>
</data>
<data>
@@ -351,7 +352,7 @@
<type>file</type>
<mapper>
<type>perm</type>
- <prefix>/usr/lib/accumulo</prefix>
+ <prefix>/usr/lib/accumulo</prefix>
</mapper>
</data>
<data>
@@ -359,7 +360,7 @@
<type>file</type>
<mapper>
<type>perm</type>
- <prefix>/usr/lib/accumulo</prefix>
+ <prefix>/usr/lib/accumulo</prefix>
</mapper>
</data>
<data>
@@ -367,7 +368,7 @@
<type>file</type>
<mapper>
<type>perm</type>
- <prefix>/usr/lib/accumulo</prefix>
+ <prefix>/usr/lib/accumulo</prefix>
</mapper>
</data>
<data>
@@ -506,7 +507,20 @@
</goals>
</pluginExecutionFilter>
<action>
- <ignore/>
+ <ignore />
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-remote-resources-plugin</artifactId>
+ <versionRange>[1.0,)</versionRange>
+ <goals>
+ <goal>process</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
</action>
</pluginExecution>
<pluginExecution>
@@ -519,7 +533,20 @@
</goals>
</pluginExecutionFilter>
<action>
- <ignore/>
+ <ignore />
+ </action>
+ </pluginExecution>
+ <pluginExecution>
+ <pluginExecutionFilter>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <versionRange>[1.0,)</versionRange>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ </pluginExecutionFilter>
+ <action>
+ <ignore />
</action>
</pluginExecution>
</pluginExecutions>
@@ -761,11 +788,11 @@
<artifactId>accumulo-server</artifactId>
<version>1.4.5-SNAPSHOT</version>
</dependency>
- <dependency>
+ <dependency>
<groupId>org.apache.accumulo</groupId>
<artifactId>accumulo-minicluster</artifactId>
<version>1.4.5-SNAPSHOT</version>
- </dependency>
+ </dependency>
<!-- additional dependencies we need to provide -->
<dependency>
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/Connector.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/Connector.java b/src/core/src/main/java/org/apache/accumulo/core/client/Connector.java
index 72b3252..5f8a3f4 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/Connector.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/Connector.java
@@ -46,6 +46,7 @@ public class Connector {
* when a user's credentials are invalid
* @see Instance#getConnector(String user, byte[] password)
*/
+ @Deprecated
public Connector(Instance instance, String user, byte[] password) throws AccumuloException, AccumuloSecurityException {
impl = instance.getConnector(user, password);
}
@@ -54,6 +55,7 @@ public class Connector {
* @see Instance#getConnector(String user, byte[] password)
* @deprecated Not for client use
*/
+ @Deprecated
public Connector() {
impl = null;
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/IteratorSetting.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/IteratorSetting.java b/src/core/src/main/java/org/apache/accumulo/core/client/IteratorSetting.java
index e815072..d30ea37 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/IteratorSetting.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/IteratorSetting.java
@@ -47,7 +47,7 @@ public class IteratorSetting {
private String name;
private String iteratorClass;
private Map<String,String> properties;
-
+
/**
* Get layer at which this iterator applies. See {@link #setPriority(int)} for how the priority is used.
*
@@ -56,7 +56,7 @@ public class IteratorSetting {
public int getPriority() {
return priority;
}
-
+
/**
* Set layer at which this iterator applies.
*
@@ -68,7 +68,7 @@ public class IteratorSetting {
ArgumentChecker.strictlyPositive(priority);
this.priority = priority;
}
-
+
/**
* Get the iterator's name.
*
@@ -77,7 +77,7 @@ public class IteratorSetting {
public String getName() {
return name;
}
-
+
/**
* Set the iterator's name. Must be a simple alphanumeric identifier.
*
@@ -87,7 +87,7 @@ public class IteratorSetting {
ArgumentChecker.notNull(name);
this.name = name;
}
-
+
/**
* Get the name of the class that implements the iterator.
*
@@ -96,7 +96,7 @@ public class IteratorSetting {
public String getIteratorClass() {
return iteratorClass;
}
-
+
/**
* Set the name of the class that implements the iterator. The class does not have to be present on the client, but it must be available to all tablet
* servers.
@@ -107,7 +107,7 @@ public class IteratorSetting {
ArgumentChecker.notNull(iteratorClass);
this.iteratorClass = iteratorClass;
}
-
+
/**
* Constructs an iterator setting configured for the scan scope with no parameters. (Parameters can be added later.)
*
@@ -121,7 +121,7 @@ public class IteratorSetting {
public IteratorSetting(int priority, String name, String iteratorClass) {
this(priority, name, iteratorClass, new HashMap<String,String>());
}
-
+
/**
* Constructs an iterator setting configured for the specified scopes with the specified parameters.
*
@@ -141,7 +141,7 @@ public class IteratorSetting {
this.properties = new HashMap<String,String>();
addOptions(properties);
}
-
+
/**
* Constructs an iterator setting using the given class's SimpleName for the iterator name. The iterator setting will be configured for the scan scope with no
* parameters.
@@ -154,7 +154,7 @@ public class IteratorSetting {
public IteratorSetting(int priority, Class<? extends SortedKeyValueIterator<Key,Value>> iteratorClass) {
this(priority, iteratorClass.getSimpleName(), iteratorClass.getName());
}
-
+
/**
*
* Constructs an iterator setting using the given class's SimpleName for the iterator name and configured for the specified scopes with the specified
@@ -170,7 +170,7 @@ public class IteratorSetting {
public IteratorSetting(int priority, Class<? extends SortedKeyValueIterator<Key,Value>> iteratorClass, Map<String,String> properties) {
this(priority, iteratorClass.getSimpleName(), iteratorClass.getName(), properties);
}
-
+
/**
* Constructs an iterator setting configured for the scan scope with no parameters.
*
@@ -184,7 +184,7 @@ public class IteratorSetting {
public IteratorSetting(int priority, String name, Class<? extends SortedKeyValueIterator<Key,Value>> iteratorClass) {
this(priority, name, iteratorClass.getName());
}
-
+
/**
* Add another option to the iterator.
*
@@ -197,7 +197,7 @@ public class IteratorSetting {
ArgumentChecker.notNull(option, value);
properties.put(option, value);
}
-
+
/**
* Remove an option from the iterator.
*
@@ -209,7 +209,7 @@ public class IteratorSetting {
ArgumentChecker.notNull(option);
return properties.remove(option);
}
-
+
/**
* Add many options to the iterator.
*
@@ -222,7 +222,7 @@ public class IteratorSetting {
addOption(keyValue.getKey(), keyValue.getValue());
}
}
-
+
/**
* Add many options to the iterator.
*
@@ -233,7 +233,7 @@ public class IteratorSetting {
ArgumentChecker.notNull(properties);
addOptions(properties.entrySet());
}
-
+
/**
* Get the configuration parameters for this iterator.
*
@@ -242,14 +242,14 @@ public class IteratorSetting {
public Map<String,String> getOptions() {
return Collections.unmodifiableMap(properties);
}
-
+
/**
* Remove all options from the iterator.
*/
public void clearOptions() {
properties.clear();
}
-
+
/**
* @see java.lang.Object#hashCode()
*/
@@ -263,10 +263,7 @@ public class IteratorSetting {
result = prime * result + ((properties == null) ? 0 : properties.hashCode());
return result;
}
-
- /**
- * @see java.lang.Object#equals()
- */
+
@Override
public boolean equals(Object obj) {
if (this == obj)
@@ -312,35 +309,35 @@ public class IteratorSetting {
sb.append(properties);
return sb.toString();
}
-
+
/**
* A convenience class for passing column family and column qualifiers to iterator configuration methods.
*/
public static class Column extends Pair<Text,Text> {
-
+
public Column(Text columnFamily, Text columnQualifier) {
super(columnFamily, columnQualifier);
}
-
+
public Column(Text columnFamily) {
super(columnFamily, null);
}
-
+
public Column(String columnFamily, String columnQualifier) {
super(new Text(columnFamily), new Text(columnQualifier));
}
-
+
public Column(String columnFamily) {
super(new Text(columnFamily), null);
}
-
+
public Text getColumnFamily() {
return getFirst();
}
-
+
public Text getColumnQualifier() {
return getSecond();
}
-
+
}
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/ScannerBase.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/ScannerBase.java b/src/core/src/main/java/org/apache/accumulo/core/client/ScannerBase.java
index 570ed6f..f0eb5c8 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/ScannerBase.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/ScannerBase.java
@@ -65,11 +65,13 @@ public interface ScannerBase extends Iterable<Entry<Key,Value>> {
/**
* @deprecated Since 1.4, use {@link org.apache.accumulo.core.client.ScannerBase#addScanIterator}.
*/
+ @Deprecated
public void setScanIterators(int priority, String iteratorClass, String iteratorName) throws IOException;
/**
* @deprecated Since 1.4, use {@link org.apache.accumulo.core.client.ScannerBase#addScanIterator}.
*/
+ @Deprecated
public void setScanIteratorOption(String iteratorName, String key, String value);
/**
@@ -85,6 +87,7 @@ public interface ScannerBase extends Iterable<Entry<Key,Value>> {
* @deprecated Since 1.4, use {@link org.apache.accumulo.core.client.ScannerBase#addScanIterator} and
* {@link org.apache.accumulo.core.iterators.user.RegExFilter}
*/
+ @Deprecated
public void setupRegex(String iteratorName, int iteratorPriority) throws IOException;
/**
@@ -104,6 +107,7 @@ public interface ScannerBase extends Iterable<Entry<Key,Value>> {
* scanner.addScanIterator(priority, cfg);
* </pre>
*/
+ @Deprecated
public void setRowRegex(String regex);
/**
@@ -116,6 +120,7 @@ public interface ScannerBase extends Iterable<Entry<Key,Value>> {
* @deprecated Since 1.4, use {@link org.apache.accumulo.core.client.ScannerBase#addScanIterator} and
* {@link org.apache.accumulo.core.iterators.user.RegExFilter}
*/
+ @Deprecated
public void setColumnFamilyRegex(String regex);
/**
@@ -130,6 +135,7 @@ public interface ScannerBase extends Iterable<Entry<Key,Value>> {
* {@link org.apache.accumulo.core.iterators.user.RegExFilter}
*
*/
+ @Deprecated
public void setColumnQualifierRegex(String regex);
/**
@@ -141,6 +147,7 @@ public interface ScannerBase extends Iterable<Entry<Key,Value>> {
* @deprecated Since 1.4, use {@link org.apache.accumulo.core.client.ScannerBase#addScanIterator} and
* {@link org.apache.accumulo.core.iterators.user.RegExFilter}
*/
+ @Deprecated
public void setValueRegex(String regex);
/**
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java b/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java
index e696ce9..ac233e3 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperations.java
@@ -114,6 +114,7 @@ public interface TableOperations {
*
* @deprecated since 1.4 {@link #attachIterator(String, IteratorSetting)}
*/
+ @Deprecated
public void addAggregators(String tableName, List<? extends PerColumnIteratorConfig> aggregators) throws AccumuloSecurityException, TableNotFoundException,
AccumuloException;
@@ -282,6 +283,7 @@ public interface TableOperations {
*
* @deprecated As of release 1.4, replaced by {@link #flush(String, Text, Text, boolean)}
*/
+ @Deprecated
public void flush(String tableName) throws AccumuloException, AccumuloSecurityException;
/**
@@ -416,6 +418,7 @@ public interface TableOperations {
/**
* @deprecated Since 1.4 use {@link #importDirectory(String, String, String, boolean)}
*/
+ @Deprecated
public AssignmentStats importDirectory(String tableName, String dir, String failureDir, int numThreads, int numAssignThreads, boolean disableGC)
throws IOException, AccumuloException, AccumuloSecurityException;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java b/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
index 74b3498..adc95b6 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/admin/TableOperationsImpl.java
@@ -560,6 +560,7 @@ public class TableOperationsImpl extends TableOperationsHelper {
/**
* @deprecated since 1.4 {@link #flush(String, Text, Text, boolean)}
*/
+ @Deprecated
public void flush(String tableName) throws AccumuloException, AccumuloSecurityException {
try {
flush(tableName, null, null, false);
@@ -898,6 +899,7 @@ public class TableOperationsImpl extends TableOperationsHelper {
/**
* @deprecated since 1.4 {@link #importDirectory(String, String, String, boolean)}
*/
+ @Deprecated
@Override
public AssignmentStats importDirectory(String tableName, String dir, String failureDir, int numThreads, int numAssignThreads, boolean disableGC)
throws IOException, AccumuloException, AccumuloSecurityException {
@@ -1043,6 +1045,7 @@ public class TableOperationsImpl extends TableOperationsHelper {
*
* @deprecated since 1.4 {@link #attachIterator(String, IteratorSetting)}
*/
+ @Deprecated
@Override
public void addAggregators(String tableName, List<? extends org.apache.accumulo.core.iterators.conf.PerColumnIteratorConfig> aggregators)
throws AccumuloSecurityException, TableNotFoundException,
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java b/src/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java
index adc2556..6404b5f 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/impl/ConnectorImpl.java
@@ -60,6 +60,7 @@ public class ConnectorImpl extends Connector {
* @see Instance#getConnector(String user, byte[] password)
* @deprecated Not for client use
*/
+ @Deprecated
public ConnectorImpl(Instance instance, String user, byte[] password) throws AccumuloException, AccumuloSecurityException {
ArgumentChecker.notNull(instance, user, password);
this.instance = instance;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java b/src/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java
index c26024c..d1f90b3 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java
@@ -67,35 +67,35 @@ import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.io.Text;
class OfflineIterator implements Iterator<Entry<Key,Value>> {
-
+
static class OfflineIteratorEnvironment implements IteratorEnvironment {
@Override
public SortedKeyValueIterator<Key,Value> reserveMapFileReader(String mapFileName) throws IOException {
throw new NotImplementedException();
}
-
+
@Override
public AccumuloConfiguration getConfig() {
return AccumuloConfiguration.getDefaultConfiguration();
}
-
+
@Override
public IteratorScope getIteratorScope() {
return IteratorScope.scan;
}
-
+
@Override
public boolean isFullMajorCompaction() {
return false;
}
-
+
private ArrayList<SortedKeyValueIterator<Key,Value>> topLevelIterators = new ArrayList<SortedKeyValueIterator<Key,Value>>();
-
+
@Override
public void registerSideChannel(SortedKeyValueIterator<Key,Value> iter) {
topLevelIterators.add(iter);
}
-
+
SortedKeyValueIterator<Key,Value> getTopLevelIterator(SortedKeyValueIterator<Key,Value> iter) {
if (topLevelIterators.isEmpty())
return iter;
@@ -115,18 +115,11 @@ class OfflineIterator implements Iterator<Entry<Key,Value>> {
private ScannerOptions options;
private ArrayList<SortedKeyValueIterator<Key,Value>> readers;
- /**
- * @param offlineScanner
- * @param instance
- * @param credentials
- * @param authorizations
- * @param table
- */
public OfflineIterator(ScannerOptions options, Instance instance, AuthInfo credentials, Authorizations authorizations, Text table, Range range) {
this.options = new ScannerOptions(options);
this.instance = instance;
this.range = range;
-
+
if (this.options.fetchedColumns.size() > 0) {
this.range = range.bound(this.options.fetchedColumns.first(), this.options.fetchedColumns.last());
}
@@ -134,11 +127,11 @@ class OfflineIterator implements Iterator<Entry<Key,Value>> {
this.tableId = table.toString();
this.authorizations = authorizations;
this.readers = new ArrayList<SortedKeyValueIterator<Key,Value>>();
-
+
try {
conn = instance.getConnector(credentials);
nextTablet();
-
+
while (iter != null && !iter.hasTop())
nextTablet();
@@ -151,7 +144,7 @@ class OfflineIterator implements Iterator<Entry<Key,Value>> {
public boolean hasNext() {
return iter != null && iter.hasTop();
}
-
+
@Override
public Entry<Key,Value> next() {
try {
@@ -160,16 +153,16 @@ class OfflineIterator implements Iterator<Entry<Key,Value>> {
KeyValue ret = new KeyValue(new Key(iter.getTopKey()), Arrays.copyOf(v, v.length));
iter.next();
-
+
while (iter != null && !iter.hasTop())
nextTablet();
-
+
return ret;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
-
+
/**
* @throws TableNotFoundException
* @throws IOException
@@ -177,20 +170,20 @@ class OfflineIterator implements Iterator<Entry<Key,Value>> {
*
*/
private void nextTablet() throws TableNotFoundException, AccumuloException, IOException {
-
+
Range nextRange = null;
-
+
if (currentExtent == null) {
Text startRow;
-
+
if (range.getStartKey() != null)
startRow = range.getStartKey().getRow();
else
startRow = new Text();
-
+
nextRange = new Range(new KeyExtent(new Text(tableId), startRow, null).getMetadataEntry(), true, null, false);
} else {
-
+
if (currentExtent.getEndRow() == null) {
iter = null;
return;
@@ -205,7 +198,7 @@ class OfflineIterator implements Iterator<Entry<Key,Value>> {
}
List<String> relFiles = new ArrayList<String>();
-
+
Pair<KeyExtent,String> eloc = getTabletFiles(nextRange, relFiles);
while (eloc.getSecond() != null) {
@@ -215,21 +208,21 @@ class OfflineIterator implements Iterator<Entry<Key,Value>> {
throw new AccumuloException("Table is online " + tableId + " cannot scan tablet in offline mode " + eloc.getFirst());
}
}
-
+
UtilWaitThread.sleep(250);
-
+
eloc = getTabletFiles(nextRange, relFiles);
}
-
+
KeyExtent extent = eloc.getFirst();
-
+
if (!extent.getTableId().toString().equals(tableId)) {
throw new AccumuloException(" did not find tablets for table " + tableId + " " + extent);
}
if (currentExtent != null && !extent.isPreviousExtent(currentExtent))
throw new AccumuloException(" " + currentExtent + " is not previous extent " + extent);
-
+
String tablesDir = Constants.getTablesDir(instance.getConfiguration());
List<String> absFiles = new ArrayList<String>();
for (String relPath : relFiles) {
@@ -238,24 +231,24 @@ class OfflineIterator implements Iterator<Entry<Key,Value>> {
else
absFiles.add(tablesDir + "/" + tableId + relPath);
}
-
+
iter = createIterator(extent, absFiles);
iter.seek(range, LocalityGroupUtil.families(options.fetchedColumns), options.fetchedColumns.size() == 0 ? false : true);
currentExtent = extent;
-
+
}
-
+
private Pair<KeyExtent,String> getTabletFiles(Range nextRange, List<String> relFiles) throws TableNotFoundException {
Scanner scanner = conn.createScanner(Constants.METADATA_TABLE_NAME, Constants.NO_AUTHS);
scanner.setBatchSize(100);
scanner.setRange(nextRange);
-
+
RowIterator rowIter = new RowIterator(scanner);
Iterator<Entry<Key,Value>> row = rowIter.next();
-
+
KeyExtent extent = null;
String location = null;
-
+
while (row.hasNext()) {
Entry<Key,Value> entry = row.next();
Key key = entry.getKey();
@@ -263,12 +256,12 @@ class OfflineIterator implements Iterator<Entry<Key,Value>> {
if (key.getColumnFamily().equals(Constants.METADATA_DATAFILE_COLUMN_FAMILY)) {
relFiles.add(key.getColumnQualifier().toString());
}
-
+
if (key.getColumnFamily().equals(Constants.METADATA_CURRENT_LOCATION_COLUMN_FAMILY)
|| key.getColumnFamily().equals(Constants.METADATA_FUTURE_LOCATION_COLUMN_FAMILY)) {
location = entry.getValue().toString();
}
-
+
if (Constants.METADATA_PREV_ROW_COLUMN.hasColumns(key)) {
extent = new KeyExtent(key.getRow(), entry.getValue());
}
@@ -286,18 +279,18 @@ class OfflineIterator implements Iterator<Entry<Key,Value>> {
*/
private SortedKeyValueIterator<Key,Value> createIterator(KeyExtent extent, List<String> absFiles) throws TableNotFoundException, AccumuloException,
IOException {
-
+
// TODO share code w/ tablet
AccumuloConfiguration acuTableConf = AccumuloConfiguration.getTableConfiguration(conn, tableId);
-
+
Configuration conf = CachedConfiguration.getInstance();
-
+
FileSystem fs = FileUtil.getFileSystem(conf, instance.getConfiguration());
-
+
for (SortedKeyValueIterator<Key,Value> reader : readers) {
((FileSKVIterator) reader).close();
}
-
+
readers.clear();
// TODO need to close files
@@ -305,24 +298,24 @@ class OfflineIterator implements Iterator<Entry<Key,Value>> {
FileSKVIterator reader = FileOperations.getInstance().openReader(file, false, fs, conf, acuTableConf, null, null);
readers.add(reader);
}
-
+
MultiIterator multiIter = new MultiIterator(readers, extent);
-
+
OfflineIteratorEnvironment iterEnv = new OfflineIteratorEnvironment();
-
+
DeletingIterator delIter = new DeletingIterator(multiIter, false);
-
+
ColumnFamilySkippingIterator cfsi = new ColumnFamilySkippingIterator(delIter);
-
+
ColumnQualifierFilter colFilter = new ColumnQualifierFilter(cfsi, new HashSet<Column>(options.fetchedColumns));
-
+
byte[] defaultSecurityLabel;
-
+
ColumnVisibility cv = new ColumnVisibility(acuTableConf.get(Property.TABLE_DEFAULT_SCANTIME_VISIBILITY));
defaultSecurityLabel = cv.getExpression();
-
+
VisibilityFilter visFilter = new VisibilityFilter(colFilter, authorizations, defaultSecurityLabel);
-
+
return iterEnv.getTopLevelIterator(IteratorUtil.loadIterators(IteratorScope.scan, visFilter, extent, acuTableConf, options.serverSideIteratorList,
options.serverSideIteratorOptions, iterEnv, false));
}
@@ -331,23 +324,23 @@ class OfflineIterator implements Iterator<Entry<Key,Value>> {
public void remove() {
throw new UnsupportedOperationException();
}
-
+
}
/**
*
*/
public class OfflineScanner extends ScannerOptions implements Scanner {
-
+
private int batchSize;
private int timeOut;
private Range range;
-
+
private Instance instance;
private AuthInfo credentials;
private Authorizations authorizations;
private Text tableId;
-
+
public OfflineScanner(Instance instance, AuthInfo credentials, String tableId, Authorizations authorizations) {
ArgumentChecker.notNull(instance, credentials, tableId, authorizations);
this.instance = instance;
@@ -356,7 +349,7 @@ public class OfflineScanner extends ScannerOptions implements Scanner {
this.range = new Range((Key) null, (Key) null);
this.authorizations = authorizations;
-
+
this.batchSize = Constants.SCAN_BATCH_SIZE;
this.timeOut = Integer.MAX_VALUE;
}
@@ -365,42 +358,42 @@ public class OfflineScanner extends ScannerOptions implements Scanner {
public void setTimeOut(int timeOut) {
this.timeOut = timeOut;
}
-
+
@Override
public int getTimeOut() {
return timeOut;
}
-
+
@Override
public void setRange(Range range) {
this.range = range;
}
-
+
@Override
public Range getRange() {
return range;
}
-
+
@Override
public void setBatchSize(int size) {
this.batchSize = size;
}
-
+
@Override
public int getBatchSize() {
return batchSize;
}
-
+
@Override
public void enableIsolation() {
-
+
}
-
+
@Override
public void disableIsolation() {
-
+
}
-
+
@Override
public Iterator<Entry<Key,Value>> iterator() {
return new OfflineIterator(this, instance, credentials, authorizations, tableId, range);
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerOptions.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerOptions.java b/src/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerOptions.java
index 9233a3e..958b202 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerOptions.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/impl/ScannerOptions.java
@@ -105,6 +105,7 @@ public class ScannerOptions implements ScannerBase {
/**
* @deprecated since 1.4, use {@link #addScanIterator(IteratorSetting)}
*/
+ @Deprecated
@Override
public void setScanIterators(int priority, String iteratorClass, String iteratorName) {
addScanIterator(new IteratorSetting(priority, iteratorName, iteratorClass));
@@ -113,6 +114,7 @@ public class ScannerOptions implements ScannerBase {
/**
* @deprecated since 1.4, use {@link #updateScanIteratorOption(String, String, String)}
*/
+ @Deprecated
@Override
public synchronized void setScanIteratorOption(String iteratorName, String key, String value) {
updateScanIteratorOption(iteratorName, key, value);
@@ -142,6 +144,7 @@ public class ScannerOptions implements ScannerBase {
* @deprecated since 1.4, use {@link #addScanIterator(IteratorSetting)}
* @see org.apache.accumulo.core.iterators.user.RegExFilter
*/
+ @Deprecated
@Override
public synchronized void setupRegex(String iteratorName, int iteratorPriority) throws IOException {
ArgumentChecker.notNull(iteratorName);
@@ -166,6 +169,7 @@ public class ScannerOptions implements ScannerBase {
* @deprecated since 1.4, use {@link #addScanIterator(IteratorSetting)}
* @see org.apache.accumulo.core.iterators.user.RegExFilter
*/
+ @Deprecated
@Override
public synchronized void setRowRegex(String regex) {
ArgumentChecker.notNull(regex);
@@ -180,6 +184,7 @@ public class ScannerOptions implements ScannerBase {
* @deprecated since 1.4, use{@link #addScanIterator(IteratorSetting)}
* @see org.apache.accumulo.core.iterators.user.RegExFilter
*/
+ @Deprecated
@Override
public synchronized void setColumnFamilyRegex(String regex) {
ArgumentChecker.notNull(regex);
@@ -194,6 +199,7 @@ public class ScannerOptions implements ScannerBase {
* @deprecated since 1.4, use {@link #addScanIterator(IteratorSetting)}
* @see org.apache.accumulo.core.iterators.user.RegExFilter
*/
+ @Deprecated
@Override
public synchronized void setColumnQualifierRegex(String regex) {
ArgumentChecker.notNull(regex);
@@ -208,6 +214,7 @@ public class ScannerOptions implements ScannerBase {
* @deprecated since 1.4, use {@link #addScanIterator(IteratorSetting)}
* @see org.apache.accumulo.core.iterators.user.RegExFilter
*/
+ @Deprecated
@Override
public synchronized void setValueRegex(String regex) {
ArgumentChecker.notNull(regex);
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchDeleter.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchDeleter.java b/src/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchDeleter.java
index d9198bc..f727e0c 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchDeleter.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchDeleter.java
@@ -34,14 +34,14 @@ import org.apache.accumulo.core.security.ColumnVisibility;
import org.apache.accumulo.core.security.thrift.AuthInfo;
public class TabletServerBatchDeleter extends TabletServerBatchReader implements BatchDeleter {
-
+
private Instance instance;
private AuthInfo credentials;
private String tableId;
private long maxMemory;
private long maxLatency;
private int maxWriteThreads;
-
+
public TabletServerBatchDeleter(Instance instance, AuthInfo credentials, String tableId, Authorizations authorizations, int numQueryThreads, long maxMemory,
long maxLatency, int maxWriteThreads) throws TableNotFoundException {
super(instance, credentials, tableId, authorizations, numQueryThreads);
@@ -53,12 +53,13 @@ public class TabletServerBatchDeleter extends TabletServerBatchReader implements
this.maxWriteThreads = maxWriteThreads;
super.addScanIterator(new IteratorSetting(Integer.MAX_VALUE, BatchDeleter.class.getName() + ".NOVALUE", SortedKeyIterator.class));
}
-
+
+ @Deprecated
@Override
public synchronized void setValueRegex(String regex) {
throw new UnsupportedOperationException("Cannot filter on value with deleter; Write your own deleter");
}
-
+
@Override
public void delete() throws MutationsRejectedException, TableNotFoundException {
BatchWriter bw = null;
@@ -77,5 +78,5 @@ public class TabletServerBatchDeleter extends TabletServerBatchReader implements
bw.close();
}
}
-
+
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java b/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java
index 67d220c..7cfab8b 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloFileOutputFormat.java
@@ -90,6 +90,7 @@ public class AccumuloFileOutputFormat extends FileOutputFormat<Key,Value> {
/**
* @deprecated Use {@link #handleBlockSize(Configuration)} instead
*/
+ @Deprecated
protected static void handleBlockSize(JobContext job) {
handleBlockSize(job.getConfiguration());
}
@@ -108,6 +109,7 @@ public class AccumuloFileOutputFormat extends FileOutputFormat<Key,Value> {
/**
* @deprecated Use {@link #setFileType(Configuration,String)} instead
*/
+ @Deprecated
public static void setFileType(JobContext job, String type) {
setFileType(job.getConfiguration(), type);
}
@@ -119,6 +121,7 @@ public class AccumuloFileOutputFormat extends FileOutputFormat<Key,Value> {
/**
* @deprecated Use {@link #setBlockSize(Configuration,int)} instead
*/
+ @Deprecated
public static void setBlockSize(JobContext job, int blockSize) {
setBlockSize(job.getConfiguration(), blockSize);
}
@@ -132,22 +135,13 @@ public class AccumuloFileOutputFormat extends FileOutputFormat<Key,Value> {
}
/**
- *
- * @param job
- * @param instanceName
- * @param zooKeepers
* @deprecated since 1.4, use {@link #setZooKeeperInstance(Configuration conf, String instanceName, String zooKeepers)}
*/
+ @Deprecated
public static void setZooKeeperInstance(JobContext job, String instanceName, String zooKeepers) {
setZooKeeperInstance(job.getConfiguration(), instanceName, zooKeepers);
}
- /**
- *
- * @param conf
- * @param instanceName
- * @param zooKeepers
- */
public static void setZooKeeperInstance(Configuration conf, String instanceName, String zooKeepers) {
if (conf.getBoolean(INSTANCE_HAS_BEEN_SET, false))
throw new IllegalStateException("Instance info can only be set once per job");
@@ -159,19 +153,16 @@ public class AccumuloFileOutputFormat extends FileOutputFormat<Key,Value> {
}
/**
- *
- * @param job
* @return The Accumulo instance.
*
* @deprecated since 1.4, use {@link #getInstance(Configuration conf)} no other configurations are used by OutputFormat
*/
+ @Deprecated
protected static Instance getInstance(JobContext job) {
return getInstance(job.getConfiguration());
}
/**
- *
- * @param conf
* @return The Accumulo instance.
*/
protected static Instance getInstance(Configuration conf) {
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java b/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
index 02516a3..ed0aebf 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/AccumuloOutputFormat.java
@@ -103,6 +103,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
* the table to use when the tablename is null in the write call
* @deprecated Use {@link #setOutputInfo(Configuration,String,byte[],boolean,String)} instead
*/
+ @Deprecated
public static void setOutputInfo(JobContext job, String user, byte[] passwd, boolean createTables, String defaultTable) {
setOutputInfo(job.getConfiguration(), user, passwd, createTables, defaultTable);
}
@@ -137,6 +138,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #setZooKeeperInstance(Configuration,String,String)} instead
*/
+ @Deprecated
public static void setZooKeeperInstance(JobContext job, String instanceName, String zooKeepers) {
setZooKeeperInstance(job.getConfiguration(), instanceName, zooKeepers);
}
@@ -154,6 +156,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #setMockInstance(Configuration,String)} instead
*/
+ @Deprecated
public static void setMockInstance(JobContext job, String instanceName) {
setMockInstance(job.getConfiguration(), instanceName);
}
@@ -167,6 +170,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #setMaxMutationBufferSize(Configuration,long)} instead
*/
+ @Deprecated
public static void setMaxMutationBufferSize(JobContext job, long numberOfBytes) {
setMaxMutationBufferSize(job.getConfiguration(), numberOfBytes);
}
@@ -178,6 +182,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #setMaxLatency(Configuration,int)} instead
*/
+ @Deprecated
public static void setMaxLatency(JobContext job, int numberOfMilliseconds) {
setMaxLatency(job.getConfiguration(), numberOfMilliseconds);
}
@@ -189,6 +194,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #setMaxWriteThreads(Configuration,int)} instead
*/
+ @Deprecated
public static void setMaxWriteThreads(JobContext job, int numberOfThreads) {
setMaxWriteThreads(job.getConfiguration(), numberOfThreads);
}
@@ -200,6 +206,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #setLogLevel(Configuration,Level)} instead
*/
+ @Deprecated
public static void setLogLevel(JobContext job, Level level) {
setLogLevel(job.getConfiguration(), level);
}
@@ -212,6 +219,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #setSimulationMode(Configuration)} instead
*/
+ @Deprecated
public static void setSimulationMode(JobContext job) {
setSimulationMode(job.getConfiguration());
}
@@ -223,6 +231,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #getUsername(Configuration)} instead
*/
+ @Deprecated
protected static String getUsername(JobContext job) {
return getUsername(job.getConfiguration());
}
@@ -237,6 +246,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
*
* @deprecated Use {@link #getPassword(Configuration)} instead
*/
+ @Deprecated
protected static byte[] getPassword(JobContext job) {
return getPassword(job.getConfiguration());
}
@@ -252,6 +262,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #canCreateTables(Configuration)} instead
*/
+ @Deprecated
protected static boolean canCreateTables(JobContext job) {
return canCreateTables(job.getConfiguration());
}
@@ -263,6 +274,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #getDefaultTableName(Configuration)} instead
*/
+ @Deprecated
protected static String getDefaultTableName(JobContext job) {
return getDefaultTableName(job.getConfiguration());
}
@@ -274,6 +286,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #getInstance(Configuration)} instead
*/
+ @Deprecated
protected static Instance getInstance(JobContext job) {
return getInstance(job.getConfiguration());
}
@@ -287,6 +300,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #getMaxMutationBufferSize(Configuration)} instead
*/
+ @Deprecated
protected static long getMaxMutationBufferSize(JobContext job) {
return getMaxMutationBufferSize(job.getConfiguration());
}
@@ -298,6 +312,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #getMaxLatency(Configuration)} instead
*/
+ @Deprecated
protected static int getMaxLatency(JobContext job) {
return getMaxLatency(job.getConfiguration());
}
@@ -309,6 +324,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #getMaxWriteThreads(Configuration)} instead
*/
+ @Deprecated
protected static int getMaxWriteThreads(JobContext job) {
return getMaxWriteThreads(job.getConfiguration());
}
@@ -320,6 +336,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #getLogLevel(Configuration)} instead
*/
+ @Deprecated
protected static Level getLogLevel(JobContext job) {
return getLogLevel(job.getConfiguration());
}
@@ -333,6 +350,7 @@ public class AccumuloOutputFormat extends OutputFormat<Text,Mutation> {
/**
* @deprecated Use {@link #getSimulationMode(Configuration)} instead
*/
+ @Deprecated
protected static boolean getSimulationMode(JobContext job) {
return getSimulationMode(job.getConfiguration());
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java b/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
index 8fe0347..de97f12 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
@@ -146,6 +146,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #setIsolated(Configuration,boolean)} instead
*/
+ @Deprecated
public static void setIsolated(JobContext job, boolean enable) {
setIsolated(job.getConfiguration(), enable);
}
@@ -165,6 +166,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #setLocalIterators(Configuration,boolean)} instead
*/
+ @Deprecated
public static void setLocalIterators(JobContext job, boolean enable) {
setLocalIterators(job.getConfiguration(), enable);
}
@@ -184,6 +186,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #setInputInfo(Configuration,String,byte[],String,Authorizations)} instead
*/
+ @Deprecated
public static void setInputInfo(JobContext job, String user, byte[] passwd, String table, Authorizations auths) {
setInputInfo(job.getConfiguration(), user, passwd, table, auths);
}
@@ -218,6 +221,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #setZooKeeperInstance(Configuration,String,String)} instead
*/
+ @Deprecated
public static void setZooKeeperInstance(JobContext job, String instanceName, String zooKeepers) {
setZooKeeperInstance(job.getConfiguration(), instanceName, zooKeepers);
}
@@ -245,6 +249,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #setMockInstance(Configuration,String)} instead
*/
+ @Deprecated
public static void setMockInstance(JobContext job, String instanceName) {
setMockInstance(job.getConfiguration(), instanceName);
}
@@ -266,6 +271,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #setRanges(Configuration,Collection)} instead
*/
+ @Deprecated
public static void setRanges(JobContext job, Collection<Range> ranges) {
setRanges(job.getConfiguration(), ranges);
}
@@ -296,6 +302,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #disableAutoAdjustRanges(Configuration)} instead
*/
+ @Deprecated
public static void disableAutoAdjustRanges(JobContext job) {
disableAutoAdjustRanges(job.getConfiguration());
}
@@ -314,6 +321,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated since 1.4 use {@link org.apache.accumulo.core.iterators.user.RegExFilter} and {@link #addIterator(Configuration, IteratorSetting)}
*/
+ @Deprecated
public static enum RegexType {
ROW, COLUMN_FAMILY, COLUMN_QUALIFIER, VALUE
}
@@ -325,6 +333,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
* @param type
* @param regex
*/
+ @Deprecated
public static void setRegex(JobContext job, RegexType type, String regex) {
ArgumentChecker.notNull(type, regex);
String key = null;
@@ -355,6 +364,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #setMaxVersions(Configuration,int)} instead
*/
+ @Deprecated
public static void setMaxVersions(JobContext job, int maxVersions) throws IOException {
setMaxVersions(job.getConfiguration(), maxVersions);
}
@@ -410,6 +420,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #fetchColumns(Configuration,Collection)} instead
*/
+ @Deprecated
public static void fetchColumns(JobContext job, Collection<Pair<Text,Text>> columnFamilyColumnQualifierPairs) {
fetchColumns(job.getConfiguration(), columnFamilyColumnQualifierPairs);
}
@@ -447,6 +458,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #setLogLevel(Configuration,Level)} instead
*/
+ @Deprecated
public static void setLogLevel(JobContext job, Level level) {
setLogLevel(job.getConfiguration(), level);
}
@@ -468,6 +480,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #addIterator(Configuration,IteratorSetting)} instead
*/
+ @Deprecated
public static void addIterator(JobContext job, IteratorSetting cfg) {
addIterator(job.getConfiguration(), cfg);
}
@@ -527,6 +540,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
*
* @deprecated since 1.4, see {@link #addIterator(Configuration, IteratorSetting)}
*/
+ @Deprecated
public static void setIterator(JobContext job, int priority, String iteratorClass, String iteratorName) {
// First check to see if anything has been set already
String iterators = job.getConfiguration().get(ITERATORS);
@@ -557,6 +571,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
*
* @deprecated since 1.4, see {@link #addIterator(Configuration, IteratorSetting)}
*/
+ @Deprecated
public static void setIteratorOption(JobContext job, String iteratorName, String key, String value) {
if (iteratorName == null || key == null || value == null)
return;
@@ -578,6 +593,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #isIsolated(Configuration)} instead
*/
+ @Deprecated
protected static boolean isIsolated(JobContext job) {
return isIsolated(job.getConfiguration());
}
@@ -597,6 +613,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #usesLocalIterators(Configuration)} instead
*/
+ @Deprecated
protected static boolean usesLocalIterators(JobContext job) {
return usesLocalIterators(job.getConfiguration());
}
@@ -616,6 +633,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #getUsername(Configuration)} instead
*/
+ @Deprecated
protected static String getUsername(JobContext job) {
return getUsername(job.getConfiguration());
}
@@ -638,6 +656,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
*
* @deprecated Use {@link #getPassword(Configuration)} instead
*/
+ @Deprecated
protected static byte[] getPassword(JobContext job) {
return getPassword(job.getConfiguration());
}
@@ -658,6 +677,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #getTablename(Configuration)} instead
*/
+ @Deprecated
protected static String getTablename(JobContext job) {
return getTablename(job.getConfiguration());
}
@@ -677,6 +697,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #getAuthorizations(Configuration)} instead
*/
+ @Deprecated
protected static Authorizations getAuthorizations(JobContext job) {
return getAuthorizations(job.getConfiguration());
}
@@ -697,6 +718,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #getInstance(Configuration)} instead
*/
+ @Deprecated
protected static Instance getInstance(JobContext job) {
return getInstance(job.getConfiguration());
}
@@ -719,6 +741,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #getTabletLocator(Configuration)} instead
*/
+ @Deprecated
protected static TabletLocator getTabletLocator(JobContext job) throws TableNotFoundException {
return getTabletLocator(job.getConfiguration());
}
@@ -746,6 +769,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #getRanges(Configuration)} instead
*/
+ @Deprecated
protected static List<Range> getRanges(JobContext job) throws IOException {
return getRanges(job.getConfiguration());
}
@@ -775,6 +799,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
* @deprecated since 1.4 use {@link org.apache.accumulo.core.iterators.user.RegExFilter} and {@link #addIterator(Configuration, IteratorSetting)}
* @see #setRegex(JobContext, RegexType, String)
*/
+ @Deprecated
protected static String getRegex(JobContext job, RegexType type) {
String key = null;
switch (type) {
@@ -807,6 +832,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #getFetchedColumns(Configuration)} instead
*/
+ @Deprecated
protected static Set<Pair<Text,Text>> getFetchedColumns(JobContext job) {
return getFetchedColumns(job.getConfiguration());
}
@@ -844,6 +870,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #getAutoAdjustRanges(Configuration)} instead
*/
+ @Deprecated
protected static boolean getAutoAdjustRanges(JobContext job) {
return getAutoAdjustRanges(job.getConfiguration());
}
@@ -863,6 +890,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #getLogLevel(Configuration)} instead
*/
+ @Deprecated
protected static Level getLogLevel(JobContext job) {
return getLogLevel(job.getConfiguration());
}
@@ -884,6 +912,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #validateOptions(Configuration)} instead
*/
+ @Deprecated
protected static void validateOptions(JobContext job) throws IOException {
validateOptions(job.getConfiguration());
}
@@ -929,6 +958,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #getMaxVersions(Configuration)} instead
*/
+ @Deprecated
protected static int getMaxVersions(JobContext job) {
return getMaxVersions(job.getConfiguration());
}
@@ -954,6 +984,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #getIterators(Configuration)} instead
*/
+ @Deprecated
protected static List<AccumuloIterator> getIterators(JobContext job) {
return getIterators(job.getConfiguration());
}
@@ -987,6 +1018,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated Use {@link #getIteratorOptions(Configuration)} instead
*/
+ @Deprecated
protected static List<AccumuloIteratorOption> getIteratorOptions(JobContext job) {
return getIteratorOptions(job.getConfiguration());
}
@@ -1025,6 +1057,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated since 1.4, configure {@link org.apache.accumulo.core.iterators.user.RegExFilter} instead.
*/
+ @Deprecated
private void checkAndEnableRegex(String regex, Scanner scanner, String methodName) throws IllegalArgumentException, SecurityException,
IllegalAccessException, InvocationTargetException, NoSuchMethodException, IOException {
if (regex != null) {
@@ -1040,6 +1073,7 @@ public abstract class InputFormatBase<K,V> extends InputFormat<K,V> {
/**
* @deprecated since 1.4, configure {@link org.apache.accumulo.core.iterators.user.RegExFilter} instead.
*/
+ @Deprecated
protected boolean setupRegex(TaskAttemptContext attempt, Scanner scanner) throws AccumuloException {
try {
checkAndEnableRegex(getRegex(attempt, RegexType.ROW), scanner, "setRowRegex");
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockAccumulo.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockAccumulo.java b/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockAccumulo.java
index c2d7d35..4b03038 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockAccumulo.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockAccumulo.java
@@ -77,6 +77,7 @@ public class MockAccumulo {
/**
* @deprecated since 1.4
*/
+ @Deprecated
public void addAggregators(String tableName, List<? extends PerColumnIteratorConfig> aggregators) {
tables.get(tableName).addAggregators(aggregators);
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java b/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java
index 999c9b2..75a96c5 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTable.java
@@ -119,6 +119,7 @@ public class MockTable {
/**
* @deprecated Since 1.4, use {@link TableOperations#attachIterator(String tableName, IteratorSetting setting)}
*/
+ @Deprecated
public void addAggregators(List<? extends org.apache.accumulo.core.iterators.conf.PerColumnIteratorConfig> aggregators) {
for (Entry<String,String> entry : IteratorUtil.generateAggTableProperties(aggregators).entrySet()) {
String key = entry.getKey();
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTableOperations.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTableOperations.java b/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTableOperations.java
index a5ef427..8e157a1 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTableOperations.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/client/mock/MockTableOperations.java
@@ -102,6 +102,7 @@ public class MockTableOperations extends TableOperationsHelper {
/**
* @deprecated since 1.4 {@link #attachIterator(String, IteratorSetting)}
*/
+ @Deprecated
@Override
public void addAggregators(String tableName, List<? extends PerColumnIteratorConfig> aggregators) throws AccumuloSecurityException, TableNotFoundException,
AccumuloException {
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/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 07c8864..ae123bc 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
@@ -137,6 +137,7 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
*
* @deprecated not for client use
*/
+ @Deprecated
public static synchronized AccumuloConfiguration getSiteConfiguration() {
return SiteConfiguration.getInstance(getDefaultConfiguration());
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/data/Value.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/data/Value.java b/src/core/src/main/java/org/apache/accumulo/core/data/Value.java
index 683d23f..5cbe748 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/data/Value.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/data/Value.java
@@ -251,6 +251,7 @@ public class Value implements WritableComparable<Object> {
*
* @deprecated since 1.4.1. There is no replacement.
*/
+ @Deprecated
public static byte[] longToBytes(long val) throws IOException {
return getBytes(new LongWritable(val));
}
@@ -260,6 +261,7 @@ public class Value implements WritableComparable<Object> {
*
* @deprecated since 1.4.1. There is no replacement.
*/
+ @Deprecated
public static long bytesToLong(byte[] bytes) throws IOException {
if (bytes == null || bytes.length == 0) {
return -1L;
@@ -272,6 +274,7 @@ public class Value implements WritableComparable<Object> {
*
* @deprecated since 1.4.1. There is no replacement.
*/
+ @Deprecated
public static byte[] stringToBytes(String s) throws UnsupportedEncodingException {
if (s == null) {
throw new IllegalArgumentException("string cannot be null");
@@ -284,6 +287,7 @@ public class Value implements WritableComparable<Object> {
*
* @deprecated since 1.4.1. There is no replacement.
*/
+ @Deprecated
public static String bytesToString(byte[] bytes) throws UnsupportedEncodingException {
if (bytes == null || bytes.length == 0) {
return "";
@@ -297,6 +301,7 @@ public class Value implements WritableComparable<Object> {
*
* @deprecated since 1.4.1. There is no replacement.
*/
+ @Deprecated
public static byte[] getBytes(final Writable w) throws IOException {
if (w == null) {
throw new IllegalArgumentException("Writable cannot be null");
@@ -325,6 +330,7 @@ public class Value implements WritableComparable<Object> {
*
* @deprecated since 1.4.1. There is no replacement.
*/
+ @Deprecated
public static Writable getWritable(final byte[] bytes, final Writable w) throws IOException {
if (bytes == null || bytes.length == 0) {
throw new IllegalArgumentException("Can't build a writable with empty " + "bytes array");
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java b/src/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java
index 1df0491..f580a12 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/file/BloomFilterLayer.java
@@ -67,12 +67,13 @@ public class BloomFilterLayer {
private static final Logger LOG = Logger.getLogger(BloomFilterLayer.class);
public static final String BLOOM_FILE_NAME = "acu_bloom";
public static final int HASH_COUNT = 5;
-
+
private static class BloomLoaderThreadFactory implements ThreadFactory {
-
+
private ThreadFactory dtf = Executors.defaultThreadFactory();
private int threadNum = 1;
-
+
+ @Override
public Thread newThread(Runnable r) {
Thread thread = dtf.newThread(r);
thread.setName("bloom-loader-" + threadNum++);
@@ -80,37 +81,37 @@ public class BloomFilterLayer {
return thread;
}
}
-
+
private static ExecutorService loadThreadPool = null;
-
+
private static synchronized ExecutorService getLoadThreadPool(int maxLoadThreads) {
if (loadThreadPool != null) {
return loadThreadPool;
}
-
+
if (maxLoadThreads > 0) {
loadThreadPool = new ThreadPoolExecutor(0, maxLoadThreads, 60, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(), new BloomLoaderThreadFactory());
}
-
+
return loadThreadPool;
}
-
+
public static class Writer implements FileSKVWriter {
private DynamicBloomFilter bloomFilter;
private int numKeys;
private int vectorSize;
-
+
private FileSKVWriter writer;
private KeyFunctor transformer = null;
private boolean closed = false;
-
+
Writer(FileSKVWriter writer, AccumuloConfiguration acuconf) {
this.writer = writer;
initBloomFilter(acuconf);
}
-
+
private synchronized void initBloomFilter(AccumuloConfiguration acuconf) {
-
+
numKeys = acuconf.getCount(Property.TABLE_BLOOM_SIZE);
// vector size should be <code>-kn / (ln(1 - c^(1/k)))</code> bits for
// single key, where <code> is the number of hash functions,
@@ -120,22 +121,22 @@ public class BloomFilterLayer {
double errorRate = acuconf.getFraction(Property.TABLE_BLOOM_ERRORRATE);
vectorSize = (int) Math.ceil(-HASH_COUNT * numKeys / Math.log(1.0 - Math.pow(errorRate, 1.0 / HASH_COUNT)));
bloomFilter = new DynamicBloomFilter(vectorSize, HASH_COUNT, Hash.parseHashType(acuconf.get(Property.TABLE_BLOOM_HASHTYPE)), numKeys);
-
+
/**
* load KeyFunctor
*/
try {
Class<? extends KeyFunctor> clazz = AccumuloClassLoader.loadClass(acuconf.get(Property.TABLE_BLOOM_KEY_FUNCTOR), KeyFunctor.class);
transformer = clazz.newInstance();
-
+
} catch (Exception e) {
LOG.error("Failed to find KeyFunctor: " + acuconf.get(Property.TABLE_BLOOM_KEY_FUNCTOR), e);
throw new IllegalArgumentException("Failed to find KeyFunctor: " + acuconf.get(Property.TABLE_BLOOM_KEY_FUNCTOR));
-
+
}
-
+
}
-
+
@Override
public synchronized void append(org.apache.accumulo.core.data.Key key, Value val) throws IOException {
writer.append(key, val);
@@ -143,13 +144,13 @@ public class BloomFilterLayer {
if (bloomKey.getBytes().length > 0)
bloomFilter.add(bloomKey);
}
-
+
@Override
public synchronized void close() throws IOException {
-
+
if (closed)
return;
-
+
DataOutputStream out = writer.createMetaStore(BLOOM_FILE_NAME);
out.writeUTF(transformer.getClass().getCanonicalName());
bloomFilter.write(out);
@@ -158,31 +159,31 @@ public class BloomFilterLayer {
writer.close();
closed = true;
}
-
+
@Override
public DataOutputStream createMetaStore(String name) throws IOException {
return writer.createMetaStore(name);
}
-
+
@Override
public void startDefaultLocalityGroup() throws IOException {
writer.startDefaultLocalityGroup();
-
+
}
-
+
@Override
public void startNewLocalityGroup(String name, Set<ByteSequence> columnFamilies) throws IOException {
writer.startNewLocalityGroup(name, columnFamilies);
}
-
+
@Override
public boolean supportsLocalityGroups() {
return writer.supportsLocalityGroups();
}
}
-
+
static class BloomFilterLoader {
-
+
private volatile DynamicBloomFilter bloomFilter;
private int loadRequest = 0;
private int loadThreshold = 1;
@@ -190,42 +191,43 @@ public class BloomFilterLayer {
private Runnable loadTask;
private volatile KeyFunctor transformer = null;
private volatile boolean closed = false;
-
+
BloomFilterLoader(final FileSKVIterator reader, AccumuloConfiguration acuconf) {
-
+
maxLoadThreads = acuconf.getCount(Property.TSERV_BLOOM_LOAD_MAXCONCURRENT);
-
+
loadThreshold = acuconf.getCount(Property.TABLE_BLOOM_LOAD_THRESHOLD);
-
+
loadTask = new Runnable() {
+ @Override
public void run() {
-
+
// no need to load the bloom filter if the map file is closed
if (closed)
return;
String ClassName = null;
DataInputStream in = null;
-
+
try {
in = reader.getMetaStore(BLOOM_FILE_NAME);
DynamicBloomFilter tmpBloomFilter = new DynamicBloomFilter();
-
+
// check for closed again after open but before reading the bloom filter in
if (closed)
return;
-
+
/**
* Load classname for keyFunctor
*/
ClassName = in.readUTF();
-
+
Class<? extends KeyFunctor> clazz = AccumuloClassLoader.loadClass(ClassName, KeyFunctor.class);
transformer = clazz.newInstance();
-
+
/**
* read in bloom filter
*/
-
+
tmpBloomFilter.readFields(in);
// only set the bloom filter after it is fully constructed
bloomFilter = tmpBloomFilter;
@@ -236,7 +238,7 @@ public class BloomFilterLayer {
LOG.warn("Can't open BloomFilter", ioe);
else
LOG.debug("Can't open BloomFilter, file closed : " + ioe.getMessage());
-
+
bloomFilter = null;
} catch (ClassNotFoundException e) {
LOG.error("Failed to find KeyFunctor in config: " + ClassName, e);
@@ -252,7 +254,7 @@ public class BloomFilterLayer {
throw npe;
else
LOG.debug("Can't open BloomFilter, NPE after closed ", npe);
-
+
} finally {
if (in != null) {
try {
@@ -264,11 +266,11 @@ public class BloomFilterLayer {
}
}
};
-
+
initiateLoad(maxLoadThreads);
-
+
}
-
+
private synchronized void initiateLoad(int maxLoadThreads) {
// ensure only one thread initiates loading of bloom filter by
// only taking action when loadTask != null
@@ -287,16 +289,14 @@ public class BloomFilterLayer {
loadTask = null;
}
}
-
+
loadRequest++;
}
-
+
/**
* Checks if this MyMapFile has the indicated key. The membership test is performed using a Bloom filter, so the result has always non-zero probability of
* false positives.
*
- * @param key
- * key to check
* @return false iff key doesn't exist, true if key probably exists.
* @throws IOException
*/
@@ -306,45 +306,45 @@ public class BloomFilterLayer {
if (bloomFilter == null)
return true;
}
-
+
Key bloomKey = transformer.transform(range);
-
+
if (bloomKey == null || bloomKey.getBytes().length == 0)
return true;
-
+
return bloomFilter.membershipTest(bloomKey);
}
-
+
public void close() {
this.closed = true;
}
}
-
+
public static class Reader implements FileSKVIterator {
-
+
private BloomFilterLoader bfl;
private FileSKVIterator reader;
-
+
public Reader(FileSKVIterator reader, AccumuloConfiguration acuconf) {
this.reader = reader;
bfl = new BloomFilterLoader(reader, acuconf);
}
-
+
private Reader(FileSKVIterator src, BloomFilterLoader bfl) {
this.reader = src;
this.bfl = bfl;
}
-
+
private boolean checkSuper = true;
-
+
@Override
public boolean hasTop() {
return checkSuper ? reader.hasTop() : false;
}
-
+
@Override
public void seek(Range range, Collection<ByteSequence> columnFamilies, boolean inclusive) throws IOException {
-
+
if (!bfl.probablyHasKey(range)) {
checkSuper = false;
} else {
@@ -352,117 +352,118 @@ public class BloomFilterLayer {
checkSuper = true;
}
}
-
+
+ @Override
public synchronized void close() throws IOException {
bfl.close();
reader.close();
}
-
+
@Override
public org.apache.accumulo.core.data.Key getFirstKey() throws IOException {
return reader.getFirstKey();
}
-
+
@Override
public org.apache.accumulo.core.data.Key getLastKey() throws IOException {
return reader.getLastKey();
}
-
+
@Override
public SortedKeyValueIterator<org.apache.accumulo.core.data.Key,Value> deepCopy(IteratorEnvironment env) {
return new BloomFilterLayer.Reader((FileSKVIterator) reader.deepCopy(env), bfl);
}
-
+
@Override
public org.apache.accumulo.core.data.Key getTopKey() {
return reader.getTopKey();
}
-
+
@Override
public Value getTopValue() {
return reader.getTopValue();
}
-
+
@Override
public void init(SortedKeyValueIterator<org.apache.accumulo.core.data.Key,Value> source, Map<String,String> options, IteratorEnvironment env)
throws IOException {
throw new UnsupportedOperationException();
-
+
}
-
+
@Override
public void next() throws IOException {
reader.next();
}
-
+
@Override
public DataInputStream getMetaStore(String name) throws IOException {
return reader.getMetaStore(name);
}
-
+
@Override
public void closeDeepCopies() throws IOException {
reader.closeDeepCopies();
}
-
+
@Override
public void setInterruptFlag(AtomicBoolean flag) {
reader.setInterruptFlag(flag);
}
-
+
}
-
+
public static void main(String[] args) throws IOException {
PrintStream out = System.out;
-
+
Random r = new Random();
-
+
HashSet<Integer> valsSet = new HashSet<Integer>();
-
+
for (int i = 0; i < 100000; i++) {
valsSet.add(r.nextInt(Integer.MAX_VALUE));
}
-
+
ArrayList<Integer> vals = new ArrayList<Integer>(valsSet);
Collections.sort(vals);
-
+
ConfigurationCopy acuconf = new ConfigurationCopy(AccumuloConfiguration.getDefaultConfiguration());
acuconf.set(Property.TABLE_BLOOM_ENABLED, "true");
acuconf.set(Property.TABLE_BLOOM_KEY_FUNCTOR, "accumulo.core.file.keyfunctor.ColumnFamilyFunctor");
acuconf.set(Property.TABLE_FILE_TYPE, RFile.EXTENSION);
acuconf.set(Property.TABLE_BLOOM_LOAD_THRESHOLD, "1");
acuconf.set(Property.TSERV_BLOOM_LOAD_MAXCONCURRENT, "1");
-
+
Configuration conf = CachedConfiguration.getInstance();
FileSystem fs = FileSystem.get(conf);
-
+
String suffix = FileOperations.getNewFileExtension(acuconf);
String fname = "/tmp/test." + suffix;
FileSKVWriter bmfw = FileOperations.getInstance().openWriter(fname, fs, conf, acuconf);
-
+
long t1 = System.currentTimeMillis();
-
+
bmfw.startDefaultLocalityGroup();
-
+
for (Integer i : vals) {
String fi = String.format("%010d", i);
bmfw.append(new org.apache.accumulo.core.data.Key(new Text("r" + fi), new Text("cf1")), new Value(("v" + fi).getBytes()));
bmfw.append(new org.apache.accumulo.core.data.Key(new Text("r" + fi), new Text("cf2")), new Value(("v" + fi).getBytes()));
}
-
+
long t2 = System.currentTimeMillis();
-
+
out.printf("write rate %6.2f\n", vals.size() / ((t2 - t1) / 1000.0));
-
+
bmfw.close();
-
+
t1 = System.currentTimeMillis();
FileSKVIterator bmfr = FileOperations.getInstance().openReader(fname, false, fs, conf, acuconf);
t2 = System.currentTimeMillis();
out.println("Opened " + fname + " in " + (t2 - t1));
-
+
t1 = System.currentTimeMillis();
-
+
int hits = 0;
for (int i = 0; i < 5000; i++) {
int row = r.nextInt(Integer.MAX_VALUE);
@@ -477,36 +478,36 @@ public class BloomFilterLayer {
}
}
}
-
+
t2 = System.currentTimeMillis();
-
+
out.printf("random lookup rate : %6.2f\n", 5000 / ((t2 - t1) / 1000.0));
out.println("hits = " + hits);
-
+
int count = 0;
-
+
t1 = System.currentTimeMillis();
-
+
for (Integer row : valsSet) {
String fi = String.format("%010d", row);
// bmfr.seek(new Range(new Text("r"+fi)));
-
+
org.apache.accumulo.core.data.Key k1 = new org.apache.accumulo.core.data.Key(new Text("r" + fi), new Text("cf1"));
bmfr.seek(new Range(k1, true, k1.followingKey(PartialKey.ROW_COLFAM), false), new ArrayList<ByteSequence>(), false);
-
+
if (!bmfr.hasTop()) {
out.println("ERROR 2 " + row);
}
-
+
count++;
-
+
if (count >= 500) {
break;
}
}
-
+
t2 = System.currentTimeMillis();
-
+
out.printf("existant lookup rate %6.2f\n", 500 / ((t2 - t1) / 1000.0));
out.println("expected hits 500. Receive hits: " + count);
bmfr.close();
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/file/map/MapFileOperations.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/file/map/MapFileOperations.java b/src/core/src/main/java/org/apache/accumulo/core/file/map/MapFileOperations.java
index 4b6bc68..3890b1b 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/file/map/MapFileOperations.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/file/map/MapFileOperations.java
@@ -148,6 +148,7 @@ public class MapFileOperations extends FileOperations {
* @deprecated since 1.4, MapFiles will no longer be written. Instead use {@link org.apache.accumulo.core.file.rfile.RFileOperations#openWriter}.
* @see org.apache.hadoop.io.MapFile.Writer
*/
+ @Deprecated
public FileSKVWriter openWriter(final String file, final FileSystem fs, Configuration conf, AccumuloConfiguration acuconf) throws IOException {
final MyMapFile.Writer mfw = MapFileUtil.openMapFileWriter(acuconf, conf, fs, file);
return new FileSKVWriter() {
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/file/map/MapFileUtil.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/file/map/MapFileUtil.java b/src/core/src/main/java/org/apache/accumulo/core/file/map/MapFileUtil.java
index abedb1a..f290222 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/file/map/MapFileUtil.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/file/map/MapFileUtil.java
@@ -37,6 +37,7 @@ public class MapFileUtil {
* @param dirName
* @return true if the attempt was successful, false otherwise
*/
+ @Deprecated
public static boolean attemptToFixMapFile(Configuration conf, FileSystem fs, String dirName) {
boolean fixed = true;
try {
@@ -99,6 +100,7 @@ public class MapFileUtil {
* @return a MapFile writer
* @throws IOException
*/
+ @Deprecated
public static MyMapFile.Writer openMapFileWriter(AccumuloConfiguration acuTableConf, Configuration conf, FileSystem fs, String dirname) throws IOException {
MyMapFile.Writer mfw = null;
int hbs = conf.getInt("io.seqfile.compress.blocksize", -1);
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/file/map/MyMapFile.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/file/map/MyMapFile.java b/src/core/src/main/java/org/apache/accumulo/core/file/map/MyMapFile.java
index 780e99b..055e6fa 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/file/map/MyMapFile.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/file/map/MyMapFile.java
@@ -75,12 +75,14 @@ import org.apache.log4j.Logger;
*
* @deprecated since 1.4, replaced by {@link org.apache.accumulo.core.file.rfile.RFile}
*/
+@Deprecated
@SuppressWarnings({"rawtypes", "unchecked"})
public class MyMapFile {
/**
* @deprecated since 1.4, replaced by {@link org.apache.accumulo.core.Constants#MAPFILE_EXTENSION}
*/
+ @Deprecated
public static final String EXTENSION = "map";
private static final Logger log = Logger.getLogger(MyMapFile.class);
http://git-wip-us.apache.org/repos/asf/accumulo/blob/a3a88955/src/core/src/main/java/org/apache/accumulo/core/file/map/MySequenceFile.java
----------------------------------------------------------------------
diff --git a/src/core/src/main/java/org/apache/accumulo/core/file/map/MySequenceFile.java b/src/core/src/main/java/org/apache/accumulo/core/file/map/MySequenceFile.java
index 3b3596c..44a4095 100644
--- a/src/core/src/main/java/org/apache/accumulo/core/file/map/MySequenceFile.java
+++ b/src/core/src/main/java/org/apache/accumulo/core/file/map/MySequenceFile.java
@@ -194,6 +194,7 @@ import org.apache.hadoop.util.ReflectionUtils;
* @see CompressionCodec
* @deprecated since 1.4, replaced by {@link org.apache.accumulo.core.file.rfile.RFile}
*/
+@Deprecated
@SuppressWarnings({"rawtypes", "unchecked"})
public class MySequenceFile {
private static final Log LOG = LogFactory.getLog(MySequenceFile.class);