[16/16] git commit: Merge branch '1.6.1-SNAPSHOT'
Merge branch '1.6.1-SNAPSHOT' Conflicts: server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java shell/src/main/java/org/apache/accumulo/shell/commands/SetIterCommand.java test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/541a77ff Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/541a77ff Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/541a77ff Branch: refs/heads/master Commit: 541a77ff7d42906da3aa84dfd4767f6b5953f28f Parents: 117d5c5 d3e17f4 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 18:32:53 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:32:53 2014 -0400 -- .../apache/accumulo/core/client/BatchScanner.java | 1 - .../accumulo/core/client/ConditionalWriter.java| 3 --- .../core/client/ConditionalWriterConfig.java | 1 - .../org/apache/accumulo/core/client/Instance.java | 4 ++-- .../core/client/admin/TableOperations.java | 6 -- .../accumulo/core/client/impl/OfflineScanner.java | 13 - .../accumulo/core/file/BloomFilterLayer.java | 1 - .../accumulo/core/file/rfile/bcfile/BCFile.java| 3 --- .../iterators/system/LocalityGroupIterator.java| 4 .../core/security/VisibilityEvaluator.java | 2 +- .../core/security/crypto/CryptoModule.java | 2 -- .../core/client/mock/MockConnectorTest.java| 2 -- .../examples/simple/client/RandomBatchScanner.java | 1 - .../examples/simple/client/RowOperations.java | 11 --- .../examples/simple/mapreduce/TeraSortIngest.java | 2 -- .../main/java/org/apache/accumulo/fate/TStore.java | 2 -- .../apache/accumulo/fate/zookeeper/ZooLock.java| 2 -- .../apache/accumulo/server/init/Initialize.java| 1 - .../server/tabletserver/MemoryManager.java | 2 -- .../org/apache/accumulo/server/util/ZooZap.java| 3 --- .../accumulo/gc/GarbageCollectionEnvironment.java | 17 - .../apache/accumulo/gc/SimpleGarbageCollector.java | 1 - .../gc/GarbageCollectWriteAheadLogsTest.java | 6 -- .../org/apache/accumulo/master/TestMergeState.java | 6 -- .../java/org/apache/accumulo/monitor/Monitor.java | 3 --- .../accumulo/monitor/servlets/ScanServlet.java | 4 ++-- .../accumulo/tserver/log/TabletServerLogger.java | 1 - .../start/classloader/AccumuloClassLoader.java | 5 - .../apache/accumulo/test/randomwalk/Module.java| 1 - .../accumulo/test/randomwalk/bulk/Verify.java | 4 .../apache/accumulo/test/ConditionalWriterIT.java | 6 +- .../test/functional/AccumuloInputFormatIT.java | 3 ++- .../test/functional/SparseColumnFamilyIT.java | 6 -- 33 files changed, 12 insertions(+), 117 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/541a77ff/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriterConfig.java -- diff --cc core/src/main/java/org/apache/accumulo/core/client/ConditionalWriterConfig.java index 1280abd,a220e62..52c6a76 --- a/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriterConfig.java +++ b/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriterConfig.java @@@ -104,20 -101,7 +104,19 @@@ public class ConditionalWriterConfig this.maxWriteThreads = maxWriteThreads; return this; } - + + /** + * Sets the Durability for the mutation, if applied. + * p + * bDefault:/b Durability.DEFAULT: use the table's durability configuration. -* @param durability + * @return {@code this} to allow chaining of set methods + * @since 1.7.0 + */ + public ConditionalWriterConfig setDurability(Durability durability) { +this.durability = durability; +return this; + } + public Authorizations getAuthorizations() { return auths; } http://git-wip-us.apache.org/repos/asf/accumulo/blob/541a77ff/core/src/main/java/org/apache/accumulo/core/client/Instance.java -- diff --cc core/src/main/java/org/apache/accumulo/core/client/Instance.java index bcdd0e5,a55312e..8a70d4c --- a/core/src/main/java/org/apache/accumulo/core/client/Instance.java +++ b/core/src/main/java/org/apache/accumulo/core/client/Instance.java @@@ -124,10 -124,10 +124,10 @@@ public interface Instance /** * Returns the AccumuloConfiguration to use when interacting with this instance. - * + * * @return the AccumuloConfiguration that specifies properties related to interacting with this instance * @deprecated since 1.6.0. This
[14/16] git commit: ACCUMULO-3119 Cleanup javadocs in 1.6.x branch
ACCUMULO-3119 Cleanup javadocs in 1.6.x branch Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/d3e17f45 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/d3e17f45 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/d3e17f45 Branch: refs/heads/master Commit: d3e17f4582634e0f4985c1f3a92afcd67e999427 Parents: 22de8d5 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 18:16:09 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:16:09 2014 -0400 -- .../org/apache/accumulo/core/client/BatchScanner.java | 1 - .../accumulo/core/client/ConditionalWriter.java | 3 --- .../org/apache/accumulo/core/client/Instance.java | 4 ++-- .../accumulo/core/client/admin/TableOperations.java | 6 -- .../accumulo/core/client/impl/OfflineScanner.java | 13 - .../apache/accumulo/core/file/BloomFilterLayer.java | 1 - .../accumulo/core/file/rfile/bcfile/BCFile.java | 3 --- .../core/iterators/system/LocalityGroupIterator.java | 4 .../accumulo/core/security/VisibilityEvaluator.java | 2 +- .../accumulo/core/security/crypto/CryptoModule.java | 2 -- .../accumulo/core/client/mock/MockConnectorTest.java | 2 -- .../examples/simple/client/RandomBatchScanner.java| 1 - .../examples/simple/client/RowOperations.java | 11 --- .../examples/simple/mapreduce/TeraSortIngest.java | 2 -- .../main/java/org/apache/accumulo/fate/TStore.java| 2 -- .../org/apache/accumulo/fate/zookeeper/ZooLock.java | 2 -- .../accumulo/server/tabletserver/MemoryManager.java | 2 -- .../java/org/apache/accumulo/server/util/ZooZap.java | 3 --- .../accumulo/gc/GarbageCollectionEnvironment.java | 14 -- .../apache/accumulo/gc/SimpleGarbageCollector.java| 1 - .../org/apache/accumulo/master/TestMergeState.java| 6 -- .../java/org/apache/accumulo/monitor/Monitor.java | 3 --- .../org/apache/accumulo/tserver/TabletServer.java | 3 --- .../accumulo/tserver/log/TabletServerLogger.java | 1 - .../start/classloader/AccumuloClassLoader.java| 5 - .../org/apache/accumulo/test/randomwalk/Module.java | 1 - .../apache/accumulo/test/randomwalk/bulk/Verify.java | 4 .../test/functional/SparseColumnFamilyIT.java | 6 -- 28 files changed, 3 insertions(+), 105 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/d3e17f45/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java index e332d3c..aa57297 100644 --- a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java +++ b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java @@ -54,7 +54,6 @@ public interface BatchScanner extends ScannerBase { * p * If not set, there is not timeout. The BatchScanner will retry forever. * - * @param timeout * @param timeUnit * determines how timeout is interpreted * @since 1.5.0 http://git-wip-us.apache.org/repos/asf/accumulo/blob/d3e17f45/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java b/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java index 95f73bb..f9848c4 100644 --- a/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java +++ b/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java @@ -116,7 +116,6 @@ public interface ConditionalWriter { * This method returns one result for each mutation passed to it. This method is thread safe. Multiple threads can safely use a single conditional writer. * Sharing a conditional writer between multiple threads may result in batching of request to tablet servers. * - * @param mutations * @return Result for each mutation submitted. The mutations may still be processing in the background when this method returns, if so the iterator will * block. */ @@ -125,8 +124,6 @@ public interface ConditionalWriter { /** * This method has the same thread safety guarantees as @link {@link #write(Iterator)} * - * - * @param mutation * @return Result for the submitted mutation */ http://git-wip-us.apache.org/repos/asf/accumulo/blob/d3e17f45/core/src/main/java/org/apache/accumulo/core/client/Instance.java -- diff --git
[03/16] git commit: ACCUMULO-3119 Cleanup javadocs in 1.5.x branch
ACCUMULO-3119 Cleanup javadocs in 1.5.x branch Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/9b56159c Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/9b56159c Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/9b56159c Branch: refs/heads/master Commit: 9b56159c10f52a549aa20da12ead855a9155ade8 Parents: 7699e1f Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 18:02:24 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:02:24 2014 -0400 -- .../accumulo/core/client/BatchScanner.java | 1 - .../core/client/impl/OfflineScanner.java | 13 - .../client/impl/TabletServerBatchWriter.java | 3 --- .../accumulo/core/file/BloomFilterLayer.java | 1 - .../accumulo/core/file/rfile/bcfile/BCFile.java | 3 --- .../accumulo/core/file/rfile/bcfile/Chunk.java | 3 --- .../accumulo/core/file/rfile/bcfile/TFile.java | 13 - .../core/client/mock/MockConnectorTest.java | 2 -- .../simple/client/RandomBatchScanner.java| 1 - .../examples/simple/client/RowOperations.java| 19 --- .../simple/mapreduce/TeraSortIngest.java | 2 -- .../java/org/apache/accumulo/fate/TStore.java| 2 -- .../apache/accumulo/fate/zookeeper/ZooLock.java | 2 -- .../server/gc/GarbageCollectWriteAheadLogs.java | 4 .../accumulo/server/metanalysis/FindTablet.java | 6 -- .../accumulo/server/metanalysis/PrintEvents.java | 7 --- .../apache/accumulo/server/monitor/Monitor.java | 3 --- .../server/security/SecurityOperation.java | 5 - .../server/tabletserver/MemoryManager.java | 2 -- .../server/tabletserver/TabletServer.java| 3 --- .../tabletserver/log/TabletServerLogger.java | 1 - .../apache/accumulo/server/util/Initialize.java | 3 --- .../org/apache/accumulo/server/util/ZooZap.java | 3 --- .../accumulo/server/master/TestMergeState.java | 6 -- .../start/classloader/AccumuloClassLoader.java | 5 - .../test/functional/SparseColumnFamilyTest.java | 6 -- .../apache/accumulo/test/randomwalk/Module.java | 1 - .../accumulo/test/randomwalk/bulk/Verify.java| 4 28 files changed, 124 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b56159c/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java index e332d3c..aa57297 100644 --- a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java +++ b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java @@ -54,7 +54,6 @@ public interface BatchScanner extends ScannerBase { * p * If not set, there is not timeout. The BatchScanner will retry forever. * - * @param timeout * @param timeUnit * determines how timeout is interpreted * @since 1.5.0 http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b56159c/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java b/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java index 1132e74..80d2c4a 100644 --- a/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java +++ b/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java @@ -167,12 +167,6 @@ class OfflineIterator implements IteratorEntryKey,Value { } } - /** - * @throws TableNotFoundException - * @throws IOException - * @throws AccumuloException - * - */ private void nextTablet() throws TableNotFoundException, AccumuloException, IOException { Range nextRange = null; @@ -274,13 +268,6 @@ class OfflineIterator implements IteratorEntryKey,Value { return new PairKeyExtent,String(extent, location); } - /** - * @param absFiles - * @return - * @throws AccumuloException - * @throws TableNotFoundException - * @throws IOException - */ private SortedKeyValueIteratorKey,Value createIterator(KeyExtent extent, ListString absFiles) throws TableNotFoundException, AccumuloException, IOException { http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b56159c/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java
[07/16] git commit: ACCUMULO-3093 Remove unused import
ACCUMULO-3093 Remove unused import Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/f64482bf Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/f64482bf Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/f64482bf Branch: refs/heads/master Commit: f64482bf0f1d0bb84bc4a2e8bb62b180efe692b8 Parents: 618e0d4 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 17:29:13 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:10:32 2014 -0400 -- .../apache/accumulo/core/util/shell/commands/ScanCommand.java| 1 - .../apache/accumulo/core/util/shell/commands/SetIterCommand.java | 4 2 files changed, 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/f64482bf/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java index 0270e6c..e60e62f 100644 --- a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java +++ b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java @@ -28,7 +28,6 @@ import org.apache.accumulo.core.client.AccumuloSecurityException; 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.TableNotFoundException; import org.apache.accumulo.core.conf.AccumuloConfiguration; import org.apache.accumulo.core.data.Key; import org.apache.accumulo.core.data.Range; http://git-wip-us.apache.org/repos/asf/accumulo/blob/f64482bf/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java index 4be178a..64afb3f 100644 --- a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java +++ b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java @@ -30,7 +30,6 @@ import org.apache.accumulo.core.client.AccumuloSecurityException; import org.apache.accumulo.core.client.IteratorSetting; import org.apache.accumulo.core.client.NamespaceNotFoundException; import org.apache.accumulo.core.client.TableNotFoundException; -import org.apache.accumulo.core.conf.Property; import org.apache.accumulo.core.data.Key; import org.apache.accumulo.core.data.Value; import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope; @@ -45,14 +44,11 @@ import org.apache.accumulo.core.util.shell.Shell; import org.apache.accumulo.core.util.shell.Shell.Command; import org.apache.accumulo.core.util.shell.ShellCommandException; import org.apache.accumulo.core.util.shell.ShellCommandException.ErrorCode; -import org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader; -import org.apache.accumulo.start.classloader.vfs.ContextManager; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionGroup; import org.apache.commons.cli.Options; import org.apache.commons.lang.StringUtils; -import org.apache.commons.vfs2.FileSystemException; public class SetIterCommand extends Command {
[15/16] git commit: ACCUMULO-3119 Cleanup javadocs in 1.6.x branch
ACCUMULO-3119 Cleanup javadocs in 1.6.x branch Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/d3e17f45 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/d3e17f45 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/d3e17f45 Branch: refs/heads/1.6.1-SNAPSHOT Commit: d3e17f4582634e0f4985c1f3a92afcd67e999427 Parents: 22de8d5 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 18:16:09 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:16:09 2014 -0400 -- .../org/apache/accumulo/core/client/BatchScanner.java | 1 - .../accumulo/core/client/ConditionalWriter.java | 3 --- .../org/apache/accumulo/core/client/Instance.java | 4 ++-- .../accumulo/core/client/admin/TableOperations.java | 6 -- .../accumulo/core/client/impl/OfflineScanner.java | 13 - .../apache/accumulo/core/file/BloomFilterLayer.java | 1 - .../accumulo/core/file/rfile/bcfile/BCFile.java | 3 --- .../core/iterators/system/LocalityGroupIterator.java | 4 .../accumulo/core/security/VisibilityEvaluator.java | 2 +- .../accumulo/core/security/crypto/CryptoModule.java | 2 -- .../accumulo/core/client/mock/MockConnectorTest.java | 2 -- .../examples/simple/client/RandomBatchScanner.java| 1 - .../examples/simple/client/RowOperations.java | 11 --- .../examples/simple/mapreduce/TeraSortIngest.java | 2 -- .../main/java/org/apache/accumulo/fate/TStore.java| 2 -- .../org/apache/accumulo/fate/zookeeper/ZooLock.java | 2 -- .../accumulo/server/tabletserver/MemoryManager.java | 2 -- .../java/org/apache/accumulo/server/util/ZooZap.java | 3 --- .../accumulo/gc/GarbageCollectionEnvironment.java | 14 -- .../apache/accumulo/gc/SimpleGarbageCollector.java| 1 - .../org/apache/accumulo/master/TestMergeState.java| 6 -- .../java/org/apache/accumulo/monitor/Monitor.java | 3 --- .../org/apache/accumulo/tserver/TabletServer.java | 3 --- .../accumulo/tserver/log/TabletServerLogger.java | 1 - .../start/classloader/AccumuloClassLoader.java| 5 - .../org/apache/accumulo/test/randomwalk/Module.java | 1 - .../apache/accumulo/test/randomwalk/bulk/Verify.java | 4 .../test/functional/SparseColumnFamilyIT.java | 6 -- 28 files changed, 3 insertions(+), 105 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/d3e17f45/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java index e332d3c..aa57297 100644 --- a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java +++ b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java @@ -54,7 +54,6 @@ public interface BatchScanner extends ScannerBase { * p * If not set, there is not timeout. The BatchScanner will retry forever. * - * @param timeout * @param timeUnit * determines how timeout is interpreted * @since 1.5.0 http://git-wip-us.apache.org/repos/asf/accumulo/blob/d3e17f45/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java b/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java index 95f73bb..f9848c4 100644 --- a/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java +++ b/core/src/main/java/org/apache/accumulo/core/client/ConditionalWriter.java @@ -116,7 +116,6 @@ public interface ConditionalWriter { * This method returns one result for each mutation passed to it. This method is thread safe. Multiple threads can safely use a single conditional writer. * Sharing a conditional writer between multiple threads may result in batching of request to tablet servers. * - * @param mutations * @return Result for each mutation submitted. The mutations may still be processing in the background when this method returns, if so the iterator will * block. */ @@ -125,8 +124,6 @@ public interface ConditionalWriter { /** * This method has the same thread safety guarantees as @link {@link #write(Iterator)} * - * - * @param mutation * @return Result for the submitted mutation */ http://git-wip-us.apache.org/repos/asf/accumulo/blob/d3e17f45/core/src/main/java/org/apache/accumulo/core/client/Instance.java -- diff --git
[04/16] git commit: Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT
Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/d8a4def0 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/d8a4def0 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/d8a4def0 Branch: refs/heads/1.6.1-SNAPSHOT Commit: d8a4def0d45c73602a4bd3437c49c1a99c29817c Parents: 2519b83 9b56159 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 18:10:11 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:10:11 2014 -0400 -- --
[02/16] git commit: ACCUMULO-3119 Cleanup javadocs in 1.5.x branch
ACCUMULO-3119 Cleanup javadocs in 1.5.x branch Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/9b56159c Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/9b56159c Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/9b56159c Branch: refs/heads/1.6.1-SNAPSHOT Commit: 9b56159c10f52a549aa20da12ead855a9155ade8 Parents: 7699e1f Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 18:02:24 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:02:24 2014 -0400 -- .../accumulo/core/client/BatchScanner.java | 1 - .../core/client/impl/OfflineScanner.java | 13 - .../client/impl/TabletServerBatchWriter.java | 3 --- .../accumulo/core/file/BloomFilterLayer.java | 1 - .../accumulo/core/file/rfile/bcfile/BCFile.java | 3 --- .../accumulo/core/file/rfile/bcfile/Chunk.java | 3 --- .../accumulo/core/file/rfile/bcfile/TFile.java | 13 - .../core/client/mock/MockConnectorTest.java | 2 -- .../simple/client/RandomBatchScanner.java| 1 - .../examples/simple/client/RowOperations.java| 19 --- .../simple/mapreduce/TeraSortIngest.java | 2 -- .../java/org/apache/accumulo/fate/TStore.java| 2 -- .../apache/accumulo/fate/zookeeper/ZooLock.java | 2 -- .../server/gc/GarbageCollectWriteAheadLogs.java | 4 .../accumulo/server/metanalysis/FindTablet.java | 6 -- .../accumulo/server/metanalysis/PrintEvents.java | 7 --- .../apache/accumulo/server/monitor/Monitor.java | 3 --- .../server/security/SecurityOperation.java | 5 - .../server/tabletserver/MemoryManager.java | 2 -- .../server/tabletserver/TabletServer.java| 3 --- .../tabletserver/log/TabletServerLogger.java | 1 - .../apache/accumulo/server/util/Initialize.java | 3 --- .../org/apache/accumulo/server/util/ZooZap.java | 3 --- .../accumulo/server/master/TestMergeState.java | 6 -- .../start/classloader/AccumuloClassLoader.java | 5 - .../test/functional/SparseColumnFamilyTest.java | 6 -- .../apache/accumulo/test/randomwalk/Module.java | 1 - .../accumulo/test/randomwalk/bulk/Verify.java| 4 28 files changed, 124 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b56159c/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java index e332d3c..aa57297 100644 --- a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java +++ b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java @@ -54,7 +54,6 @@ public interface BatchScanner extends ScannerBase { * p * If not set, there is not timeout. The BatchScanner will retry forever. * - * @param timeout * @param timeUnit * determines how timeout is interpreted * @since 1.5.0 http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b56159c/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java b/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java index 1132e74..80d2c4a 100644 --- a/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java +++ b/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java @@ -167,12 +167,6 @@ class OfflineIterator implements IteratorEntryKey,Value { } } - /** - * @throws TableNotFoundException - * @throws IOException - * @throws AccumuloException - * - */ private void nextTablet() throws TableNotFoundException, AccumuloException, IOException { Range nextRange = null; @@ -274,13 +268,6 @@ class OfflineIterator implements IteratorEntryKey,Value { return new PairKeyExtent,String(extent, location); } - /** - * @param absFiles - * @return - * @throws AccumuloException - * @throws TableNotFoundException - * @throws IOException - */ private SortedKeyValueIteratorKey,Value createIterator(KeyExtent extent, ListString absFiles) throws TableNotFoundException, AccumuloException, IOException { http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b56159c/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java
[01/16] git commit: ACCUMULO-3119 Cleanup javadocs in 1.5.x branch
Repository: accumulo Updated Branches: refs/heads/1.5.2-SNAPSHOT 7699e1f43 - 9b56159c1 refs/heads/1.6.1-SNAPSHOT 2519b838e - d3e17f458 refs/heads/master 117d5c5c8 - 541a77ff7 ACCUMULO-3119 Cleanup javadocs in 1.5.x branch Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/9b56159c Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/9b56159c Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/9b56159c Branch: refs/heads/1.5.2-SNAPSHOT Commit: 9b56159c10f52a549aa20da12ead855a9155ade8 Parents: 7699e1f Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 18:02:24 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:02:24 2014 -0400 -- .../accumulo/core/client/BatchScanner.java | 1 - .../core/client/impl/OfflineScanner.java | 13 - .../client/impl/TabletServerBatchWriter.java | 3 --- .../accumulo/core/file/BloomFilterLayer.java | 1 - .../accumulo/core/file/rfile/bcfile/BCFile.java | 3 --- .../accumulo/core/file/rfile/bcfile/Chunk.java | 3 --- .../accumulo/core/file/rfile/bcfile/TFile.java | 13 - .../core/client/mock/MockConnectorTest.java | 2 -- .../simple/client/RandomBatchScanner.java| 1 - .../examples/simple/client/RowOperations.java| 19 --- .../simple/mapreduce/TeraSortIngest.java | 2 -- .../java/org/apache/accumulo/fate/TStore.java| 2 -- .../apache/accumulo/fate/zookeeper/ZooLock.java | 2 -- .../server/gc/GarbageCollectWriteAheadLogs.java | 4 .../accumulo/server/metanalysis/FindTablet.java | 6 -- .../accumulo/server/metanalysis/PrintEvents.java | 7 --- .../apache/accumulo/server/monitor/Monitor.java | 3 --- .../server/security/SecurityOperation.java | 5 - .../server/tabletserver/MemoryManager.java | 2 -- .../server/tabletserver/TabletServer.java| 3 --- .../tabletserver/log/TabletServerLogger.java | 1 - .../apache/accumulo/server/util/Initialize.java | 3 --- .../org/apache/accumulo/server/util/ZooZap.java | 3 --- .../accumulo/server/master/TestMergeState.java | 6 -- .../start/classloader/AccumuloClassLoader.java | 5 - .../test/functional/SparseColumnFamilyTest.java | 6 -- .../apache/accumulo/test/randomwalk/Module.java | 1 - .../accumulo/test/randomwalk/bulk/Verify.java| 4 28 files changed, 124 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b56159c/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java index e332d3c..aa57297 100644 --- a/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java +++ b/core/src/main/java/org/apache/accumulo/core/client/BatchScanner.java @@ -54,7 +54,6 @@ public interface BatchScanner extends ScannerBase { * p * If not set, there is not timeout. The BatchScanner will retry forever. * - * @param timeout * @param timeUnit * determines how timeout is interpreted * @since 1.5.0 http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b56159c/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java b/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java index 1132e74..80d2c4a 100644 --- a/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java +++ b/core/src/main/java/org/apache/accumulo/core/client/impl/OfflineScanner.java @@ -167,12 +167,6 @@ class OfflineIterator implements IteratorEntryKey,Value { } } - /** - * @throws TableNotFoundException - * @throws IOException - * @throws AccumuloException - * - */ private void nextTablet() throws TableNotFoundException, AccumuloException, IOException { Range nextRange = null; @@ -274,13 +268,6 @@ class OfflineIterator implements IteratorEntryKey,Value { return new PairKeyExtent,String(extent, location); } - /** - * @param absFiles - * @return - * @throws AccumuloException - * @throws TableNotFoundException - * @throws IOException - */ private SortedKeyValueIteratorKey,Value createIterator(KeyExtent extent, ListString absFiles) throws TableNotFoundException, AccumuloException, IOException { http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b56159c/core/src/main/java/org/apache/accumulo/core/client/impl/TabletServerBatchWriter.java
[13/16] git commit: ACCUMULO-2645 Remove unused imports
ACCUMULO-2645 Remove unused imports Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/d23cb34e Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/d23cb34e Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/d23cb34e Branch: refs/heads/1.6.1-SNAPSHOT Commit: d23cb34edff1a3fdd8487d27bbe6fe5db2983f70 Parents: f64482b Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 17:32:08 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:10:32 2014 -0400 -- .../org/apache/accumulo/monitor/servlets/ScanServlet.java | 9 +++-- 1 file changed, 3 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/d23cb34e/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ScanServlet.java -- diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ScanServlet.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ScanServlet.java index 12b0871..a4f99c4 100644 --- a/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ScanServlet.java +++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ScanServlet.java @@ -18,21 +18,18 @@ package org.apache.accumulo.monitor.servlets; import java.io.IOException; import java.util.Map; -import java.util.Map.Entry; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.accumulo.core.master.thrift.TabletServerStatus; - -import org.apache.accumulo.monitor.util.celltypes.TServerLinkType; import org.apache.accumulo.core.tabletserver.thrift.ActiveScan; import org.apache.accumulo.monitor.Monitor; import org.apache.accumulo.monitor.Monitor.ScanStats; import org.apache.accumulo.monitor.util.Table; import org.apache.accumulo.monitor.util.TableRow; import org.apache.accumulo.monitor.util.celltypes.DurationType; -import org.apache.accumulo.monitor.util.celltypes.StringType; +import org.apache.accumulo.monitor.util.celltypes.TServerLinkType; public class ScanServlet extends BasicServlet { @@ -42,7 +39,7 @@ public class ScanServlet extends BasicServlet { protected String getTitle(HttpServletRequest req) { return Scans; } - + @Override protected void pageBody(HttpServletRequest req, HttpServletResponse response, StringBuilder sb) throws IOException { MapString,ScanStats scans = Monitor.getScans(); @@ -68,5 +65,5 @@ public class ScanServlet extends BasicServlet { } scanTable.generate(req, sb); } - + }
[05/16] git commit: Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT
Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/d8a4def0 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/d8a4def0 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/d8a4def0 Branch: refs/heads/master Commit: d8a4def0d45c73602a4bd3437c49c1a99c29817c Parents: 2519b83 9b56159 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 18:10:11 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:10:11 2014 -0400 -- --
[12/16] git commit: ACCUMULO-3078 Fix ConditionalWriterIT trace test
ACCUMULO-3078 Fix ConditionalWriterIT trace test Discovered by dead code warning. Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/22de8d52 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/22de8d52 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/22de8d52 Branch: refs/heads/master Commit: 22de8d5237ff14b9c46638df0f998368f80a5cc9 Parents: d23cb34 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 17:36:39 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:10:32 2014 -0400 -- .../test/java/org/apache/accumulo/test/ConditionalWriterIT.java| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/22de8d52/test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java -- diff --git a/test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java b/test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java index a24ff9e..26c53bb 100644 --- a/test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java +++ b/test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java @@ -1210,7 +1210,7 @@ public class ConditionalWriterIT extends SimpleMacIT { Process tracer = null; Connector conn = getConnector(); if (!conn.tableOperations().exists(trace)) { - getStaticCluster().exec(TraceServer.class); + tracer = getStaticCluster().exec(TraceServer.class); } while (!conn.tableOperations().exists(trace)) { UtilWaitThread.sleep(1000);
[11/16] git commit: ACCUMULO-3093 Remove unused import
ACCUMULO-3093 Remove unused import Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/f64482bf Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/f64482bf Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/f64482bf Branch: refs/heads/1.6.1-SNAPSHOT Commit: f64482bf0f1d0bb84bc4a2e8bb62b180efe692b8 Parents: 618e0d4 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 17:29:13 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:10:32 2014 -0400 -- .../apache/accumulo/core/util/shell/commands/ScanCommand.java| 1 - .../apache/accumulo/core/util/shell/commands/SetIterCommand.java | 4 2 files changed, 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/f64482bf/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java index 0270e6c..e60e62f 100644 --- a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java +++ b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/ScanCommand.java @@ -28,7 +28,6 @@ import org.apache.accumulo.core.client.AccumuloSecurityException; 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.TableNotFoundException; import org.apache.accumulo.core.conf.AccumuloConfiguration; import org.apache.accumulo.core.data.Key; import org.apache.accumulo.core.data.Range; http://git-wip-us.apache.org/repos/asf/accumulo/blob/f64482bf/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java index 4be178a..64afb3f 100644 --- a/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java +++ b/core/src/main/java/org/apache/accumulo/core/util/shell/commands/SetIterCommand.java @@ -30,7 +30,6 @@ import org.apache.accumulo.core.client.AccumuloSecurityException; import org.apache.accumulo.core.client.IteratorSetting; import org.apache.accumulo.core.client.NamespaceNotFoundException; import org.apache.accumulo.core.client.TableNotFoundException; -import org.apache.accumulo.core.conf.Property; import org.apache.accumulo.core.data.Key; import org.apache.accumulo.core.data.Value; import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope; @@ -45,14 +44,11 @@ import org.apache.accumulo.core.util.shell.Shell; import org.apache.accumulo.core.util.shell.Shell.Command; import org.apache.accumulo.core.util.shell.ShellCommandException; import org.apache.accumulo.core.util.shell.ShellCommandException.ErrorCode; -import org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader; -import org.apache.accumulo.start.classloader.vfs.ContextManager; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionGroup; import org.apache.commons.cli.Options; import org.apache.commons.lang.StringUtils; -import org.apache.commons.vfs2.FileSystemException; public class SetIterCommand extends Command {
[10/16] git commit: ACCUMULO-3078 Re-introduce warnings suppression for Job()
ACCUMULO-3078 Re-introduce warnings suppression for Job() Adds warning suppression needed to build against the Hadoop version declared as a dependency, by default. Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/618e0d40 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/618e0d40 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/618e0d40 Branch: refs/heads/1.6.1-SNAPSHOT Commit: 618e0d400b6c1d31f96e84accff22479ecda88b4 Parents: d8a4def Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 17:21:35 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:10:32 2014 -0400 -- .../org/apache/accumulo/test/functional/AccumuloInputFormatIT.java | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/618e0d40/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java -- diff --git a/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java b/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java index b6b1086..5f33436 100644 --- a/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java +++ b/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java @@ -69,6 +69,7 @@ public class AccumuloInputFormatIT extends SimpleMacIT { conn.tableOperations().create(table); insertData(table, currentTimeMillis()); +@SuppressWarnings(deprecation) Job job = new Job(); AccumuloInputFormat.setInputTableName(job, table); AccumuloInputFormat.setZooKeeperInstance(job, new ClientConfiguration().withInstance(conn.getInstance().getInstanceName())
[08/16] git commit: ACCUMULO-2645 Remove unused imports
ACCUMULO-2645 Remove unused imports Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/d23cb34e Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/d23cb34e Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/d23cb34e Branch: refs/heads/master Commit: d23cb34edff1a3fdd8487d27bbe6fe5db2983f70 Parents: f64482b Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 17:32:08 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:10:32 2014 -0400 -- .../org/apache/accumulo/monitor/servlets/ScanServlet.java | 9 +++-- 1 file changed, 3 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/d23cb34e/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ScanServlet.java -- diff --git a/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ScanServlet.java b/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ScanServlet.java index 12b0871..a4f99c4 100644 --- a/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ScanServlet.java +++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ScanServlet.java @@ -18,21 +18,18 @@ package org.apache.accumulo.monitor.servlets; import java.io.IOException; import java.util.Map; -import java.util.Map.Entry; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.accumulo.core.master.thrift.TabletServerStatus; - -import org.apache.accumulo.monitor.util.celltypes.TServerLinkType; import org.apache.accumulo.core.tabletserver.thrift.ActiveScan; import org.apache.accumulo.monitor.Monitor; import org.apache.accumulo.monitor.Monitor.ScanStats; import org.apache.accumulo.monitor.util.Table; import org.apache.accumulo.monitor.util.TableRow; import org.apache.accumulo.monitor.util.celltypes.DurationType; -import org.apache.accumulo.monitor.util.celltypes.StringType; +import org.apache.accumulo.monitor.util.celltypes.TServerLinkType; public class ScanServlet extends BasicServlet { @@ -42,7 +39,7 @@ public class ScanServlet extends BasicServlet { protected String getTitle(HttpServletRequest req) { return Scans; } - + @Override protected void pageBody(HttpServletRequest req, HttpServletResponse response, StringBuilder sb) throws IOException { MapString,ScanStats scans = Monitor.getScans(); @@ -68,5 +65,5 @@ public class ScanServlet extends BasicServlet { } scanTable.generate(req, sb); } - + }
[06/16] git commit: ACCUMULO-3078 Re-introduce warnings suppression for Job()
ACCUMULO-3078 Re-introduce warnings suppression for Job() Adds warning suppression needed to build against the Hadoop version declared as a dependency, by default. Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/618e0d40 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/618e0d40 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/618e0d40 Branch: refs/heads/master Commit: 618e0d400b6c1d31f96e84accff22479ecda88b4 Parents: d8a4def Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 17:21:35 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:10:32 2014 -0400 -- .../org/apache/accumulo/test/functional/AccumuloInputFormatIT.java | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/618e0d40/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java -- diff --git a/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java b/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java index b6b1086..5f33436 100644 --- a/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java +++ b/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java @@ -69,6 +69,7 @@ public class AccumuloInputFormatIT extends SimpleMacIT { conn.tableOperations().create(table); insertData(table, currentTimeMillis()); +@SuppressWarnings(deprecation) Job job = new Job(); AccumuloInputFormat.setInputTableName(job, table); AccumuloInputFormat.setZooKeeperInstance(job, new ClientConfiguration().withInstance(conn.getInstance().getInstanceName())
[09/16] git commit: ACCUMULO-3078 Fix ConditionalWriterIT trace test
ACCUMULO-3078 Fix ConditionalWriterIT trace test Discovered by dead code warning. Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/22de8d52 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/22de8d52 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/22de8d52 Branch: refs/heads/1.6.1-SNAPSHOT Commit: 22de8d5237ff14b9c46638df0f998368f80a5cc9 Parents: d23cb34 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Sep 12 17:36:39 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Sep 12 18:10:32 2014 -0400 -- .../test/java/org/apache/accumulo/test/ConditionalWriterIT.java| 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/22de8d52/test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java -- diff --git a/test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java b/test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java index a24ff9e..26c53bb 100644 --- a/test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java +++ b/test/src/test/java/org/apache/accumulo/test/ConditionalWriterIT.java @@ -1210,7 +1210,7 @@ public class ConditionalWriterIT extends SimpleMacIT { Process tracer = null; Connector conn = getConnector(); if (!conn.tableOperations().exists(trace)) { - getStaticCluster().exec(TraceServer.class); + tracer = getStaticCluster().exec(TraceServer.class); } while (!conn.tableOperations().exists(trace)) { UtilWaitThread.sleep(1000);
svn commit: r6654 - in /release/accumulo/1.6.1: MD5SUM SHA1SUM accumulo-1.6.1-bin.tar.gz accumulo-1.6.1-bin.tar.gz.asc accumulo-1.6.1-src.tar.gz.asc
Author: ctubbsii Date: Thu Sep 25 11:30:06 2014 New Revision: 6654 Log: Fix accumulo 1.6.1 sigs Modified: release/accumulo/1.6.1/MD5SUM release/accumulo/1.6.1/SHA1SUM release/accumulo/1.6.1/accumulo-1.6.1-bin.tar.gz release/accumulo/1.6.1/accumulo-1.6.1-bin.tar.gz.asc release/accumulo/1.6.1/accumulo-1.6.1-src.tar.gz.asc Modified: release/accumulo/1.6.1/MD5SUM == --- release/accumulo/1.6.1/MD5SUM (original) +++ release/accumulo/1.6.1/MD5SUM Thu Sep 25 11:30:06 2014 @@ -1,2 +1,2 @@ -cd354e2199c31fd919ba926101bfbc45 accumulo-1.6.1-bin.tar.gz +523d3ab55a6fe2b48c0a1d012f9c2ffc accumulo-1.6.1-bin.tar.gz c9f0c51e97cb6ec6cb55190abfbd9aff accumulo-1.6.1-src.tar.gz Modified: release/accumulo/1.6.1/SHA1SUM == --- release/accumulo/1.6.1/SHA1SUM (original) +++ release/accumulo/1.6.1/SHA1SUM Thu Sep 25 11:30:06 2014 @@ -1,2 +1,2 @@ -1f8a6c505d7e1999c3155b3935984b1b5a0af0c9 accumulo-1.6.1-bin.tar.gz +398370135afcd45300a02814e889bf9a0f242e78 accumulo-1.6.1-bin.tar.gz 0a3571bde91ccf8ab9606b2efca0fa35165a1b9f accumulo-1.6.1-src.tar.gz Modified: release/accumulo/1.6.1/accumulo-1.6.1-bin.tar.gz == Binary files - no diff available. Modified: release/accumulo/1.6.1/accumulo-1.6.1-bin.tar.gz.asc == --- release/accumulo/1.6.1/accumulo-1.6.1-bin.tar.gz.asc (original) +++ release/accumulo/1.6.1/accumulo-1.6.1-bin.tar.gz.asc Thu Sep 25 11:30:06 2014 @@ -2,11 +2,11 @@ Version: GnuPG/MacGPG2 v2.0.22 (Darwin) Comment: GPGTools - https://gpgtools.org -iQEcBAABCgAGBQJUHOIWAAoJEC8X7tt9szZT12kIAJpaCK1KqTtuCzrLEgVTw4GG -iNtbHQgXx8sBFKOYnXsIzF+rf3gYO3kV3YDJFBsj/TvRCg/Phjk8Z5EUYYzKJQZD -T5ZTnYXZ29XdPEvqKZWHBofKPbnRcg42ZiReNbIHx44djkCBsHERxHttYaxSyv2y -k7doe8kN+yNQRCL/IsxOfW64W5Sa9nuroO5kDup0Hhw3ifNtttMV1g/MpMUU4r6R -ZVf5VeZsZsEgSC7vCY1yxmfD8iOGERkd1Y/vRKBkWgrB39hZIPvD/UppXc+34NoT -wyf2gnhIjUvb4+bwc4wVrArMRgKVLaQ5BVXPmSccSGdlxfizlb/h6q+kOIgGHQQ= -=Q8n2 +iQEcBAABCgAGBQJUHOTWAAoJEC8X7tt9szZTGOgH/17yJw0QjWIDVyVqV4ky4F3S +zyj+TW1kLhVS9a7YAVNo7jzn8Q5KGlSqDcmbVGkvkmTH5CCAMr2syTSQKRSqu9Pk ++cLt9A1t94g4rsxVHNuGgvXZ24wbr67YK3GS6E67rPQAXIvXwFmMpcuJqiWBwdjc +CvGauf47DkA2eHSdg3O+NvTtE0yAUoAd0hP3mlWrLxVKDs4UqEIXTSfMj5FVWHMh +jTWseW84VvqPQg3jN0lEtd9Wmp3IE99DHn5iGeMMrqH20ztKKMbZt/aKZtJA0WWe +efn86IzVIVaUCXVEijbLlDKTKipn5d641aag5ZsxBqOC3XPmgWRQShc2C102YMU= +=uPr8 -END PGP SIGNATURE- Modified: release/accumulo/1.6.1/accumulo-1.6.1-src.tar.gz.asc == --- release/accumulo/1.6.1/accumulo-1.6.1-src.tar.gz.asc (original) +++ release/accumulo/1.6.1/accumulo-1.6.1-src.tar.gz.asc Thu Sep 25 11:30:06 2014 @@ -2,11 +2,11 @@ Version: GnuPG/MacGPG2 v2.0.22 (Darwin) Comment: GPGTools - https://gpgtools.org -iQEcBAABCgAGBQJUHOIWAAoJEC8X7tt9szZTvtwIAKiztgO0bTnRQARuQqqJb1sW -ehadvOf6MSBUgi/b+vymV9yfcIZheMKeXydhoTol5mDs/7P2A1uGqahlc2LCJkqu -M//Jt/nIBBOJbFtcrBJDJ2nOiVTJ2K61j1MlO8RBlXHUxrZObHm0mXQePHGXKAO1 -UoDFGKCMeh8AR+GQisq/creND+f5E/pjKJjO4EwsWo0zoT9eAjVub1eKNiGsjyIo -S5NQk4zwOeXhPr3ZpjiZGIIue9hqgZcFUqB9qrZdOYN8h2tNjLK559lPQhB47/r8 -F4oTj3LXXRq/e1wohitTUr0TN9U4+60WRRDIsAnSj0uSU811gAB5fXR0uFgG5vk= -=I9Cg +iQEcBAABCgAGBQJUHOTWAAoJEC8X7tt9szZTFn4H/RoxT84/YSjMFS9E82VnneiN +PYlaHfpnTJYcb3SUGIy5+tHTw41hAxSoXIvOYhme9xYds3YcrWHJEpjnLWWAOE0c +Sfv9d6YSInwdtlUhz8AhDfgJ1eQEM8CHG7ITc1McLlNs3WgmwjzU1c4oeyAotIdi +iIewirxXWpJDZKxATo1pViVNIJZ71YVgFOnbkg/cGEbIjJl2i2Agb4fABTFd5r9w +V+WLu4u4XfflV8bjTdPPIN290UA+R5BJifyzGi/BffMsBEqxcTPUCeO20qlrShT2 +clRWdQQrFpBlPiPFz1a8JE/LRi/A3/JFEJ+DgoWgXWlihB0lvinEdfOL5lD+P0A= +=xN4+ -END PGP SIGNATURE-
[2/4] git commit: [maven-release-plugin] prepare release 1.6.1
[maven-release-plugin] prepare release 1.6.1 Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/88c5473b Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/88c5473b Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/88c5473b Branch: refs/heads/master Commit: 88c5473b3b49d797d3dabebd12fe517e9b248ba2 Parents: 65be6dc Author: Corey J. Nolet cjno...@gmail.com Authored: Fri Sep 19 22:11:24 2014 -0400 Committer: Corey J. Nolet cjno...@gmail.com Committed: Fri Sep 19 22:11:24 2014 -0400 -- assemble/pom.xml| 2 +- core/pom.xml| 2 +- docs/pom.xml| 2 +- examples/simple/pom.xml | 2 +- fate/pom.xml| 2 +- maven-plugin/pom.xml| 2 +- minicluster/pom.xml | 2 +- pom.xml | 4 ++-- proxy/pom.xml | 2 +- server/base/pom.xml | 2 +- server/gc/pom.xml | 2 +- server/master/pom.xml | 2 +- server/monitor/pom.xml | 2 +- server/native/pom.xml | 2 +- server/tracer/pom.xml | 2 +- server/tserver/pom.xml | 2 +- start/pom.xml | 2 +- test/pom.xml| 2 +- trace/pom.xml | 2 +- 19 files changed, 20 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/88c5473b/assemble/pom.xml -- diff --git a/assemble/pom.xml b/assemble/pom.xml index 81afc0f..6c88765 100644 --- a/assemble/pom.xml +++ b/assemble/pom.xml @@ -20,7 +20,7 @@ parent groupIdorg.apache.accumulo/groupId artifactIdaccumulo-project/artifactId -version1.6.1-SNAPSHOT/version +version1.6.1/version /parent artifactIdaccumulo/artifactId packagingpom/packaging http://git-wip-us.apache.org/repos/asf/accumulo/blob/88c5473b/core/pom.xml -- diff --git a/core/pom.xml b/core/pom.xml index 5a8c347..c385ab0 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -20,7 +20,7 @@ parent groupIdorg.apache.accumulo/groupId artifactIdaccumulo-project/artifactId -version1.6.1-SNAPSHOT/version +version1.6.1/version /parent artifactIdaccumulo-core/artifactId nameCore/name http://git-wip-us.apache.org/repos/asf/accumulo/blob/88c5473b/docs/pom.xml -- diff --git a/docs/pom.xml b/docs/pom.xml index a6260c6..9edba52 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -20,7 +20,7 @@ parent groupIdorg.apache.accumulo/groupId artifactIdaccumulo-project/artifactId -version1.6.1-SNAPSHOT/version +version1.6.1/version /parent artifactIdaccumulo-docs/artifactId packagingpom/packaging http://git-wip-us.apache.org/repos/asf/accumulo/blob/88c5473b/examples/simple/pom.xml -- diff --git a/examples/simple/pom.xml b/examples/simple/pom.xml index 472aeb4..fb96420 100644 --- a/examples/simple/pom.xml +++ b/examples/simple/pom.xml @@ -20,7 +20,7 @@ parent groupIdorg.apache.accumulo/groupId artifactIdaccumulo-project/artifactId -version1.6.1-SNAPSHOT/version +version1.6.1/version relativePath../../pom.xml/relativePath /parent artifactIdaccumulo-examples-simple/artifactId http://git-wip-us.apache.org/repos/asf/accumulo/blob/88c5473b/fate/pom.xml -- diff --git a/fate/pom.xml b/fate/pom.xml index dfc3f1c..63bd73d 100644 --- a/fate/pom.xml +++ b/fate/pom.xml @@ -20,7 +20,7 @@ parent groupIdorg.apache.accumulo/groupId artifactIdaccumulo-project/artifactId -version1.6.1-SNAPSHOT/version +version1.6.1/version /parent artifactIdaccumulo-fate/artifactId nameFate/name http://git-wip-us.apache.org/repos/asf/accumulo/blob/88c5473b/maven-plugin/pom.xml -- diff --git a/maven-plugin/pom.xml b/maven-plugin/pom.xml index 9d286d8..502e7ed 100644 --- a/maven-plugin/pom.xml +++ b/maven-plugin/pom.xml @@ -20,7 +20,7 @@ parent groupIdorg.apache.accumulo/groupId artifactIdaccumulo-project/artifactId -version1.6.1-SNAPSHOT/version +version1.6.1/version /parent artifactIdaccumulo-maven-plugin/artifactId packagingmaven-plugin/packaging http://git-wip-us.apache.org/repos/asf/accumulo/blob/88c5473b/minicluster/pom.xml -- diff --git a/minicluster/pom.xml b/minicluster/pom.xml index 726f95f..2c6d8d3 100644 --- a/minicluster/pom.xml +++ b/minicluster/pom.xml @@ -20,7 +20,7 @@ parent groupIdorg.apache.accumulo/groupId artifactIdaccumulo-project/artifactId -version1.6.1-SNAPSHOT/version +
[4/4] git commit: Merge branch '1.6.2-SNAPSHOT'
Merge branch '1.6.2-SNAPSHOT' Conflicts: assemble/pom.xml core/pom.xml docs/pom.xml examples/simple/pom.xml fate/pom.xml maven-plugin/pom.xml minicluster/pom.xml pom.xml proxy/pom.xml server/base/pom.xml server/gc/pom.xml server/master/pom.xml server/monitor/pom.xml server/native/pom.xml server/tracer/pom.xml server/tserver/pom.xml start/pom.xml test/pom.xml trace/pom.xml Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/72dd8e16 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/72dd8e16 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/72dd8e16 Branch: refs/heads/master Commit: 72dd8e16cb9ae1c6e644631c06c26d1794ba12ef Parents: 575060a ecb5b54 Author: Christopher Tubbs ctubb...@apache.org Authored: Thu Sep 25 20:57:51 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Thu Sep 25 20:57:51 2014 -0400 -- --
[1/4] git commit: [maven-release-plugin] prepare for next development iteration
Repository: accumulo Updated Branches: refs/heads/master 575060a30 - 72dd8e16c [maven-release-plugin] prepare for next development iteration Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/41495b49 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/41495b49 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/41495b49 Branch: refs/heads/master Commit: 41495b4996ad7dc23b54bde46221bf275e2fd536 Parents: 88c5473 Author: Corey J. Nolet cjno...@gmail.com Authored: Fri Sep 19 22:11:24 2014 -0400 Committer: Corey J. Nolet cjno...@gmail.com Committed: Fri Sep 19 22:11:24 2014 -0400 -- assemble/pom.xml| 2 +- core/pom.xml| 2 +- docs/pom.xml| 2 +- examples/simple/pom.xml | 2 +- fate/pom.xml| 2 +- maven-plugin/pom.xml| 2 +- minicluster/pom.xml | 2 +- pom.xml | 4 ++-- proxy/pom.xml | 2 +- server/base/pom.xml | 2 +- server/gc/pom.xml | 2 +- server/master/pom.xml | 2 +- server/monitor/pom.xml | 2 +- server/native/pom.xml | 2 +- server/tracer/pom.xml | 2 +- server/tserver/pom.xml | 2 +- start/pom.xml | 2 +- test/pom.xml| 2 +- trace/pom.xml | 2 +- 19 files changed, 20 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/41495b49/assemble/pom.xml -- diff --git a/assemble/pom.xml b/assemble/pom.xml index 6c88765..cc9ee7b 100644 --- a/assemble/pom.xml +++ b/assemble/pom.xml @@ -20,7 +20,7 @@ parent groupIdorg.apache.accumulo/groupId artifactIdaccumulo-project/artifactId -version1.6.1/version +version1.6.2-SNAPSHOT/version /parent artifactIdaccumulo/artifactId packagingpom/packaging http://git-wip-us.apache.org/repos/asf/accumulo/blob/41495b49/core/pom.xml -- diff --git a/core/pom.xml b/core/pom.xml index c385ab0..208f5c8 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -20,7 +20,7 @@ parent groupIdorg.apache.accumulo/groupId artifactIdaccumulo-project/artifactId -version1.6.1/version +version1.6.2-SNAPSHOT/version /parent artifactIdaccumulo-core/artifactId nameCore/name http://git-wip-us.apache.org/repos/asf/accumulo/blob/41495b49/docs/pom.xml -- diff --git a/docs/pom.xml b/docs/pom.xml index 9edba52..a7b9100 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -20,7 +20,7 @@ parent groupIdorg.apache.accumulo/groupId artifactIdaccumulo-project/artifactId -version1.6.1/version +version1.6.2-SNAPSHOT/version /parent artifactIdaccumulo-docs/artifactId packagingpom/packaging http://git-wip-us.apache.org/repos/asf/accumulo/blob/41495b49/examples/simple/pom.xml -- diff --git a/examples/simple/pom.xml b/examples/simple/pom.xml index fb96420..324a1ff 100644 --- a/examples/simple/pom.xml +++ b/examples/simple/pom.xml @@ -20,7 +20,7 @@ parent groupIdorg.apache.accumulo/groupId artifactIdaccumulo-project/artifactId -version1.6.1/version +version1.6.2-SNAPSHOT/version relativePath../../pom.xml/relativePath /parent artifactIdaccumulo-examples-simple/artifactId http://git-wip-us.apache.org/repos/asf/accumulo/blob/41495b49/fate/pom.xml -- diff --git a/fate/pom.xml b/fate/pom.xml index 63bd73d..b096c6f 100644 --- a/fate/pom.xml +++ b/fate/pom.xml @@ -20,7 +20,7 @@ parent groupIdorg.apache.accumulo/groupId artifactIdaccumulo-project/artifactId -version1.6.1/version +version1.6.2-SNAPSHOT/version /parent artifactIdaccumulo-fate/artifactId nameFate/name http://git-wip-us.apache.org/repos/asf/accumulo/blob/41495b49/maven-plugin/pom.xml -- diff --git a/maven-plugin/pom.xml b/maven-plugin/pom.xml index 502e7ed..98a1072 100644 --- a/maven-plugin/pom.xml +++ b/maven-plugin/pom.xml @@ -20,7 +20,7 @@ parent groupIdorg.apache.accumulo/groupId artifactIdaccumulo-project/artifactId -version1.6.1/version +version1.6.2-SNAPSHOT/version /parent artifactIdaccumulo-maven-plugin/artifactId packagingmaven-plugin/packaging http://git-wip-us.apache.org/repos/asf/accumulo/blob/41495b49/minicluster/pom.xml -- diff --git a/minicluster/pom.xml b/minicluster/pom.xml index 2c6d8d3..5ad531f 100644 --- a/minicluster/pom.xml +++ b/minicluster/pom.xml @@ -20,7 +20,7 @@ parent
Git Push Summary
Repository: accumulo Updated Branches: refs/heads/1.6.1-rc1 [deleted] 88c5473b3
[3/8] git commit: ACCUMULO-3135 Fix javadoc misuse of link
ACCUMULO-3135 Fix javadoc misuse of link Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/8b17144e Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/8b17144e Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/8b17144e Branch: refs/heads/master Commit: 8b17144e3ba1b4d5316ef2feeb70af815098da67 Parents: 5f2d347 Author: Christopher Tubbs ctubb...@apache.org Authored: Tue Sep 30 21:00:43 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Tue Sep 30 21:00:43 2014 -0400 -- server/src/main/java/org/apache/accumulo/server/master/Master.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/8b17144e/server/src/main/java/org/apache/accumulo/server/master/Master.java -- diff --git a/server/src/main/java/org/apache/accumulo/server/master/Master.java b/server/src/main/java/org/apache/accumulo/server/master/Master.java index 5465ac8..05ada81 100644 --- a/server/src/main/java/org/apache/accumulo/server/master/Master.java +++ b/server/src/main/java/org/apache/accumulo/server/master/Master.java @@ -1154,7 +1154,7 @@ public class Master implements LiveTServerSet.Listener, TableObserver, CurrentSt * @param op * The TableOperation the Master was attempting to perform * @throws ThriftTableOperationException - * Thrown if {@link e} was thrown because {@link SecurityErrorCode#TABLE_DOESNT_EXIST} + * Thrown if {@code e} was thrown because {@link SecurityErrorCode#TABLE_DOESNT_EXIST} */ private void throwIfTableMissingSecurityException(ThriftSecurityException e, String tableId, String tableName, TableOperation op) throws ThriftTableOperationException {
[5/8] git commit: Merge branch '1.5' into 1.6
Merge branch '1.5' into 1.6 Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/beebb946 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/beebb946 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/beebb946 Branch: refs/heads/master Commit: beebb946d07722cf47fd375e35510f852d5b597e Parents: 8d316a3 8b17144 Author: Christopher Tubbs ctubb...@apache.org Authored: Tue Sep 30 21:16:00 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Tue Sep 30 21:16:00 2014 -0400 -- .../main/java/org/apache/accumulo/master/FateServiceHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/beebb946/server/master/src/main/java/org/apache/accumulo/master/FateServiceHandler.java -- diff --cc server/master/src/main/java/org/apache/accumulo/master/FateServiceHandler.java index a3ea117,000..5818da3 mode 100644,00..100644 --- a/server/master/src/main/java/org/apache/accumulo/master/FateServiceHandler.java +++ b/server/master/src/main/java/org/apache/accumulo/master/FateServiceHandler.java @@@ -1,550 -1,0 +1,550 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.master; + +import java.nio.ByteBuffer; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.accumulo.core.client.AccumuloSecurityException; +import org.apache.accumulo.core.client.IteratorSetting; +import org.apache.accumulo.core.client.NamespaceNotFoundException; +import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.client.admin.TimeType; +import org.apache.accumulo.core.client.impl.Namespaces; +import org.apache.accumulo.core.client.impl.TableOperationsImpl; +import org.apache.accumulo.core.client.impl.Tables; +import org.apache.accumulo.core.client.impl.thrift.SecurityErrorCode; +import org.apache.accumulo.core.client.impl.thrift.TableOperation; +import org.apache.accumulo.core.client.impl.thrift.TableOperationExceptionType; +import org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException; +import org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException; +import org.apache.accumulo.core.iterators.IteratorUtil; +import org.apache.accumulo.core.master.thrift.FateOperation; +import org.apache.accumulo.core.master.thrift.FateService; +import org.apache.accumulo.core.security.thrift.TCredentials; +import org.apache.accumulo.core.util.ArgumentChecker.Validator; +import org.apache.accumulo.core.util.ByteBufferUtil; +import org.apache.accumulo.fate.ReadOnlyTStore.TStatus; +import org.apache.accumulo.master.tableOps.BulkImport; +import org.apache.accumulo.master.tableOps.CancelCompactions; +import org.apache.accumulo.master.tableOps.ChangeTableState; +import org.apache.accumulo.master.tableOps.CloneTable; +import org.apache.accumulo.master.tableOps.CompactRange; +import org.apache.accumulo.master.tableOps.CreateNamespace; +import org.apache.accumulo.master.tableOps.CreateTable; +import org.apache.accumulo.master.tableOps.DeleteNamespace; +import org.apache.accumulo.master.tableOps.DeleteTable; +import org.apache.accumulo.master.tableOps.ExportTable; +import org.apache.accumulo.master.tableOps.ImportTable; +import org.apache.accumulo.master.tableOps.RenameNamespace; +import org.apache.accumulo.master.tableOps.RenameTable; +import org.apache.accumulo.master.tableOps.TableRangeOp; +import org.apache.accumulo.master.tableOps.TraceRepo; +import org.apache.accumulo.server.client.ClientServiceHandler; +import org.apache.accumulo.server.master.state.MergeInfo; +import org.apache.accumulo.server.util.TablePropUtil; +import org.apache.accumulo.trace.thrift.TInfo; +import org.apache.hadoop.io.Text; +import org.apache.log4j.Logger; + +/** + * + */ +class
[6/8] git commit: ACCUMULO-3190 Fix deprecation warning
ACCUMULO-3190 Fix deprecation warning Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/d3586ea0 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/d3586ea0 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/d3586ea0 Branch: refs/heads/master Commit: d3586ea0de6690869492ad4d5dd4b69c58e367d5 Parents: beebb94 Author: Christopher Tubbs ctubb...@apache.org Authored: Tue Sep 30 21:17:19 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Tue Sep 30 21:17:19 2014 -0400 -- .../apache/accumulo/test/functional/AccumuloInputFormatIT.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/d3586ea0/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java -- diff --git a/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java b/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java index a3427bb..ad84960 100644 --- a/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java +++ b/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java @@ -37,6 +37,8 @@ import org.apache.accumulo.core.client.TableNotFoundException; import org.apache.accumulo.core.client.mapreduce.AccumuloInputFormat; import org.apache.accumulo.core.client.security.tokens.PasswordToken; import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.conf.ConfigurationCopy; +import org.apache.accumulo.core.conf.DefaultConfiguration; import org.apache.accumulo.core.conf.Property; import org.apache.accumulo.core.data.Mutation; import org.apache.accumulo.core.data.Range; @@ -74,7 +76,7 @@ public class AccumuloInputFormatIT extends SimpleMacIT { ClientConfiguration clientConf = new ClientConfiguration().withInstance(conn.getInstance().getInstanceName()).withZkHosts( conn.getInstance().getZooKeepers()); -AccumuloConfiguration clusterClientConf = conn.getInstance().getConfiguration(); +AccumuloConfiguration clusterClientConf = new ConfigurationCopy(new DefaultConfiguration()); // Pass SSL and CredentialProvider options into the ClientConfiguration given to AccumuloInputFormat boolean sslEnabled = Boolean.valueOf(clusterClientConf.get(Property.INSTANCE_RPC_SSL_ENABLED));
[1/8] git commit: ACCUMULO-3135 Fix javadoc misuse of link
Repository: accumulo Updated Branches: refs/heads/1.5 5f2d3473e - 8b17144e3 refs/heads/1.6 8d316a387 - d3586ea0d refs/heads/master 2cac013a4 - 43ef53ed3 ACCUMULO-3135 Fix javadoc misuse of link Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/8b17144e Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/8b17144e Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/8b17144e Branch: refs/heads/1.5 Commit: 8b17144e3ba1b4d5316ef2feeb70af815098da67 Parents: 5f2d347 Author: Christopher Tubbs ctubb...@apache.org Authored: Tue Sep 30 21:00:43 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Tue Sep 30 21:00:43 2014 -0400 -- server/src/main/java/org/apache/accumulo/server/master/Master.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/8b17144e/server/src/main/java/org/apache/accumulo/server/master/Master.java -- diff --git a/server/src/main/java/org/apache/accumulo/server/master/Master.java b/server/src/main/java/org/apache/accumulo/server/master/Master.java index 5465ac8..05ada81 100644 --- a/server/src/main/java/org/apache/accumulo/server/master/Master.java +++ b/server/src/main/java/org/apache/accumulo/server/master/Master.java @@ -1154,7 +1154,7 @@ public class Master implements LiveTServerSet.Listener, TableObserver, CurrentSt * @param op * The TableOperation the Master was attempting to perform * @throws ThriftTableOperationException - * Thrown if {@link e} was thrown because {@link SecurityErrorCode#TABLE_DOESNT_EXIST} + * Thrown if {@code e} was thrown because {@link SecurityErrorCode#TABLE_DOESNT_EXIST} */ private void throwIfTableMissingSecurityException(ThriftSecurityException e, String tableId, String tableName, TableOperation op) throws ThriftTableOperationException {
[4/8] git commit: Merge branch '1.5' into 1.6
Merge branch '1.5' into 1.6 Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/beebb946 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/beebb946 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/beebb946 Branch: refs/heads/1.6 Commit: beebb946d07722cf47fd375e35510f852d5b597e Parents: 8d316a3 8b17144 Author: Christopher Tubbs ctubb...@apache.org Authored: Tue Sep 30 21:16:00 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Tue Sep 30 21:16:00 2014 -0400 -- .../main/java/org/apache/accumulo/master/FateServiceHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/beebb946/server/master/src/main/java/org/apache/accumulo/master/FateServiceHandler.java -- diff --cc server/master/src/main/java/org/apache/accumulo/master/FateServiceHandler.java index a3ea117,000..5818da3 mode 100644,00..100644 --- a/server/master/src/main/java/org/apache/accumulo/master/FateServiceHandler.java +++ b/server/master/src/main/java/org/apache/accumulo/master/FateServiceHandler.java @@@ -1,550 -1,0 +1,550 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.master; + +import java.nio.ByteBuffer; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.accumulo.core.client.AccumuloSecurityException; +import org.apache.accumulo.core.client.IteratorSetting; +import org.apache.accumulo.core.client.NamespaceNotFoundException; +import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.client.admin.TimeType; +import org.apache.accumulo.core.client.impl.Namespaces; +import org.apache.accumulo.core.client.impl.TableOperationsImpl; +import org.apache.accumulo.core.client.impl.Tables; +import org.apache.accumulo.core.client.impl.thrift.SecurityErrorCode; +import org.apache.accumulo.core.client.impl.thrift.TableOperation; +import org.apache.accumulo.core.client.impl.thrift.TableOperationExceptionType; +import org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException; +import org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException; +import org.apache.accumulo.core.iterators.IteratorUtil; +import org.apache.accumulo.core.master.thrift.FateOperation; +import org.apache.accumulo.core.master.thrift.FateService; +import org.apache.accumulo.core.security.thrift.TCredentials; +import org.apache.accumulo.core.util.ArgumentChecker.Validator; +import org.apache.accumulo.core.util.ByteBufferUtil; +import org.apache.accumulo.fate.ReadOnlyTStore.TStatus; +import org.apache.accumulo.master.tableOps.BulkImport; +import org.apache.accumulo.master.tableOps.CancelCompactions; +import org.apache.accumulo.master.tableOps.ChangeTableState; +import org.apache.accumulo.master.tableOps.CloneTable; +import org.apache.accumulo.master.tableOps.CompactRange; +import org.apache.accumulo.master.tableOps.CreateNamespace; +import org.apache.accumulo.master.tableOps.CreateTable; +import org.apache.accumulo.master.tableOps.DeleteNamespace; +import org.apache.accumulo.master.tableOps.DeleteTable; +import org.apache.accumulo.master.tableOps.ExportTable; +import org.apache.accumulo.master.tableOps.ImportTable; +import org.apache.accumulo.master.tableOps.RenameNamespace; +import org.apache.accumulo.master.tableOps.RenameTable; +import org.apache.accumulo.master.tableOps.TableRangeOp; +import org.apache.accumulo.master.tableOps.TraceRepo; +import org.apache.accumulo.server.client.ClientServiceHandler; +import org.apache.accumulo.server.master.state.MergeInfo; +import org.apache.accumulo.server.util.TablePropUtil; +import org.apache.accumulo.trace.thrift.TInfo; +import org.apache.hadoop.io.Text; +import org.apache.log4j.Logger; + +/** + * + */ +class
[8/8] git commit: Merge branch '1.6'
Merge branch '1.6' Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/43ef53ed Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/43ef53ed Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/43ef53ed Branch: refs/heads/master Commit: 43ef53ed39be9312a0e2a3eab03e49bfd6896e2a Parents: 2cac013 d3586ea Author: Christopher Tubbs ctubb...@apache.org Authored: Tue Sep 30 21:22:08 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Tue Sep 30 21:22:08 2014 -0400 -- .../java/org/apache/accumulo/master/FateServiceHandler.java | 2 +- .../apache/accumulo/test/functional/AccumuloInputFormatIT.java | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/43ef53ed/server/master/src/main/java/org/apache/accumulo/master/FateServiceHandler.java --
[7/8] git commit: ACCUMULO-3190 Fix deprecation warning
ACCUMULO-3190 Fix deprecation warning Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/d3586ea0 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/d3586ea0 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/d3586ea0 Branch: refs/heads/1.6 Commit: d3586ea0de6690869492ad4d5dd4b69c58e367d5 Parents: beebb94 Author: Christopher Tubbs ctubb...@apache.org Authored: Tue Sep 30 21:17:19 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Tue Sep 30 21:17:19 2014 -0400 -- .../apache/accumulo/test/functional/AccumuloInputFormatIT.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/d3586ea0/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java -- diff --git a/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java b/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java index a3427bb..ad84960 100644 --- a/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java +++ b/test/src/test/java/org/apache/accumulo/test/functional/AccumuloInputFormatIT.java @@ -37,6 +37,8 @@ import org.apache.accumulo.core.client.TableNotFoundException; import org.apache.accumulo.core.client.mapreduce.AccumuloInputFormat; import org.apache.accumulo.core.client.security.tokens.PasswordToken; import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.conf.ConfigurationCopy; +import org.apache.accumulo.core.conf.DefaultConfiguration; import org.apache.accumulo.core.conf.Property; import org.apache.accumulo.core.data.Mutation; import org.apache.accumulo.core.data.Range; @@ -74,7 +76,7 @@ public class AccumuloInputFormatIT extends SimpleMacIT { ClientConfiguration clientConf = new ClientConfiguration().withInstance(conn.getInstance().getInstanceName()).withZkHosts( conn.getInstance().getZooKeepers()); -AccumuloConfiguration clusterClientConf = conn.getInstance().getConfiguration(); +AccumuloConfiguration clusterClientConf = new ConfigurationCopy(new DefaultConfiguration()); // Pass SSL and CredentialProvider options into the ClientConfiguration given to AccumuloInputFormat boolean sslEnabled = Boolean.valueOf(clusterClientConf.get(Property.INSTANCE_RPC_SSL_ENABLED));
[2/8] git commit: ACCUMULO-3135 Fix javadoc misuse of link
ACCUMULO-3135 Fix javadoc misuse of link Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/8b17144e Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/8b17144e Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/8b17144e Branch: refs/heads/1.6 Commit: 8b17144e3ba1b4d5316ef2feeb70af815098da67 Parents: 5f2d347 Author: Christopher Tubbs ctubb...@apache.org Authored: Tue Sep 30 21:00:43 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Tue Sep 30 21:00:43 2014 -0400 -- server/src/main/java/org/apache/accumulo/server/master/Master.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/8b17144e/server/src/main/java/org/apache/accumulo/server/master/Master.java -- diff --git a/server/src/main/java/org/apache/accumulo/server/master/Master.java b/server/src/main/java/org/apache/accumulo/server/master/Master.java index 5465ac8..05ada81 100644 --- a/server/src/main/java/org/apache/accumulo/server/master/Master.java +++ b/server/src/main/java/org/apache/accumulo/server/master/Master.java @@ -1154,7 +1154,7 @@ public class Master implements LiveTServerSet.Listener, TableObserver, CurrentSt * @param op * The TableOperation the Master was attempting to perform * @throws ThriftTableOperationException - * Thrown if {@link e} was thrown because {@link SecurityErrorCode#TABLE_DOESNT_EXIST} + * Thrown if {@code e} was thrown because {@link SecurityErrorCode#TABLE_DOESNT_EXIST} */ private void throwIfTableMissingSecurityException(ThriftSecurityException e, String tableId, String tableName, TableOperation op) throws ThriftTableOperationException {
git commit: ACCUMULO-3182 Attempt to fix bad merge
Repository: accumulo Updated Branches: refs/heads/master 089408d59 - dc0d01ce8 ACCUMULO-3182 Attempt to fix bad merge Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/dc0d01ce Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/dc0d01ce Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/dc0d01ce Branch: refs/heads/master Commit: dc0d01ce8ca5a9f7642ec53017476db2c01d91b4 Parents: 089408d Author: Christopher Tubbs ctubb...@apache.org Authored: Thu Oct 2 20:51:20 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Thu Oct 2 20:51:20 2014 -0400 -- .../tserver/replication/AccumuloReplicaSystem.java| 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/dc0d01ce/server/tserver/src/main/java/org/apache/accumulo/tserver/replication/AccumuloReplicaSystem.java -- diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/replication/AccumuloReplicaSystem.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/replication/AccumuloReplicaSystem.java index bed2d89..fa9f5b1 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/replication/AccumuloReplicaSystem.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/replication/AccumuloReplicaSystem.java @@ -62,6 +62,7 @@ import org.apache.accumulo.trace.instrument.Span; import org.apache.accumulo.trace.instrument.Trace; import org.apache.accumulo.tserver.log.DfsLogger; import org.apache.accumulo.tserver.log.DfsLogger.DFSLoggerInputStreams; +import org.apache.accumulo.tserver.log.DfsLogger.LogHeaderIncompleteException; import org.apache.accumulo.tserver.logger.LogFileKey; import org.apache.accumulo.tserver.logger.LogFileValue; import org.apache.commons.lang.StringUtils; @@ -283,7 +284,7 @@ public class AccumuloReplicaSystem implements ReplicaSystem { AccumuloException, AccumuloSecurityException { final SetInteger tids; -final DataInputStream input; +DataInputStream input = null; Span span = Trace.start(Read WAL header); span.data(file, p.toString()); try { @@ -399,8 +400,8 @@ public class AccumuloReplicaSystem implements ReplicaSystem { private TCredentials tcreds; private SetInteger tids; -public WalClientExecReturn(ReplicationTarget target, DataInputStream input, Path p, Status status, long sizeLimit, String remoteTableId, TCredentials tcreds, -SetInteger tids) { +public WalClientExecReturn(ReplicationTarget target, DataInputStream input, Path p, Status status, long sizeLimit, String remoteTableId, +TCredentials tcreds, SetInteger tids) { this.target = target; this.input = input; this.p = p; @@ -449,7 +450,8 @@ public class AccumuloReplicaSystem implements ReplicaSystem { private String remoteTableId; private TCredentials tcreds; -public RFileClientExecReturn(ReplicationTarget target, DataInputStream input, Path p, Status status, long sizeLimit, String remoteTableId, TCredentials tcreds) { +public RFileClientExecReturn(ReplicationTarget target, DataInputStream input, Path p, Status status, long sizeLimit, String remoteTableId, +TCredentials tcreds) { this.target = target; this.input = input; this.p = p;
git commit: ACCUMULO-3200 Remove unused class
Repository: accumulo Updated Branches: refs/heads/master d1f403205 - 0bb0012c1 ACCUMULO-3200 Remove unused class Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/0bb0012c Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/0bb0012c Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/0bb0012c Branch: refs/heads/master Commit: 0bb0012c175803be44a296f83930e62cdf6bd685 Parents: d1f4032 Author: Christopher Tubbs ctubb...@apache.org Authored: Mon Oct 6 13:06:16 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Mon Oct 6 13:06:28 2014 -0400 -- .../server/conf/TableConfigurationCopy.java | 77 1 file changed, 77 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/0bb0012c/server/base/src/main/java/org/apache/accumulo/server/conf/TableConfigurationCopy.java -- diff --git a/server/base/src/main/java/org/apache/accumulo/server/conf/TableConfigurationCopy.java b/server/base/src/main/java/org/apache/accumulo/server/conf/TableConfigurationCopy.java deleted file mode 100644 index d67b98c..000 --- a/server/base/src/main/java/org/apache/accumulo/server/conf/TableConfigurationCopy.java +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the License); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.accumulo.server.conf; - -import java.util.Map; -import java.util.Map.Entry; - -import org.apache.accumulo.core.conf.Property; - -/** - * - */ -public class TableConfigurationCopy extends TableConfiguration { - - private String tableId; - private MapString,String conf; - - public TableConfigurationCopy(String tableId, MapString,String conf) { -super(null, null, null, null); -this.tableId = tableId; -this.conf = conf; - } - - @Override - public String get(Property property) { -String key = property.getKey(); -return conf.get(key); - } - - @Override - public void getProperties(MapString,String props, PropertyFilter filter) { -for (EntryString,String entry : conf.entrySet()) { - if (filter.accept(entry.getKey())) { -props.put(entry.getKey(), entry.getValue()); - } -} - } - - @Override - public String getTableId() { -return tableId; - } - - @Override - public NamespaceConfiguration getNamespaceConfiguration() { -throw new UnsupportedOperationException(); - } - - @Override - public NamespaceConfiguration getParentConfiguration() { -throw new UnsupportedOperationException(); - } - - @Override - public void invalidateCache() { -// Nothing to invalidate as this is a static copy - } - - @Override - public String toString() { -return this.getClass().getSimpleName(); - } -}
[1/3] git commit: ACCUMULO-3203 Remove unused class
Repository: accumulo Updated Branches: refs/heads/1.6 44bf5ed2b - dc2ba1046 refs/heads/master 0bb0012c1 - fbb7b47c9 ACCUMULO-3203 Remove unused class Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/dc2ba104 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/dc2ba104 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/dc2ba104 Branch: refs/heads/1.6 Commit: dc2ba104669066b0cb35e65d3ded03165c9974fa Parents: 44bf5ed Author: Christopher Tubbs ctubb...@apache.org Authored: Mon Oct 6 13:19:34 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Mon Oct 6 13:19:34 2014 -0400 -- .../SecretKeyEncryptionStrategyContext.java | 31 1 file changed, 31 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/dc2ba104/core/src/main/java/org/apache/accumulo/core/security/crypto/SecretKeyEncryptionStrategyContext.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/security/crypto/SecretKeyEncryptionStrategyContext.java b/core/src/main/java/org/apache/accumulo/core/security/crypto/SecretKeyEncryptionStrategyContext.java deleted file mode 100644 index dfe948d..000 --- a/core/src/main/java/org/apache/accumulo/core/security/crypto/SecretKeyEncryptionStrategyContext.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the License); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.accumulo.core.security.crypto; - -import java.util.Map; - -public interface SecretKeyEncryptionStrategyContext { - String getOpaqueKeyEncryptionKeyID(); - void setOpaqueKeyEncryptionKeyID(String id); - byte[] getPlaintextSecretKey(); - void setPlaintextSecretKey(byte[] key); - byte[] getEncryptedSecretKey(); - void setEncryptedSecretKey(byte[] key); - MapString, String getContext(); - void setContext(MapString, String context); -}
[2/3] git commit: ACCUMULO-3203 Remove unused class
ACCUMULO-3203 Remove unused class Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/dc2ba104 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/dc2ba104 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/dc2ba104 Branch: refs/heads/master Commit: dc2ba104669066b0cb35e65d3ded03165c9974fa Parents: 44bf5ed Author: Christopher Tubbs ctubb...@apache.org Authored: Mon Oct 6 13:19:34 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Mon Oct 6 13:19:34 2014 -0400 -- .../SecretKeyEncryptionStrategyContext.java | 31 1 file changed, 31 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/dc2ba104/core/src/main/java/org/apache/accumulo/core/security/crypto/SecretKeyEncryptionStrategyContext.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/security/crypto/SecretKeyEncryptionStrategyContext.java b/core/src/main/java/org/apache/accumulo/core/security/crypto/SecretKeyEncryptionStrategyContext.java deleted file mode 100644 index dfe948d..000 --- a/core/src/main/java/org/apache/accumulo/core/security/crypto/SecretKeyEncryptionStrategyContext.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the License); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.accumulo.core.security.crypto; - -import java.util.Map; - -public interface SecretKeyEncryptionStrategyContext { - String getOpaqueKeyEncryptionKeyID(); - void setOpaqueKeyEncryptionKeyID(String id); - byte[] getPlaintextSecretKey(); - void setPlaintextSecretKey(byte[] key); - byte[] getEncryptedSecretKey(); - void setEncryptedSecretKey(byte[] key); - MapString, String getContext(); - void setContext(MapString, String context); -}
[3/3] git commit: Merge branch '1.6'
Merge branch '1.6' Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/fbb7b47c Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/fbb7b47c Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/fbb7b47c Branch: refs/heads/master Commit: fbb7b47c975f6fcc49e4a05fd0e2f45c1be14852 Parents: 0bb0012 dc2ba10 Author: Christopher Tubbs ctubb...@apache.org Authored: Mon Oct 6 13:20:04 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Mon Oct 6 13:20:04 2014 -0400 -- .../SecretKeyEncryptionStrategyContext.java | 31 1 file changed, 31 deletions(-) --
git commit: ACCUMULO-3031 Conditionally ignore known-bad test due to JDK bug
Repository: accumulo Updated Branches: refs/heads/master fbb7b47c9 - 4ce6ee907 ACCUMULO-3031 Conditionally ignore known-bad test due to JDK bug Skip test execution when building on a known bad JDK version in the range (1.7.0_60, 1.7.0_72). This bug is expected to be fixed in 1.7.0_72. Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/4ce6ee90 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/4ce6ee90 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/4ce6ee90 Branch: refs/heads/master Commit: 4ce6ee9079b2187286dc105133065bdffeda2438 Parents: fbb7b47 Author: Christopher Tubbs ctubb...@apache.org Authored: Mon Oct 6 15:08:33 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Mon Oct 6 15:08:33 2014 -0400 -- .../accumulo/shell/ShellSetInstanceTest.java| 54 ++-- 1 file changed, 37 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/4ce6ee90/shell/src/test/java/org/apache/accumulo/shell/ShellSetInstanceTest.java -- diff --git a/shell/src/test/java/org/apache/accumulo/shell/ShellSetInstanceTest.java b/shell/src/test/java/org/apache/accumulo/shell/ShellSetInstanceTest.java index 463f97d..7ac802f 100644 --- a/shell/src/test/java/org/apache/accumulo/shell/ShellSetInstanceTest.java +++ b/shell/src/test/java/org/apache/accumulo/shell/ShellSetInstanceTest.java @@ -45,13 +45,12 @@ import org.apache.accumulo.core.conf.ConfigSanityCheck; import org.apache.accumulo.core.conf.Property; import org.apache.accumulo.core.conf.SiteConfiguration; import org.apache.accumulo.core.zookeeper.ZooUtil; -import org.apache.accumulo.shell.Shell; -import org.apache.accumulo.shell.ShellOptionsJC; import org.apache.hadoop.fs.Path; import org.apache.log4j.Level; import org.easymock.EasyMock; import org.junit.After; import org.junit.AfterClass; +import org.junit.Assume; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; @@ -79,12 +78,25 @@ public class ShellSetInstanceTest { } } + /** + * Skip all tests if we have a known bad version of java; See ACCUMULO-3031 + */ + @BeforeClass + public static void checkJavaVersion() { +String javaVer = System.getProperty(java.version, ); +if (javaVer.matches(^1[.]7[.]0_(\\d+)$)) { + int v = Integer.parseInt(javaVer.substring(6)); + Assume.assumeTrue(Skipping test due to incompatible Java version; See ACCUMULO-3031, v = 60 || v = 72); +} + } + @BeforeClass public static void setupClass() { // This is necessary because PowerMock messes with Hadoop's ability to // determine the current user (see security.UserGroupInformation). System.setProperty(HADOOP_USER_NAME, test); } + @AfterClass public static void teardownClass() { System.clearProperty(HADOOP_USER_NAME); @@ -100,6 +112,7 @@ public class ShellSetInstanceTest { shell = new Shell(new ConsoleReader(new FileInputStream(FileDescriptor.in), output), new PrintWriter(output)); shell.setLogErrorsToConsole(); } + @After public void tearDown() { shell.shutdown(); @@ -118,34 +131,35 @@ public class ShellSetInstanceTest { shell.setInstance(opts); verify(theInstance, MockInstance.class); } + @Test public void testSetInstance_HdfsZooInstance_Explicit() throws Exception { testSetInstance_HdfsZooInstance(true, false, false); } + @Test public void testSetInstance_HdfsZooInstance_InstanceGiven() throws Exception { testSetInstance_HdfsZooInstance(false, true, false); } + @Test public void testSetInstance_HdfsZooInstance_HostsGiven() throws Exception { testSetInstance_HdfsZooInstance(false, false, true); } + @Test public void testSetInstance_HdfsZooInstance_Implicit() throws Exception { testSetInstance_HdfsZooInstance(false, false, false); } - - @SuppressWarnings(deprecation) - private void testSetInstance_HdfsZooInstance(boolean explicitHdfs, boolean onlyInstance, boolean onlyHosts) -throws Exception { + + private void testSetInstance_HdfsZooInstance(boolean explicitHdfs, boolean onlyInstance, boolean onlyHosts) throws Exception { ClientConfiguration clientConf = createMock(ClientConfiguration.class); ShellOptionsJC opts = createMock(ShellOptionsJC.class); expect(opts.isFake()).andReturn(false); expect(opts.getClientConfiguration()).andReturn(clientConf); expect(opts.isHdfsZooInstance()).andReturn(explicitHdfs); if (!explicitHdfs) { - expect(opts.getZooKeeperInstance()) -.andReturn(Collections.StringemptyList()); + expect(opts.getZooKeeperInstance()).andReturn(Collections.String emptyList()); if (onlyInstance) {
git commit: ACCUMULO-3204 Remove old, unused classes
Repository: accumulo Updated Branches: refs/heads/master 4ce6ee907 - f4cf6e6e4 ACCUMULO-3204 Remove old, unused classes Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/f4cf6e6e Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/f4cf6e6e Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/f4cf6e6e Branch: refs/heads/master Commit: f4cf6e6e43f290bd1adf1eecdefe4b29f0a0012a Parents: 4ce6ee9 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 3 21:20:28 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Mon Oct 6 15:26:05 2014 -0400 -- .../file/blockfile/cache/SimpleBlockCache.java | 122 -- .../bcfile/BoundedByteArrayOutputStream.java| 94 --- .../core/file/rfile/bcfile/ByteArray.java | 89 --- .../core/master/MasterNotRunningException.java | 35 - .../core/trace/InstanceUserPassword.java| 33 .../apache/accumulo/core/util/BinaryTree.java | 85 -- .../accumulo/core/util/BulkImportHelper.java| 27 .../core/util/ByteArrayBackedCharSequence.java | 71 - .../org/apache/accumulo/core/util/Merge.java| 59 +++ .../master/balancer/DefaultLoadBalancer.java| 63 .../accumulo/master/TServerLockWatcher.java | 43 - .../accumulo/tserver/EndOfTableException.java | 26 --- .../accumulo/tserver/TabletServerConstants.java | 28 .../apache/accumulo/tserver/tablet/Tablet.java | 157 ++- 14 files changed, 138 insertions(+), 794 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/f4cf6e6e/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/SimpleBlockCache.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/SimpleBlockCache.java b/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/SimpleBlockCache.java deleted file mode 100644 index c00061a..000 --- a/core/src/main/java/org/apache/accumulo/core/file/blockfile/cache/SimpleBlockCache.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with this - * work for additional information regarding copyright ownership. The ASF - * licenses this file to you under the Apache License, Version 2.0 (the - * License); you may not use this file except in compliance with the - * License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - */ - -package org.apache.accumulo.core.file.blockfile.cache; - -import java.lang.ref.ReferenceQueue; -import java.lang.ref.SoftReference; -import java.util.HashMap; -import java.util.Map; - -/** - * Simple one RFile soft reference cache. - */ -public class SimpleBlockCache implements BlockCache { - - private static class SimpleCacheEntry implements CacheEntry { - -private byte[] buffer; -private Object index; - -SimpleCacheEntry(byte[] buffer) { - this.buffer = buffer; -} - -@Override -public byte[] getBuffer() { - return buffer; -} - -@Override -public Object getIndex() { - return index; -} - -@Override -public void setIndex(Object idx) { - this.index = idx; -} - - } - - private static class Ref extends SoftReferenceSimpleCacheEntry { -public String blockId; - -public Ref(String blockId, SimpleCacheEntry sce, ReferenceQueueSimpleCacheEntry q) { - super(sce, q); - this.blockId = blockId; -} - } - - private MapString,Ref cache = new HashMapString,Ref(); - - private ReferenceQueueSimpleCacheEntry q = new ReferenceQueueSimpleCacheEntry(); - public int dumps = 0; - - /** - * Constructor - */ - public SimpleBlockCache() { -super(); - } - - void processQueue() { -Ref r; -while ((r = (Ref) q.poll()) != null) { - cache.remove(r.blockId); - dumps++; -} - } - - /** - * @return the size - */ - public synchronized int size() { -processQueue(); -return cache.size(); - } - - public synchronized SimpleCacheEntry getBlock(String blockName) { -processQueue(); // clear out some crap. -Ref ref = cache.get(blockName); -if (ref == null) - return null; -return ref.get(); - } - - public synchronized
[2/3] git commit: ACCUMULO-3182 Fix javadoc (link to non-visible member)
ACCUMULO-3182 Fix javadoc (link to non-visible member) Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/4a5bd7ef Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/4a5bd7ef Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/4a5bd7ef Branch: refs/heads/master Commit: 4a5bd7ef6ec1f0ae165733cf65bbc915b91e8532 Parents: 8cda2d6 Author: Christopher Tubbs ctubb...@apache.org Authored: Tue Oct 7 13:08:44 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Tue Oct 7 13:08:44 2014 -0400 -- .../main/java/org/apache/accumulo/server/log/SortedLogState.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/4a5bd7ef/server/base/src/main/java/org/apache/accumulo/server/log/SortedLogState.java -- diff --git a/server/base/src/main/java/org/apache/accumulo/server/log/SortedLogState.java b/server/base/src/main/java/org/apache/accumulo/server/log/SortedLogState.java index f337cd8..49d744e 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/log/SortedLogState.java +++ b/server/base/src/main/java/org/apache/accumulo/server/log/SortedLogState.java @@ -19,7 +19,7 @@ package org.apache.accumulo.server.log; import org.apache.hadoop.fs.Path; /** - * A file is written in the destination directory for the sorting of write-ahead logs that need recovering. The value of {@link #marker} is the name of the file + * A file is written in the destination directory for the sorting of write-ahead logs that need recovering. The value of {@link #getMarker()} is the name of the file * that will exist in the sorted output directory. */ public enum SortedLogState { @@ -63,4 +63,4 @@ public enum SortedLogState { public String toString() { return marker; } -} \ No newline at end of file +}
[1/3] git commit: ACCUMULO-3182 Fix javadoc (link to non-visible member)
Repository: accumulo Updated Branches: refs/heads/1.6 8cda2d645 - 4a5bd7ef6 refs/heads/master 359c21090 - f6b83ee50 ACCUMULO-3182 Fix javadoc (link to non-visible member) Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/4a5bd7ef Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/4a5bd7ef Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/4a5bd7ef Branch: refs/heads/1.6 Commit: 4a5bd7ef6ec1f0ae165733cf65bbc915b91e8532 Parents: 8cda2d6 Author: Christopher Tubbs ctubb...@apache.org Authored: Tue Oct 7 13:08:44 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Tue Oct 7 13:08:44 2014 -0400 -- .../main/java/org/apache/accumulo/server/log/SortedLogState.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/4a5bd7ef/server/base/src/main/java/org/apache/accumulo/server/log/SortedLogState.java -- diff --git a/server/base/src/main/java/org/apache/accumulo/server/log/SortedLogState.java b/server/base/src/main/java/org/apache/accumulo/server/log/SortedLogState.java index f337cd8..49d744e 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/log/SortedLogState.java +++ b/server/base/src/main/java/org/apache/accumulo/server/log/SortedLogState.java @@ -19,7 +19,7 @@ package org.apache.accumulo.server.log; import org.apache.hadoop.fs.Path; /** - * A file is written in the destination directory for the sorting of write-ahead logs that need recovering. The value of {@link #marker} is the name of the file + * A file is written in the destination directory for the sorting of write-ahead logs that need recovering. The value of {@link #getMarker()} is the name of the file * that will exist in the sorted output directory. */ public enum SortedLogState { @@ -63,4 +63,4 @@ public enum SortedLogState { public String toString() { return marker; } -} \ No newline at end of file +}
[3/3] git commit: Merge branch '1.6'
Merge branch '1.6' Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/f6b83ee5 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/f6b83ee5 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/f6b83ee5 Branch: refs/heads/master Commit: f6b83ee5074d086819bb6c1381cc20bcc970c7eb Parents: 359c210 4a5bd7e Author: Christopher Tubbs ctubb...@apache.org Authored: Tue Oct 7 13:11:36 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Tue Oct 7 13:11:36 2014 -0400 -- .../main/java/org/apache/accumulo/server/log/SortedLogState.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --
[3/3] git commit: Merge branch '1.6'
Merge branch '1.6' Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/b0105661 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/b0105661 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/b0105661 Branch: refs/heads/master Commit: b01056616a3eb8fca64c6074f655cd8a4a94402d Parents: bb97fbf a234def Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 14:39:05 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 14:39:05 2014 -0400 -- test/src/test/java/org/apache/accumulo/test/ImportExportIT.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) --
[1/3] git commit: ACCUMULO-3215 Remove deprecated javadoc link
Repository: accumulo Updated Branches: refs/heads/1.6 f74bd1827 - a234def61 refs/heads/master bb97fbf85 - b01056616 ACCUMULO-3215 Remove deprecated javadoc link Remove unneeded javadoc link to deprecated property in a test to avoid a deprecation warning. Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/a234def6 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/a234def6 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/a234def6 Branch: refs/heads/1.6 Commit: a234def618365d723c19ca8e55825ddc89ce7690 Parents: f74bd18 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 14:32:19 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 14:37:59 2014 -0400 -- test/src/test/java/org/apache/accumulo/test/ImportExportIT.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/a234def6/test/src/test/java/org/apache/accumulo/test/ImportExportIT.java -- diff --git a/test/src/test/java/org/apache/accumulo/test/ImportExportIT.java b/test/src/test/java/org/apache/accumulo/test/ImportExportIT.java index d2de346..c7e0f0e 100644 --- a/test/src/test/java/org/apache/accumulo/test/ImportExportIT.java +++ b/test/src/test/java/org/apache/accumulo/test/ImportExportIT.java @@ -29,7 +29,6 @@ import org.apache.accumulo.core.client.BatchWriter; import org.apache.accumulo.core.client.BatchWriterConfig; import org.apache.accumulo.core.client.Connector; import org.apache.accumulo.core.client.Scanner; -import org.apache.accumulo.core.conf.Property; import org.apache.accumulo.core.data.Key; import org.apache.accumulo.core.data.Mutation; import org.apache.accumulo.core.data.Value; @@ -48,8 +47,8 @@ import com.google.common.io.Files; /** * ImportTable didn't correctly place absolute paths in metadata. This resulted in the imported table only being usable when the actual HDFS directory for - * Accumulo was the same as {@link Property#INSTANCE_DFS_DIR}. If any other HDFS directory was used, any interactions with the table would fail because the - * relative path in the metadata table (created by the ImportTable process) would be converted to a non-existent absolute path. + * Accumulo was the same as Property.INSTANCE_DFS_DIR. If any other HDFS directory was used, any interactions with the table would fail because the relative + * path in the metadata table (created by the ImportTable process) would be converted to a non-existent absolute path. * p * ACCUMULO-3215 *
[2/3] git commit: ACCUMULO-3215 Remove deprecated javadoc link
ACCUMULO-3215 Remove deprecated javadoc link Remove unneeded javadoc link to deprecated property in a test to avoid a deprecation warning. Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/a234def6 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/a234def6 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/a234def6 Branch: refs/heads/master Commit: a234def618365d723c19ca8e55825ddc89ce7690 Parents: f74bd18 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 14:32:19 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 14:37:59 2014 -0400 -- test/src/test/java/org/apache/accumulo/test/ImportExportIT.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/a234def6/test/src/test/java/org/apache/accumulo/test/ImportExportIT.java -- diff --git a/test/src/test/java/org/apache/accumulo/test/ImportExportIT.java b/test/src/test/java/org/apache/accumulo/test/ImportExportIT.java index d2de346..c7e0f0e 100644 --- a/test/src/test/java/org/apache/accumulo/test/ImportExportIT.java +++ b/test/src/test/java/org/apache/accumulo/test/ImportExportIT.java @@ -29,7 +29,6 @@ import org.apache.accumulo.core.client.BatchWriter; import org.apache.accumulo.core.client.BatchWriterConfig; import org.apache.accumulo.core.client.Connector; import org.apache.accumulo.core.client.Scanner; -import org.apache.accumulo.core.conf.Property; import org.apache.accumulo.core.data.Key; import org.apache.accumulo.core.data.Mutation; import org.apache.accumulo.core.data.Value; @@ -48,8 +47,8 @@ import com.google.common.io.Files; /** * ImportTable didn't correctly place absolute paths in metadata. This resulted in the imported table only being usable when the actual HDFS directory for - * Accumulo was the same as {@link Property#INSTANCE_DFS_DIR}. If any other HDFS directory was used, any interactions with the table would fail because the - * relative path in the metadata table (created by the ImportTable process) would be converted to a non-existent absolute path. + * Accumulo was the same as Property.INSTANCE_DFS_DIR. If any other HDFS directory was used, any interactions with the table would fail because the relative + * path in the metadata table (created by the ImportTable process) would be converted to a non-existent absolute path. * p * ACCUMULO-3215 *
[2/6] git commit: ACCUMULO-3224 Use nanoTime in the shell's auth timeout
ACCUMULO-3224 Use nanoTime in the shell's auth timeout Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/085c5b79 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/085c5b79 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/085c5b79 Branch: refs/heads/1.6 Commit: 085c5b793b057b8a28bd2bfcd96ebf03b3ecfc21 Parents: 3cce106 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 17:53:44 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 17:53:44 2014 -0400 -- .../java/org/apache/accumulo/core/util/shell/Shell.java | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/085c5b79/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java index a2834ff..bb3c06e 100644 --- a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java +++ b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java @@ -36,6 +36,7 @@ import java.util.Map.Entry; import java.util.Set; import java.util.TreeMap; import java.util.UUID; +import java.util.concurrent.TimeUnit; import jline.ConsoleReader; import jline.History; @@ -196,7 +197,7 @@ public class Shell extends ShellOptions { private boolean tabCompletion; private boolean disableAuthTimeout; private long authTimeout; - private long lastUserActivity = System.currentTimeMillis(); + private long lastUserActivity = System.nanoTime(); private boolean logErrorsToConsole = false; private PrintWriter writer = null; private boolean masking = false; @@ -229,7 +230,7 @@ public class Shell extends ShellOptions { } setDebugging(cl.hasOption(debugOption.getLongOpt())); - authTimeout = Integer.parseInt(cl.getOptionValue(authTimeoutOpt.getLongOpt(), DEFAULT_AUTH_TIMEOUT)) * 60 * 1000l; + authTimeout = TimeUnit.MINUTES.toNanos(Integer.parseInt(cl.getOptionValue(authTimeoutOpt.getLongOpt(), DEFAULT_AUTH_TIMEOUT))); disableAuthTimeout = cl.hasOption(disableAuthTimeoutOpt.getLongOpt()); if (cl.hasOption(zooKeeperInstance.getOpt()) cl.getOptionValues(zooKeeperInstance.getOpt()).length != 2) @@ -492,7 +493,7 @@ public class Shell extends ShellOptions { if (disableAuthTimeout) sb.append(- Authorization timeout: disabled\n); else - sb.append(- Authorization timeout: ).append(String.format(%.2fs%n, authTimeout / 1000.0)); + sb.append(- Authorization timeout: ).append(String.format(%.2fs%n, TimeUnit.NANOSECONDS.toSeconds(authTimeout))); sb.append(- Debug: ).append(isDebuggingEnabled() ? on : off).append(\n); if (!scanIteratorOptions.isEmpty()) { for (EntryString,ListIteratorSetting entry : scanIteratorOptions.entrySet()) { @@ -548,7 +549,8 @@ public class Shell extends ShellOptions { return; } -if (!(sc instanceof ExitCommand) !ignoreAuthTimeout System.currentTimeMillis() - lastUserActivity authTimeout) { +long duration = System.nanoTime() - lastUserActivity; +if (!(sc instanceof ExitCommand) !ignoreAuthTimeout (duration 0 || duration authTimeout)) { reader.printString(Shell has been idle for too long. Please re-authenticate.\n); boolean authFailed = true; do { @@ -568,7 +570,7 @@ public class Shell extends ShellOptions { if (authFailed) reader.printString(Invalid password. ); } while (authFailed); - lastUserActivity = System.currentTimeMillis(); + lastUserActivity = System.nanoTime(); } // Get the options from the command on how to parse the string
[3/6] git commit: ACCUMULO-3224 Use nanoTime in the shell's auth timeout
ACCUMULO-3224 Use nanoTime in the shell's auth timeout Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/085c5b79 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/085c5b79 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/085c5b79 Branch: refs/heads/master Commit: 085c5b793b057b8a28bd2bfcd96ebf03b3ecfc21 Parents: 3cce106 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 17:53:44 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 17:53:44 2014 -0400 -- .../java/org/apache/accumulo/core/util/shell/Shell.java | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/085c5b79/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java index a2834ff..bb3c06e 100644 --- a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java +++ b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java @@ -36,6 +36,7 @@ import java.util.Map.Entry; import java.util.Set; import java.util.TreeMap; import java.util.UUID; +import java.util.concurrent.TimeUnit; import jline.ConsoleReader; import jline.History; @@ -196,7 +197,7 @@ public class Shell extends ShellOptions { private boolean tabCompletion; private boolean disableAuthTimeout; private long authTimeout; - private long lastUserActivity = System.currentTimeMillis(); + private long lastUserActivity = System.nanoTime(); private boolean logErrorsToConsole = false; private PrintWriter writer = null; private boolean masking = false; @@ -229,7 +230,7 @@ public class Shell extends ShellOptions { } setDebugging(cl.hasOption(debugOption.getLongOpt())); - authTimeout = Integer.parseInt(cl.getOptionValue(authTimeoutOpt.getLongOpt(), DEFAULT_AUTH_TIMEOUT)) * 60 * 1000l; + authTimeout = TimeUnit.MINUTES.toNanos(Integer.parseInt(cl.getOptionValue(authTimeoutOpt.getLongOpt(), DEFAULT_AUTH_TIMEOUT))); disableAuthTimeout = cl.hasOption(disableAuthTimeoutOpt.getLongOpt()); if (cl.hasOption(zooKeeperInstance.getOpt()) cl.getOptionValues(zooKeeperInstance.getOpt()).length != 2) @@ -492,7 +493,7 @@ public class Shell extends ShellOptions { if (disableAuthTimeout) sb.append(- Authorization timeout: disabled\n); else - sb.append(- Authorization timeout: ).append(String.format(%.2fs%n, authTimeout / 1000.0)); + sb.append(- Authorization timeout: ).append(String.format(%.2fs%n, TimeUnit.NANOSECONDS.toSeconds(authTimeout))); sb.append(- Debug: ).append(isDebuggingEnabled() ? on : off).append(\n); if (!scanIteratorOptions.isEmpty()) { for (EntryString,ListIteratorSetting entry : scanIteratorOptions.entrySet()) { @@ -548,7 +549,8 @@ public class Shell extends ShellOptions { return; } -if (!(sc instanceof ExitCommand) !ignoreAuthTimeout System.currentTimeMillis() - lastUserActivity authTimeout) { +long duration = System.nanoTime() - lastUserActivity; +if (!(sc instanceof ExitCommand) !ignoreAuthTimeout (duration 0 || duration authTimeout)) { reader.printString(Shell has been idle for too long. Please re-authenticate.\n); boolean authFailed = true; do { @@ -568,7 +570,7 @@ public class Shell extends ShellOptions { if (authFailed) reader.printString(Invalid password. ); } while (authFailed); - lastUserActivity = System.currentTimeMillis(); + lastUserActivity = System.nanoTime(); } // Get the options from the command on how to parse the string
[1/6] git commit: ACCUMULO-3224 Use nanoTime in the shell's auth timeout
Repository: accumulo Updated Branches: refs/heads/1.5 3cce10696 - 085c5b793 refs/heads/1.6 a269f75ba - 3a73e25f2 refs/heads/master 1c657edf8 - 72336eb81 ACCUMULO-3224 Use nanoTime in the shell's auth timeout Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/085c5b79 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/085c5b79 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/085c5b79 Branch: refs/heads/1.5 Commit: 085c5b793b057b8a28bd2bfcd96ebf03b3ecfc21 Parents: 3cce106 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 17:53:44 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 17:53:44 2014 -0400 -- .../java/org/apache/accumulo/core/util/shell/Shell.java | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/085c5b79/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java index a2834ff..bb3c06e 100644 --- a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java +++ b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java @@ -36,6 +36,7 @@ import java.util.Map.Entry; import java.util.Set; import java.util.TreeMap; import java.util.UUID; +import java.util.concurrent.TimeUnit; import jline.ConsoleReader; import jline.History; @@ -196,7 +197,7 @@ public class Shell extends ShellOptions { private boolean tabCompletion; private boolean disableAuthTimeout; private long authTimeout; - private long lastUserActivity = System.currentTimeMillis(); + private long lastUserActivity = System.nanoTime(); private boolean logErrorsToConsole = false; private PrintWriter writer = null; private boolean masking = false; @@ -229,7 +230,7 @@ public class Shell extends ShellOptions { } setDebugging(cl.hasOption(debugOption.getLongOpt())); - authTimeout = Integer.parseInt(cl.getOptionValue(authTimeoutOpt.getLongOpt(), DEFAULT_AUTH_TIMEOUT)) * 60 * 1000l; + authTimeout = TimeUnit.MINUTES.toNanos(Integer.parseInt(cl.getOptionValue(authTimeoutOpt.getLongOpt(), DEFAULT_AUTH_TIMEOUT))); disableAuthTimeout = cl.hasOption(disableAuthTimeoutOpt.getLongOpt()); if (cl.hasOption(zooKeeperInstance.getOpt()) cl.getOptionValues(zooKeeperInstance.getOpt()).length != 2) @@ -492,7 +493,7 @@ public class Shell extends ShellOptions { if (disableAuthTimeout) sb.append(- Authorization timeout: disabled\n); else - sb.append(- Authorization timeout: ).append(String.format(%.2fs%n, authTimeout / 1000.0)); + sb.append(- Authorization timeout: ).append(String.format(%.2fs%n, TimeUnit.NANOSECONDS.toSeconds(authTimeout))); sb.append(- Debug: ).append(isDebuggingEnabled() ? on : off).append(\n); if (!scanIteratorOptions.isEmpty()) { for (EntryString,ListIteratorSetting entry : scanIteratorOptions.entrySet()) { @@ -548,7 +549,8 @@ public class Shell extends ShellOptions { return; } -if (!(sc instanceof ExitCommand) !ignoreAuthTimeout System.currentTimeMillis() - lastUserActivity authTimeout) { +long duration = System.nanoTime() - lastUserActivity; +if (!(sc instanceof ExitCommand) !ignoreAuthTimeout (duration 0 || duration authTimeout)) { reader.printString(Shell has been idle for too long. Please re-authenticate.\n); boolean authFailed = true; do { @@ -568,7 +570,7 @@ public class Shell extends ShellOptions { if (authFailed) reader.printString(Invalid password. ); } while (authFailed); - lastUserActivity = System.currentTimeMillis(); + lastUserActivity = System.nanoTime(); } // Get the options from the command on how to parse the string
[4/6] git commit: Merge branch '1.5' into 1.6
Merge branch '1.5' into 1.6 Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/3a73e25f Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/3a73e25f Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/3a73e25f Branch: refs/heads/master Commit: 3a73e25f2fd19286aca2390e4bc88623fdb0e0ab Parents: a269f75 085c5b7 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 18:05:31 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 18:05:31 2014 -0400 -- .../java/org/apache/accumulo/core/util/shell/Shell.java | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/3a73e25f/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java -- diff --cc core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java index 7775567,bb3c06e..011ae93 --- a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java +++ b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java @@@ -36,10 -36,10 +36,11 @@@ import java.util.Map.Entry import java.util.Set; import java.util.TreeMap; import java.util.UUID; + import java.util.concurrent.TimeUnit; -import jline.ConsoleReader; -import jline.History; +import jline.console.ConsoleReader; +import jline.console.UserInterruptException; +import jline.console.history.FileHistory; import org.apache.accumulo.core.Constants; import org.apache.accumulo.core.client.AccumuloException; @@@ -236,97 -213,102 +237,97 @@@ public class Shell extends ShellOption this.reader = reader; this.writer = writer; } - + // Not for client use public boolean config(String... args) { - -CommandLine cl; +ShellOptionsJC options = new ShellOptionsJC(); +JCommander jc = new JCommander(); + +jc.setProgramName(accumulo shell); +jc.addObject(options); try { - cl = new BasicParser().parse(opts, args); - if (cl.getArgs().length 0) -throw new ParseException(Unrecognized arguments: + cl.getArgList()); - - if (cl.hasOption(helpOpt.getOpt())) { -configError = true; -printHelp(shell, SHELL_DESCRIPTION, opts); -return true; - } - - setDebugging(cl.hasOption(debugOption.getLongOpt())); - authTimeout = TimeUnit.MINUTES.toNanos(Integer.parseInt(cl.getOptionValue(authTimeoutOpt.getLongOpt(), DEFAULT_AUTH_TIMEOUT))); - disableAuthTimeout = cl.hasOption(disableAuthTimeoutOpt.getLongOpt()); - - if (cl.hasOption(zooKeeperInstance.getOpt()) cl.getOptionValues(zooKeeperInstance.getOpt()).length != 2) -throw new MissingArgumentException(zooKeeperInstance); - -} catch (Exception e) { + jc.parse(args); +} catch (ParameterException e) { configError = true; - printException(e); - printHelp(shell, SHELL_DESCRIPTION, opts); +} + +if (options.isHelpEnabled()) { + configError = true; +} + +if (!configError options.getUnrecognizedOptions() != null) { + configError = true; + logError(Unrecognized Options: + options.getUnrecognizedOptions().toString()); +} + +if (configError) { + jc.usage(); return true; } - + +setDebugging(options.isDebugEnabled()); - authTimeout = options.getAuthTimeout() * 60 * 1000l; // convert minutes to milliseconds ++authTimeout = TimeUnit.MINUTES.toNanos(options.getAuthTimeout()); +disableAuthTimeout = options.isAuthTimeoutDisabled(); + // get the options that were parsed -String sysUser = System.getProperty(user.name); -if (sysUser == null) - sysUser = root; -String user = cl.getOptionValue(usernameOption.getOpt(), sysUser); - -String passw = cl.getOptionValue(passwOption.getOpt(), null); -tabCompletion = !cl.hasOption(tabCompleteOption.getLongOpt()); -String[] loginOptions = cl.getOptionValues(loginOption.getOpt()); - +String user = options.getUsername(); +String password = options.getPassword(); + +tabCompletion = !options.isTabCompletionDisabled(); + // Use a fake (Mock), ZK, or HdfsZK Accumulo instance -setInstance(cl); - +setInstance(options); + +// AuthenticationToken options +token = options.getAuthenticationToken(); +MapString,String loginOptions = options.getTokenProperties(); + // process default parameters if unspecified try { - if (loginOptions != null !cl.hasOption(tokenOption.getOpt())) -throw new IllegalArgumentException(Must supply '- + tokenOption.getOpt() + ' option with '- + loginOption.getOpt() + ' option);
[6/6] git commit: Merge branch '1.6'
Merge branch '1.6' Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/72336eb8 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/72336eb8 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/72336eb8 Branch: refs/heads/master Commit: 72336eb8138fc5a0c9bce2bca394203c9321feb6 Parents: 1c657ed 3a73e25 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 18:18:28 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 18:18:28 2014 -0400 -- .../src/main/java/org/apache/accumulo/shell/Shell.java | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/72336eb8/shell/src/main/java/org/apache/accumulo/shell/Shell.java -- diff --cc shell/src/main/java/org/apache/accumulo/shell/Shell.java index f11a02f,000..56715e6 mode 100644,00..100644 --- a/shell/src/main/java/org/apache/accumulo/shell/Shell.java +++ b/shell/src/main/java/org/apache/accumulo/shell/Shell.java @@@ -1,1227 -1,0 +1,1229 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.shell; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.net.InetAddress; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeMap; +import java.util.UUID; ++import java.util.concurrent.TimeUnit; + +import jline.console.ConsoleReader; +import jline.console.UserInterruptException; +import jline.console.history.FileHistory; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.AccumuloException; +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.Connector; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.client.IteratorSetting; +import org.apache.accumulo.core.client.NamespaceNotFoundException; +import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.client.ZooKeeperInstance; +import org.apache.accumulo.core.client.impl.ServerConfigurationUtil; +import org.apache.accumulo.core.client.impl.Tables; +import org.apache.accumulo.core.client.mock.MockInstance; +import org.apache.accumulo.core.client.security.tokens.AuthenticationToken; +import org.apache.accumulo.core.client.security.tokens.PasswordToken; +import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.conf.DefaultConfiguration; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.conf.SiteConfiguration; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.data.thrift.TConstraintViolationSummary; +import org.apache.accumulo.core.tabletserver.thrift.ConstraintViolationException; +import org.apache.accumulo.core.trace.DistributedTrace; +import org.apache.accumulo.core.util.BadArgumentException; +import org.apache.accumulo.core.util.format.BinaryFormatter; +import org.apache.accumulo.core.util.format.DefaultFormatter; +import org.apache.accumulo.core.util.format.Formatter; +import org.apache.accumulo.core.util.format.FormatterFactory; +import org.apache.accumulo.core.volume.VolumeConfiguration; +import org.apache.accumulo.core.zookeeper.ZooUtil; +import
[5/6] git commit: Merge branch '1.5' into 1.6
Merge branch '1.5' into 1.6 Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/3a73e25f Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/3a73e25f Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/3a73e25f Branch: refs/heads/1.6 Commit: 3a73e25f2fd19286aca2390e4bc88623fdb0e0ab Parents: a269f75 085c5b7 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 18:05:31 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 18:05:31 2014 -0400 -- .../java/org/apache/accumulo/core/util/shell/Shell.java | 12 +++- 1 file changed, 7 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/3a73e25f/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java -- diff --cc core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java index 7775567,bb3c06e..011ae93 --- a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java +++ b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java @@@ -36,10 -36,10 +36,11 @@@ import java.util.Map.Entry import java.util.Set; import java.util.TreeMap; import java.util.UUID; + import java.util.concurrent.TimeUnit; -import jline.ConsoleReader; -import jline.History; +import jline.console.ConsoleReader; +import jline.console.UserInterruptException; +import jline.console.history.FileHistory; import org.apache.accumulo.core.Constants; import org.apache.accumulo.core.client.AccumuloException; @@@ -236,97 -213,102 +237,97 @@@ public class Shell extends ShellOption this.reader = reader; this.writer = writer; } - + // Not for client use public boolean config(String... args) { - -CommandLine cl; +ShellOptionsJC options = new ShellOptionsJC(); +JCommander jc = new JCommander(); + +jc.setProgramName(accumulo shell); +jc.addObject(options); try { - cl = new BasicParser().parse(opts, args); - if (cl.getArgs().length 0) -throw new ParseException(Unrecognized arguments: + cl.getArgList()); - - if (cl.hasOption(helpOpt.getOpt())) { -configError = true; -printHelp(shell, SHELL_DESCRIPTION, opts); -return true; - } - - setDebugging(cl.hasOption(debugOption.getLongOpt())); - authTimeout = TimeUnit.MINUTES.toNanos(Integer.parseInt(cl.getOptionValue(authTimeoutOpt.getLongOpt(), DEFAULT_AUTH_TIMEOUT))); - disableAuthTimeout = cl.hasOption(disableAuthTimeoutOpt.getLongOpt()); - - if (cl.hasOption(zooKeeperInstance.getOpt()) cl.getOptionValues(zooKeeperInstance.getOpt()).length != 2) -throw new MissingArgumentException(zooKeeperInstance); - -} catch (Exception e) { + jc.parse(args); +} catch (ParameterException e) { configError = true; - printException(e); - printHelp(shell, SHELL_DESCRIPTION, opts); +} + +if (options.isHelpEnabled()) { + configError = true; +} + +if (!configError options.getUnrecognizedOptions() != null) { + configError = true; + logError(Unrecognized Options: + options.getUnrecognizedOptions().toString()); +} + +if (configError) { + jc.usage(); return true; } - + +setDebugging(options.isDebugEnabled()); - authTimeout = options.getAuthTimeout() * 60 * 1000l; // convert minutes to milliseconds ++authTimeout = TimeUnit.MINUTES.toNanos(options.getAuthTimeout()); +disableAuthTimeout = options.isAuthTimeoutDisabled(); + // get the options that were parsed -String sysUser = System.getProperty(user.name); -if (sysUser == null) - sysUser = root; -String user = cl.getOptionValue(usernameOption.getOpt(), sysUser); - -String passw = cl.getOptionValue(passwOption.getOpt(), null); -tabCompletion = !cl.hasOption(tabCompleteOption.getLongOpt()); -String[] loginOptions = cl.getOptionValues(loginOption.getOpt()); - +String user = options.getUsername(); +String password = options.getPassword(); + +tabCompletion = !options.isTabCompletionDisabled(); + // Use a fake (Mock), ZK, or HdfsZK Accumulo instance -setInstance(cl); - +setInstance(options); + +// AuthenticationToken options +token = options.getAuthenticationToken(); +MapString,String loginOptions = options.getTokenProperties(); + // process default parameters if unspecified try { - if (loginOptions != null !cl.hasOption(tokenOption.getOpt())) -throw new IllegalArgumentException(Must supply '- + tokenOption.getOpt() + ' option with '- + loginOption.getOpt() + ' option); -
[4/7] git commit: ACCUMULO-3229 Format long as decimal integer, not floating-point
ACCUMULO-3229 Format long as decimal integer, not floating-point Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/891584fb Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/891584fb Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/891584fb Branch: refs/heads/1.6 Commit: 891584fb7dff4e6d7895f2341b9052559144ea70 Parents: 11762c5 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 19:19:20 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 19:19:20 2014 -0400 -- core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/891584fb/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java index bb3c06e..fa0f5d4 100644 --- a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java +++ b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java @@ -493,7 +493,7 @@ public class Shell extends ShellOptions { if (disableAuthTimeout) sb.append(- Authorization timeout: disabled\n); else - sb.append(- Authorization timeout: ).append(String.format(%.2fs%n, TimeUnit.NANOSECONDS.toSeconds(authTimeout))); + sb.append(- Authorization timeout: ).append(String.format(%ds%n, TimeUnit.NANOSECONDS.toSeconds(authTimeout))); sb.append(- Debug: ).append(isDebuggingEnabled() ? on : off).append(\n); if (!scanIteratorOptions.isEmpty()) { for (EntryString,ListIteratorSetting entry : scanIteratorOptions.entrySet()) {
[5/7] git commit: Merge branch '1.5' into 1.6
Merge branch '1.5' into 1.6 Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/28905308 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/28905308 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/28905308 Branch: refs/heads/master Commit: 2890530851433a77cd9df56a7f5abbdf50608817 Parents: 71e5f6b 891584f Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 19:21:29 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 19:21:29 2014 -0400 -- core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/28905308/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java --
[2/7] git commit: ACCUMULO-3229 Format long as decimal integer, not floating-point
ACCUMULO-3229 Format long as decimal integer, not floating-point Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/891584fb Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/891584fb Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/891584fb Branch: refs/heads/1.5 Commit: 891584fb7dff4e6d7895f2341b9052559144ea70 Parents: 11762c5 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 19:19:20 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 19:19:20 2014 -0400 -- core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/891584fb/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java index bb3c06e..fa0f5d4 100644 --- a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java +++ b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java @@ -493,7 +493,7 @@ public class Shell extends ShellOptions { if (disableAuthTimeout) sb.append(- Authorization timeout: disabled\n); else - sb.append(- Authorization timeout: ).append(String.format(%.2fs%n, TimeUnit.NANOSECONDS.toSeconds(authTimeout))); + sb.append(- Authorization timeout: ).append(String.format(%ds%n, TimeUnit.NANOSECONDS.toSeconds(authTimeout))); sb.append(- Debug: ).append(isDebuggingEnabled() ? on : off).append(\n); if (!scanIteratorOptions.isEmpty()) { for (EntryString,ListIteratorSetting entry : scanIteratorOptions.entrySet()) {
[3/7] git commit: ACCUMULO-3229 Format long as decimal integer, not floating-point
ACCUMULO-3229 Format long as decimal integer, not floating-point Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/891584fb Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/891584fb Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/891584fb Branch: refs/heads/master Commit: 891584fb7dff4e6d7895f2341b9052559144ea70 Parents: 11762c5 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 19:19:20 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 19:19:20 2014 -0400 -- core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/891584fb/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java index bb3c06e..fa0f5d4 100644 --- a/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java +++ b/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java @@ -493,7 +493,7 @@ public class Shell extends ShellOptions { if (disableAuthTimeout) sb.append(- Authorization timeout: disabled\n); else - sb.append(- Authorization timeout: ).append(String.format(%.2fs%n, TimeUnit.NANOSECONDS.toSeconds(authTimeout))); + sb.append(- Authorization timeout: ).append(String.format(%ds%n, TimeUnit.NANOSECONDS.toSeconds(authTimeout))); sb.append(- Debug: ).append(isDebuggingEnabled() ? on : off).append(\n); if (!scanIteratorOptions.isEmpty()) { for (EntryString,ListIteratorSetting entry : scanIteratorOptions.entrySet()) {
[1/7] git commit: Merge branch '1.6' of https://git-wip-us.apache.org/repos/asf/accumulo into 1.6
Repository: accumulo Updated Branches: refs/heads/1.5 11762c5fb - 891584fb7 refs/heads/1.6 71e5f6b97 - 289053085 refs/heads/master 46d45774c - 3fba0b543 Merge branch '1.6' of https://git-wip-us.apache.org/repos/asf/accumulo into 1.6 Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/71e5f6b9 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/71e5f6b9 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/71e5f6b9 Branch: refs/heads/master Commit: 71e5f6b97a3420d591ee801568dec26bcf1be13f Parents: f55d0bf 9aca7d7 Author: Eric C. Newton eric.new...@gmail.com Authored: Fri Oct 10 18:54:51 2014 -0400 Committer: Eric C. Newton eric.new...@gmail.com Committed: Fri Oct 10 18:54:51 2014 -0400 -- .../java/org/apache/accumulo/core/security/Authorizations.java | 1 - .../apache/accumulo/core/util/shell/commands/ConfigCommand.java | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) --
[6/7] git commit: Merge branch '1.5' into 1.6
Merge branch '1.5' into 1.6 Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/28905308 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/28905308 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/28905308 Branch: refs/heads/1.6 Commit: 2890530851433a77cd9df56a7f5abbdf50608817 Parents: 71e5f6b 891584f Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 19:21:29 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 19:21:29 2014 -0400 -- core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/28905308/core/src/main/java/org/apache/accumulo/core/util/shell/Shell.java --
[7/7] git commit: Merge branch '1.6'
Merge branch '1.6' Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/3fba0b54 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/3fba0b54 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/3fba0b54 Branch: refs/heads/master Commit: 3fba0b5435791f64e56529c444345b78d41eef25 Parents: 46d4577 2890530 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 19:21:39 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 19:21:39 2014 -0400 -- shell/src/main/java/org/apache/accumulo/shell/Shell.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/3fba0b54/shell/src/main/java/org/apache/accumulo/shell/Shell.java -- diff --cc shell/src/main/java/org/apache/accumulo/shell/Shell.java index 56715e6,000..37bf052 mode 100644,00..100644 --- a/shell/src/main/java/org/apache/accumulo/shell/Shell.java +++ b/shell/src/main/java/org/apache/accumulo/shell/Shell.java @@@ -1,1229 -1,0 +1,1229 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.shell; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.net.InetAddress; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.TreeMap; +import java.util.UUID; +import java.util.concurrent.TimeUnit; + +import jline.console.ConsoleReader; +import jline.console.UserInterruptException; +import jline.console.history.FileHistory; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.AccumuloException; +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.Connector; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.client.IteratorSetting; +import org.apache.accumulo.core.client.NamespaceNotFoundException; +import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.client.ZooKeeperInstance; +import org.apache.accumulo.core.client.impl.ServerConfigurationUtil; +import org.apache.accumulo.core.client.impl.Tables; +import org.apache.accumulo.core.client.mock.MockInstance; +import org.apache.accumulo.core.client.security.tokens.AuthenticationToken; +import org.apache.accumulo.core.client.security.tokens.PasswordToken; +import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.conf.DefaultConfiguration; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.conf.SiteConfiguration; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.data.thrift.TConstraintViolationSummary; +import org.apache.accumulo.core.tabletserver.thrift.ConstraintViolationException; +import org.apache.accumulo.core.trace.DistributedTrace; +import org.apache.accumulo.core.util.BadArgumentException; +import org.apache.accumulo.core.util.format.BinaryFormatter; +import org.apache.accumulo.core.util.format.DefaultFormatter; +import org.apache.accumulo.core.util.format.Formatter; +import org.apache.accumulo.core.util.format.FormatterFactory; +import org.apache.accumulo.core.volume.VolumeConfiguration; +import org.apache.accumulo.core.zookeeper.ZooUtil; +import
git commit: ACCUMULO-3197 Remove deprecated Instance.getConfiguration()
Repository: accumulo Updated Branches: refs/heads/master 3fba0b543 - 8fe826dd1 ACCUMULO-3197 Remove deprecated Instance.getConfiguration() This patch removes the deprecated setter/getter which had poorly-defined behavior in previous versions, and was prone to incorrect use. It replaces it with a less risky getter on ZooKeeperInstance only, and refactors utility code with better names and documentation to help clarify correct usage and limitations. This mitigates some of the problems identified in ACCUMULO-3199, by removing the problematic deprecated public API methods while that issue awaits completion. Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/8fe826dd Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/8fe826dd Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/8fe826dd Branch: refs/heads/master Commit: 8fe826dd119289165cb19e9cdf922bb4ce933324 Parents: 3fba0b5 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 10 20:45:08 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 10 20:45:08 2014 -0400 -- .../apache/accumulo/core/client/Instance.java | 23 --- .../accumulo/core/client/ZooKeeperInstance.java | 18 +-- .../client/impl/ClientConfigurationHelper.java | 143 +++ .../core/client/impl/ConditionalWriterImpl.java | 8 +- .../client/impl/InstanceOperationsImpl.java | 9 +- .../accumulo/core/client/impl/MasterClient.java | 2 +- .../core/client/impl/ReplicationClient.java | 4 +- .../core/client/impl/ScannerIterator.java | 2 +- .../accumulo/core/client/impl/ServerClient.java | 9 +- .../client/impl/ServerConfigurationUtil.java| 120 .../core/client/impl/TableOperationsImpl.java | 8 +- .../impl/TabletServerBatchReaderIterator.java | 2 +- .../client/impl/TabletServerBatchWriter.java| 8 +- .../accumulo/core/client/impl/Writer.java | 2 +- .../accumulo/core/client/mock/MockInstance.java | 17 --- .../core/metadata/MetadataLocationObtainer.java | 11 +- .../impl/ClientConfigurationHelperTest.java | 110 ++ .../impl/ServerConfigurationUtilTest.java | 110 -- .../core/client/impl/TabletLocatorImplTest.java | 15 -- .../minicluster/MiniAccumuloRunner.java | 1 - .../accumulo/server/client/HdfsZooInstance.java | 17 --- .../replication/AccumuloReplicaSystem.java | 3 +- .../replication/ReplicationServicerHandler.java | 3 +- .../java/org/apache/accumulo/shell/Shell.java | 4 +- .../server/security/SystemCredentialsIT.java| 12 -- 25 files changed, 301 insertions(+), 360 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/8fe826dd/core/src/main/java/org/apache/accumulo/core/client/Instance.java -- diff --git a/core/src/main/java/org/apache/accumulo/core/client/Instance.java b/core/src/main/java/org/apache/accumulo/core/client/Instance.java index 8a70d4c..ff6375b 100644 --- a/core/src/main/java/org/apache/accumulo/core/client/Instance.java +++ b/core/src/main/java/org/apache/accumulo/core/client/Instance.java @@ -19,10 +19,8 @@ package org.apache.accumulo.core.client; import java.nio.ByteBuffer; import java.util.List; -import org.apache.accumulo.core.client.admin.InstanceOperations; import org.apache.accumulo.core.client.security.tokens.AuthenticationToken; import org.apache.accumulo.core.client.security.tokens.PasswordToken; -import org.apache.accumulo.core.conf.AccumuloConfiguration; /** * This class represents the information a client needs to know to connect to an instance of accumulo. @@ -123,27 +121,6 @@ public interface Instance { Connector getConnector(String user, CharSequence pass) throws AccumuloException, AccumuloSecurityException; /** - * Returns the AccumuloConfiguration to use when interacting with this instance. - * - * @return the AccumuloConfiguration that specifies properties related to interacting with this instance - * @deprecated since 1.6.0. This method makes very little sense in the context of the client API and never should have been exposed. - * @see InstanceOperations#getSystemConfiguration() for client-side reading of the server-side configuration. - */ - @Deprecated - AccumuloConfiguration getConfiguration(); - - /** - * Set the AccumuloConfiguration to use when interacting with this instance. - * - * @param conf - * accumulo configuration - * @deprecated since 1.6.0. This method makes very little sense in the context of the client API and never should have been exposed. - * @see InstanceOperations#setProperty(String, String) - */ - @Deprecated - void
[2/3] git commit: ACCUMULO-2984 Remove unused javadoc tags (no description)
ACCUMULO-2984 Remove unused javadoc tags (no description) Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/6f3a356b Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/6f3a356b Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/6f3a356b Branch: refs/heads/master Commit: 6f3a356ba8a951e5800d90b9e8f083a08c2f6c00 Parents: e4dbe89 Author: Christopher Tubbs ctubb...@apache.org Authored: Mon Oct 27 17:24:48 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Mon Oct 27 17:26:05 2014 -0400 -- .../java/org/apache/accumulo/server/util/AccumuloStatus.java| 5 - 1 file changed, 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/6f3a356b/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java -- diff --git a/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java b/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java index 7e1cc97..6c7fd47 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java +++ b/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java @@ -28,8 +28,6 @@ public class AccumuloStatus { /** * Determines if there could be an accumulo instance running via zookeeper lock checking * - * @param reader - * * @return true iff all servers show no indication of being registered in zookeeper, otherwise false * @throws IOException * if there are issues connecting to ZooKeeper to determine service status @@ -42,9 +40,6 @@ public class AccumuloStatus { /** * Determines if there could be an accumulo instance running via zookeeper lock checking * - * @param reader - * @param rootPath - * * @return true iff all servers show no indication of being registered in zookeeper, otherwise false * @throws IOException * if there are issues connecting to ZooKeeper to determine service status
[3/3] git commit: Merge branch '1.6'
Merge branch '1.6' Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/65cc3d35 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/65cc3d35 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/65cc3d35 Branch: refs/heads/master Commit: 65cc3d3555f53dc6b15966a2c5d90e7ebbe8138b Parents: 014d9d9 6f3a356 Author: Christopher Tubbs ctubb...@apache.org Authored: Mon Oct 27 17:28:22 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Mon Oct 27 17:28:22 2014 -0400 -- .../java/org/apache/accumulo/server/util/AccumuloStatus.java| 5 - 1 file changed, 5 deletions(-) --
[1/3] git commit: ACCUMULO-2984 Remove unused javadoc tags (no description)
Repository: accumulo Updated Branches: refs/heads/1.6 e4dbe897c - 6f3a356ba refs/heads/master 014d9d955 - 65cc3d355 ACCUMULO-2984 Remove unused javadoc tags (no description) Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/6f3a356b Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/6f3a356b Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/6f3a356b Branch: refs/heads/1.6 Commit: 6f3a356ba8a951e5800d90b9e8f083a08c2f6c00 Parents: e4dbe89 Author: Christopher Tubbs ctubb...@apache.org Authored: Mon Oct 27 17:24:48 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Mon Oct 27 17:26:05 2014 -0400 -- .../java/org/apache/accumulo/server/util/AccumuloStatus.java| 5 - 1 file changed, 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/6f3a356b/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java -- diff --git a/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java b/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java index 7e1cc97..6c7fd47 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java +++ b/server/base/src/main/java/org/apache/accumulo/server/util/AccumuloStatus.java @@ -28,8 +28,6 @@ public class AccumuloStatus { /** * Determines if there could be an accumulo instance running via zookeeper lock checking * - * @param reader - * * @return true iff all servers show no indication of being registered in zookeeper, otherwise false * @throws IOException * if there are issues connecting to ZooKeeper to determine service status @@ -42,9 +40,6 @@ public class AccumuloStatus { /** * Determines if there could be an accumulo instance running via zookeeper lock checking * - * @param reader - * @param rootPath - * * @return true iff all servers show no indication of being registered in zookeeper, otherwise false * @throws IOException * if there are issues connecting to ZooKeeper to determine service status
[4/4] git commit: Merge remote-tracking branch 'origin/master'
Merge remote-tracking branch 'origin/master' Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/64d1bbe9 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/64d1bbe9 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/64d1bbe9 Branch: refs/heads/master Commit: 64d1bbe9ba70b44b6bd6643513726b241814a687 Parents: 05e572b a0ffb3d Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 31 20:29:03 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 31 20:29:03 2014 -0400 -- .../test/replication/CyclicReplicationIT.java | 86 1 file changed, 53 insertions(+), 33 deletions(-) --
[1/4] git commit: ACCUMULO-3280 Clean up Initialize
Repository: accumulo Updated Branches: refs/heads/1.6 09a4f0aa6 - 5e0f6a426 refs/heads/master a0ffb3df2 - 64d1bbe9b ACCUMULO-3280 Clean up Initialize Stop creating unneeded metadata table dirs on every volume. Limit the impact of warnings suppression when using deprecated items. Remove redundant call to configure metadata tables in ZooKeeper. Improve log message for fs.defaultFS being file:/// Remove redundant check for directory existance when creating some dirs. Ensure root tablet dir is UTF-8 encoded in ZooKeeper. Simplify methods to write out initial root tablet content. Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/5e0f6a42 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/5e0f6a42 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/5e0f6a42 Branch: refs/heads/1.6 Commit: 5e0f6a42635471cefee1f5b88d07dfd6060b1cd2 Parents: 09a4f0a Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 31 18:11:28 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 31 18:54:52 2014 -0400 -- .../apache/accumulo/server/ServerConstants.java | 5 - .../apache/accumulo/server/init/Initialize.java | 214 +++ .../java/org/apache/accumulo/master/Master.java | 25 +-- 3 files changed, 93 insertions(+), 151 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/5e0f6a42/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java -- diff --git a/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java b/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java index d4c0b32..51fa47e 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java +++ b/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java @@ -24,7 +24,6 @@ import java.util.HashSet; import java.util.List; import org.apache.accumulo.core.conf.Property; -import org.apache.accumulo.core.metadata.MetadataTable; import org.apache.accumulo.core.util.CachedConfiguration; import org.apache.accumulo.core.util.Pair; import org.apache.accumulo.core.volume.Volume; @@ -145,10 +144,6 @@ public class ServerConstants { return v.prefixChild(VERSION_DIR); } - public static String[] getMetadataTableDirs() { -return VolumeConfiguration.prefix(getTablesDirs(), MetadataTable.ID); - } - public static synchronized ListPairPath,Path getVolumeReplacements() { if (replacementsList == null) { http://git-wip-us.apache.org/repos/asf/accumulo/blob/5e0f6a42/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java -- diff --git a/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java b/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java index 14d5e98..24b5605 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java +++ b/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java @@ -16,6 +16,10 @@ */ package org.apache.accumulo.server.init; +import static org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.ServerColumnFamily.DIRECTORY_COLUMN; +import static org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.ServerColumnFamily.TIME_COLUMN; +import static org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.TabletColumnFamily.PREV_ROW_COLUMN; + import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; @@ -45,12 +49,10 @@ import org.apache.accumulo.core.master.state.tables.TableState; import org.apache.accumulo.core.master.thrift.MasterGoalState; import org.apache.accumulo.core.metadata.MetadataTable; import org.apache.accumulo.core.metadata.RootTable; -import org.apache.accumulo.core.metadata.schema.MetadataSchema; import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection; -import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.DataFileColumnFamily; -import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.LogColumnFamily; import org.apache.accumulo.core.security.SecurityUtil; import org.apache.accumulo.core.util.CachedConfiguration; +import org.apache.accumulo.core.util.ColumnFQ; import org.apache.accumulo.core.volume.VolumeConfiguration; import org.apache.accumulo.core.zookeeper.ZooUtil; import org.apache.accumulo.fate.zookeeper.IZooReaderWriter; @@ -136,8 +138,8 @@ public class Initialize { initialMetadataConf.put(Property.TABLE_FAILURES_IGNORE.getKey(), false); initialMetadataConf.put(Property.TABLE_LOCALITY_GROUP_PREFIX.getKey() +
[2/4] git commit: ACCUMULO-3280 Clean up Initialize
ACCUMULO-3280 Clean up Initialize Stop creating unneeded metadata table dirs on every volume. Limit the impact of warnings suppression when using deprecated items. Remove redundant call to configure metadata tables in ZooKeeper. Improve log message for fs.defaultFS being file:/// Remove redundant check for directory existance when creating some dirs. Ensure root tablet dir is UTF-8 encoded in ZooKeeper. Simplify methods to write out initial root tablet content. Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/5e0f6a42 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/5e0f6a42 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/5e0f6a42 Branch: refs/heads/master Commit: 5e0f6a42635471cefee1f5b88d07dfd6060b1cd2 Parents: 09a4f0a Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 31 18:11:28 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 31 18:54:52 2014 -0400 -- .../apache/accumulo/server/ServerConstants.java | 5 - .../apache/accumulo/server/init/Initialize.java | 214 +++ .../java/org/apache/accumulo/master/Master.java | 25 +-- 3 files changed, 93 insertions(+), 151 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/5e0f6a42/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java -- diff --git a/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java b/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java index d4c0b32..51fa47e 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java +++ b/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java @@ -24,7 +24,6 @@ import java.util.HashSet; import java.util.List; import org.apache.accumulo.core.conf.Property; -import org.apache.accumulo.core.metadata.MetadataTable; import org.apache.accumulo.core.util.CachedConfiguration; import org.apache.accumulo.core.util.Pair; import org.apache.accumulo.core.volume.Volume; @@ -145,10 +144,6 @@ public class ServerConstants { return v.prefixChild(VERSION_DIR); } - public static String[] getMetadataTableDirs() { -return VolumeConfiguration.prefix(getTablesDirs(), MetadataTable.ID); - } - public static synchronized ListPairPath,Path getVolumeReplacements() { if (replacementsList == null) { http://git-wip-us.apache.org/repos/asf/accumulo/blob/5e0f6a42/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java -- diff --git a/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java b/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java index 14d5e98..24b5605 100644 --- a/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java +++ b/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java @@ -16,6 +16,10 @@ */ package org.apache.accumulo.server.init; +import static org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.ServerColumnFamily.DIRECTORY_COLUMN; +import static org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.ServerColumnFamily.TIME_COLUMN; +import static org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.TabletColumnFamily.PREV_ROW_COLUMN; + import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; @@ -45,12 +49,10 @@ import org.apache.accumulo.core.master.state.tables.TableState; import org.apache.accumulo.core.master.thrift.MasterGoalState; import org.apache.accumulo.core.metadata.MetadataTable; import org.apache.accumulo.core.metadata.RootTable; -import org.apache.accumulo.core.metadata.schema.MetadataSchema; import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection; -import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.DataFileColumnFamily; -import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.LogColumnFamily; import org.apache.accumulo.core.security.SecurityUtil; import org.apache.accumulo.core.util.CachedConfiguration; +import org.apache.accumulo.core.util.ColumnFQ; import org.apache.accumulo.core.volume.VolumeConfiguration; import org.apache.accumulo.core.zookeeper.ZooUtil; import org.apache.accumulo.fate.zookeeper.IZooReaderWriter; @@ -136,8 +138,8 @@ public class Initialize { initialMetadataConf.put(Property.TABLE_FAILURES_IGNORE.getKey(), false); initialMetadataConf.put(Property.TABLE_LOCALITY_GROUP_PREFIX.getKey() + tablet, String.format(%s,%s, TabletsSection.TabletColumnFamily.NAME,
[3/4] git commit: Merge branch '1.6'
Merge branch '1.6' Conflicts: server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/05e572b9 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/05e572b9 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/05e572b9 Branch: refs/heads/master Commit: 05e572b92ddbf9e29655a6f71ddc8456d338ac57 Parents: eca6022 5e0f6a4 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 31 20:27:40 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 31 20:27:40 2014 -0400 -- .../apache/accumulo/server/ServerConstants.java | 9 +- .../apache/accumulo/server/init/Initialize.java | 243 +++ .../accumulo/server/util/RandomizeVolumes.java | 16 +- .../java/org/apache/accumulo/master/Master.java | 38 +-- 4 files changed, 115 insertions(+), 191 deletions(-) -- http://git-wip-us.apache.org/repos/asf/accumulo/blob/05e572b9/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java -- diff --cc server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java index f15991f,51fa47e..6c331e0 --- a/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java +++ b/server/base/src/main/java/org/apache/accumulo/server/ServerConstants.java @@@ -25,8 -24,6 +25,7 @@@ import java.util.HashSet import java.util.List; import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.conf.SiteConfiguration; - import org.apache.accumulo.core.metadata.MetadataTable; import org.apache.accumulo.core.util.CachedConfiguration; import org.apache.accumulo.core.util.Pair; import org.apache.accumulo.core.volume.Volume; @@@ -48,32 -46,11 +47,32 @@@ public class ServerConstants public static final Integer WIRE_VERSION = 3; /** - * current version (6) reflects the addition of a separate root table (ACCUMULO-1481) in version 1.6.0 + * version (7) reflects the change in the representation of trace information in TraceRepo */ - public static final int DATA_VERSION = 6; - public static final int PREV_DATA_VERSION = 5; - public static final int TWO_DATA_VERSIONS_AGO = 4; + public static final int DATA_VERSION = 7; + /** + * version (6) reflects the addition of a separate root table (ACCUMULO-1481) in version 1.6.0 + */ + public static final int MOVE_TO_ROOT_TABLE = 6; + /** + * version (5) moves delete file markers for the metadata table into the root tablet + */ + public static final int MOVE_DELETE_MARKERS = 5; + /** + * version (4) moves logging to HDFS in 1.5.0 + */ + public static final int LOGGING_TO_HDFS = 4; - public static final BitSet CAN_UPGRADE = new BitSet(); ++ public static final BitSet CAN_UPGRADE = new BitSet(); + static { - for (int i : new int[]{DATA_VERSION, MOVE_TO_ROOT_TABLE, MOVE_DELETE_MARKERS, LOGGING_TO_HDFS}) { ++for (int i : new int[] {DATA_VERSION, MOVE_TO_ROOT_TABLE, MOVE_DELETE_MARKERS, LOGGING_TO_HDFS}) { + CAN_UPGRADE.set(i); +} + } + public static final BitSet NEEDS_UPGRADE = new BitSet(); + static { +NEEDS_UPGRADE.xor(CAN_UPGRADE); +NEEDS_UPGRADE.clear(DATA_VERSION); + } private static String[] baseUris = null; http://git-wip-us.apache.org/repos/asf/accumulo/blob/05e572b9/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java -- diff --cc server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java index cc2b469,24b5605..1fd9aa3 --- a/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java +++ b/server/base/src/main/java/org/apache/accumulo/server/init/Initialize.java @@@ -16,11 -16,13 +16,15 @@@ */ package org.apache.accumulo.server.init; + import static org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.ServerColumnFamily.DIRECTORY_COLUMN; + import static org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.ServerColumnFamily.TIME_COLUMN; + import static org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.TabletColumnFamily.PREV_ROW_COLUMN; + import java.io.FileNotFoundException; import java.io.IOException; +import java.nio.charset.StandardCharsets; import java.util.Arrays; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.Locale; @@@ -51,13 -49,10 +55,12 @@@ import org.apache.accumulo.core.master. import org.apache.accumulo.core.master.thrift.MasterGoalState; import
[01/50] [abbrv] Merge branch '1.5' into 1.6
Repository: accumulo Updated Branches: refs/heads/1.5 69d665cb4 - 2deabd31a refs/heads/1.6 5e0f6a426 - 9b20a9d40 refs/heads/master 64d1bbe9b - cfbdef134 http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/test/src/test/java/org/apache/accumulo/test/functional/LargeRowIT.java -- diff --cc test/src/test/java/org/apache/accumulo/test/functional/LargeRowIT.java index c07ed1c,000..d77d060 mode 100644,00..100644 --- a/test/src/test/java/org/apache/accumulo/test/functional/LargeRowIT.java +++ b/test/src/test/java/org/apache/accumulo/test/functional/LargeRowIT.java @@@ -1,193 -1,0 +1,194 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.test.functional; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.util.Collections; +import java.util.Map.Entry; +import java.util.Random; +import java.util.TreeSet; + - import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.BatchWriter; +import org.apache.accumulo.core.client.BatchWriterConfig; +import org.apache.accumulo.core.client.Connector; +import org.apache.accumulo.core.client.Scanner; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.Mutation; +import org.apache.accumulo.core.data.Range; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.util.UtilWaitThread; +import org.apache.accumulo.minicluster.MemoryUnit; +import org.apache.accumulo.minicluster.ServerType; +import org.apache.accumulo.minicluster.impl.MiniAccumuloConfigImpl; +import org.apache.accumulo.test.TestIngest; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.io.Text; +import org.apache.log4j.Logger; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class LargeRowIT extends ConfigurableMacIT { + + @Override + public void configure(MiniAccumuloConfigImpl cfg, Configuration hadoopCoreSite) { +cfg.setMemory(ServerType.TABLET_SERVER, cfg.getMemory(ServerType.TABLET_SERVER) * 2, MemoryUnit.BYTE); + cfg.setSiteConfig(Collections.singletonMap(Property.TSERV_MAJC_DELAY.getKey(), 10ms)); + } + + @Override + protected int defaultTimeoutSeconds() { +return 4 * 60; + } + + private static final int SEED = 42; + private static final String REG_TABLE_NAME = lr; + private static final String PRE_SPLIT_TABLE_NAME = lrps; + private static final int NUM_ROWS = 100; + private static final int ROW_SIZE = 1 17; + private static final int NUM_PRE_SPLITS = 9; + private static final int SPLIT_THRESH = ROW_SIZE * NUM_ROWS / NUM_PRE_SPLITS; + + private int timeoutFactor = 1; + + @Before + public void getTimeoutFactor() { +try { + timeoutFactor = Integer.parseInt(System.getProperty(timeout.factor)); +} catch (NumberFormatException e) { + log.warn(Could not parse property value for 'timeout.factor' as integer: + System.getProperty(timeout.factor)); +} + +Assert.assertTrue(Timeout factor must be greater than or equal to 1, timeoutFactor = 1); + } + + @Test + public void run() throws Exception { +Random r = new Random(); +byte rowData[] = new byte[ROW_SIZE]; +r.setSeed(SEED + 1); +TreeSetText splitPoints = new TreeSetText(); +for (int i = 0; i NUM_PRE_SPLITS; i++) { + r.nextBytes(rowData); + TestIngest.toPrintableChars(rowData); + splitPoints.add(new Text(rowData)); +} +Connector c = getConnector(); +c.tableOperations().create(REG_TABLE_NAME); +c.tableOperations().create(PRE_SPLIT_TABLE_NAME); +c.tableOperations().addSplits(PRE_SPLIT_TABLE_NAME, splitPoints); +test1(c); +test2(c); + } + + private void test1(Connector c) throws Exception { + +basicTest(c, REG_TABLE_NAME, 0); + +c.tableOperations().setProperty(REG_TABLE_NAME, Property.TABLE_SPLIT_THRESHOLD.getKey(), + SPLIT_THRESH); + +UtilWaitThread.sleep(timeoutFactor * 12000); +
[08/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/master/src/main/java/org/apache/accumulo/master/tableOps/RenameTable.java -- diff --cc server/master/src/main/java/org/apache/accumulo/master/tableOps/RenameTable.java index b1bbb67,000..4f381ef mode 100644,00..100644 --- a/server/master/src/main/java/org/apache/accumulo/master/tableOps/RenameTable.java +++ b/server/master/src/main/java/org/apache/accumulo/master/tableOps/RenameTable.java @@@ -1,112 -1,0 +1,114 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.master.tableOps; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.client.NamespaceNotFoundException; +import org.apache.accumulo.core.client.impl.Namespaces; +import org.apache.accumulo.core.client.impl.Tables; +import org.apache.accumulo.core.client.impl.thrift.TableOperation; +import org.apache.accumulo.core.client.impl.thrift.TableOperationExceptionType; +import org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException; +import org.apache.accumulo.core.util.Pair; +import org.apache.accumulo.core.zookeeper.ZooUtil; +import org.apache.accumulo.fate.Repo; +import org.apache.accumulo.fate.zookeeper.IZooReaderWriter; +import org.apache.accumulo.fate.zookeeper.IZooReaderWriter.Mutator; +import org.apache.accumulo.master.Master; +import org.apache.accumulo.server.client.HdfsZooInstance; +import org.apache.accumulo.server.zookeeper.ZooReaderWriter; +import org.apache.log4j.Logger; + +public class RenameTable extends MasterRepo { + + private static final long serialVersionUID = 1L; + private String tableId; + private String oldTableName; + private String newTableName; + private String namespaceId; + + @Override + public long isReady(long tid, Master environment) throws Exception { +return Utils.reserveNamespace(namespaceId, tid, false, true, TableOperation.RENAME) + Utils.reserveTable(tableId, tid, true, true, TableOperation.RENAME); + } + + public RenameTable(String tableId, String oldTableName, String newTableName) throws NamespaceNotFoundException { +this.tableId = tableId; +this.oldTableName = oldTableName; +this.newTableName = newTableName; +Instance inst = HdfsZooInstance.getInstance(); +this.namespaceId = Tables.getNamespaceId(inst, tableId); + } + + @Override + public RepoMaster call(long tid, Master master) throws Exception { + +Instance instance = master.getInstance(); +PairString,String qualifiedOldTableName = Tables.qualify(oldTableName); +PairString,String qualifiedNewTableName = Tables.qualify(newTableName); + +// ensure no attempt is made to rename across namespaces +if (newTableName.contains(.) !namespaceId.equals(Namespaces.getNamespaceId(instance, qualifiedNewTableName.getFirst( + throw new ThriftTableOperationException(tableId, oldTableName, TableOperation.RENAME, TableOperationExceptionType.INVALID_NAME, + Namespace in new table name does not match the old table name); + +IZooReaderWriter zoo = ZooReaderWriter.getInstance(); + +Utils.tableNameLock.lock(); +try { + Utils.checkTableDoesNotExist(instance, newTableName, tableId, TableOperation.RENAME); + + final String newName = qualifiedNewTableName.getSecond(); + final String oldName = qualifiedOldTableName.getSecond(); + + final String tap = ZooUtil.getRoot(instance) + Constants.ZTABLES + / + tableId + Constants.ZTABLE_NAME; + + zoo.mutate(tap, null, null, new Mutator() { +@Override +public byte[] mutate(byte[] current) throws Exception { - final String currentName = new String(current, Constants.UTF8); ++ final String currentName = new String(current, UTF_8); + if (currentName.equals(newName)) +return null; // assume in this case the operation is running again, so we are done + if (!currentName.equals(oldName)) { +throw new
[07/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ShellServlet.java -- diff --cc server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ShellServlet.java index 665b132,000..4975428 mode 100644,00..100644 --- a/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ShellServlet.java +++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ShellServlet.java @@@ -1,356 -1,0 +1,357 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.monitor.servlets; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import jline.console.ConsoleReader; + - import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.util.shell.Shell; + +public class ShellServlet extends BasicServlet { + private static final long serialVersionUID = 1L; + private MapString,ShellExecutionThread userShells = new HashMapString,ShellExecutionThread(); + private ExecutorService service = Executors.newCachedThreadPool(); + + public static final String CSRF_KEY = csrf_token; + + @Override + protected String getTitle(HttpServletRequest req) { +return Shell; + } + + @Override + protected void pageBody(HttpServletRequest req, HttpServletResponse response, StringBuilder sb) throws IOException { +HttpSession session = req.getSession(true); +final String CSRF_TOKEN; +if (null == session.getAttribute(CSRF_KEY)) { + // No token, make one + CSRF_TOKEN = UUID.randomUUID().toString(); + session.setAttribute(CSRF_KEY, CSRF_TOKEN); +} else { + // Pull the token out of the session + CSRF_TOKEN = (String) session.getAttribute(CSRF_KEY); + if (null == CSRF_TOKEN) { +throw new RuntimeException(No valid CSRF token exists in session); + } +} + +String user = (String) session.getAttribute(user); +if (user == null) { + // user attribute is null, check to see if username and password are passed as parameters + user = req.getParameter(user); + String pass = req.getParameter(pass); + String mock = req.getParameter(mock); + if (user == null || pass == null) { +// username or password are null, re-authenticate +sb.append(authenticationForm(req.getRequestURI(), CSRF_TOKEN)); +return; + } + try { +// get a new shell for this user +ShellExecutionThread shellThread = new ShellExecutionThread(user, pass, mock); +service.submit(shellThread); +userShells.put(session.getId(), shellThread); + } catch (IOException e) { +// error validating user, reauthenticate +sb.append(div id='loginError'Invalid user/password/div + authenticationForm(req.getRequestURI(), CSRF_TOKEN)); +return; + } + session.setAttribute(user, user); +} +if (!userShells.containsKey(session.getId())) { + // no existing shell for this user, re-authenticate + sb.append(authenticationForm(req.getRequestURI(), UUID.randomUUID().toString())); + return; +} + +ShellExecutionThread shellThread = userShells.get(session.getId()); +shellThread.getOutput(); +shellThread.printInfo(); +sb.append(div id='shell'\n); +sb.append(pre id='shellResponse').append(shellThread.getOutput()).append(/pre\n); +sb.append(formspan id='shellPrompt').append(shellThread.getPrompt()); +sb.append(/spaninput type='text' name='cmd' id='cmd' onkeydown='return handleKeyDown(event.keyCode);'\n); +
[06/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java -- diff --cc server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java index 0778f5b,000..3459069 mode 100644,00..100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java @@@ -1,3857 -1,0 +1,3859 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.tserver; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.io.ByteArrayInputStream; +import java.io.DataInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.PriorityQueue; +import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicReference; +import java.util.concurrent.locks.ReentrantLock; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.Connector; +import org.apache.accumulo.core.client.IteratorSetting; +import org.apache.accumulo.core.client.impl.ScannerImpl; +import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.conf.ConfigurationCopy; +import org.apache.accumulo.core.conf.ConfigurationObserver; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.constraints.Violations; +import org.apache.accumulo.core.data.ByteSequence; +import org.apache.accumulo.core.data.Column; +import org.apache.accumulo.core.data.ColumnUpdate; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.KeyExtent; +import org.apache.accumulo.core.data.KeyValue; +import org.apache.accumulo.core.data.Mutation; +import org.apache.accumulo.core.data.Range; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.data.thrift.IterInfo; +import org.apache.accumulo.core.data.thrift.MapFileInfo; +import org.apache.accumulo.core.file.FileOperations; +import org.apache.accumulo.core.file.FileSKVIterator; +import org.apache.accumulo.core.iterators.IterationInterruptedException; +import org.apache.accumulo.core.iterators.IteratorEnvironment; +import org.apache.accumulo.core.iterators.IteratorUtil; +import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope; +import org.apache.accumulo.core.iterators.SortedKeyValueIterator; +import org.apache.accumulo.core.iterators.system.ColumnFamilySkippingIterator; +import org.apache.accumulo.core.iterators.system.ColumnQualifierFilter; +import org.apache.accumulo.core.iterators.system.DeletingIterator; +import org.apache.accumulo.core.iterators.system.InterruptibleIterator; +import org.apache.accumulo.core.iterators.system.MultiIterator; +import org.apache.accumulo.core.iterators.system.SourceSwitchingIterator; +import org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.DataSource; +import org.apache.accumulo.core.iterators.system.StatsIterator; +import org.apache.accumulo.core.iterators.system.VisibilityFilter; +import org.apache.accumulo.core.master.thrift.TabletLoadState; +import org.apache.accumulo.core.metadata.MetadataTable; +import org.apache.accumulo.core.metadata.RootTable; +import org.apache.accumulo.core.metadata.schema.DataFileValue; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.DataFileColumnFamily; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.LogColumnFamily; +import
[05/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java -- diff --cc server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java index 03fe069,000..94be0bb mode 100644,00..100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java @@@ -1,3928 -1,0 +1,3929 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.tserver; + ++import static com.google.common.base.Charsets.UTF_8; +import static org.apache.accumulo.server.problems.ProblemType.TABLET_LOAD; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.net.Socket; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.security.SecureRandom; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.EnumMap; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.SortedMap; +import java.util.SortedSet; +import java.util.TimerTask; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingDeque; +import java.util.concurrent.CancellationException; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.RunnableFuture; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicReference; + +import javax.management.ObjectName; +import javax.management.StandardMBean; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.AccumuloException; +import org.apache.accumulo.core.client.AccumuloSecurityException; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.client.impl.CompressedIterators; +import org.apache.accumulo.core.client.impl.CompressedIterators.IterConfig; +import org.apache.accumulo.core.client.impl.ScannerImpl; +import org.apache.accumulo.core.client.impl.Tables; +import org.apache.accumulo.core.client.impl.TabletType; +import org.apache.accumulo.core.client.impl.Translator; +import org.apache.accumulo.core.client.impl.Translator.TKeyExtentTranslator; +import org.apache.accumulo.core.client.impl.Translator.TRangeTranslator; +import org.apache.accumulo.core.client.impl.Translators; +import org.apache.accumulo.core.client.impl.thrift.SecurityErrorCode; +import org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException; +import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.constraints.Constraint.Environment; +import org.apache.accumulo.core.constraints.Violations; +import org.apache.accumulo.core.data.ByteSequence; +import org.apache.accumulo.core.data.Column; +import org.apache.accumulo.core.data.ConstraintViolationSummary; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.KeyExtent; +import org.apache.accumulo.core.data.Mutation; +import org.apache.accumulo.core.data.Range; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.data.thrift.InitialMultiScan; +import org.apache.accumulo.core.data.thrift.InitialScan; +import org.apache.accumulo.core.data.thrift.IterInfo; +import org.apache.accumulo.core.data.thrift.MapFileInfo; +import org.apache.accumulo.core.data.thrift.MultiScanResult; +import
[02/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/test/src/test/java/org/apache/accumulo/test/VolumeIT.java -- diff --cc test/src/test/java/org/apache/accumulo/test/VolumeIT.java index a338d5f,000..d5c940d mode 100644,00..100644 --- a/test/src/test/java/org/apache/accumulo/test/VolumeIT.java +++ b/test/src/test/java/org/apache/accumulo/test/VolumeIT.java @@@ -1,553 -1,0 +1,553 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.test; + ++import static com.google.common.base.Charsets.UTF_8; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.net.URI; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map.Entry; +import java.util.SortedSet; +import java.util.TreeSet; + - import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.AccumuloException; +import org.apache.accumulo.core.client.AccumuloSecurityException; +import org.apache.accumulo.core.client.BatchWriter; +import org.apache.accumulo.core.client.BatchWriterConfig; +import org.apache.accumulo.core.client.Connector; +import org.apache.accumulo.core.client.MutationsRejectedException; +import org.apache.accumulo.core.client.Scanner; +import org.apache.accumulo.core.client.TableExistsException; +import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.client.ZooKeeperInstance; +import org.apache.accumulo.core.client.admin.DiskUsage; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.KeyExtent; +import org.apache.accumulo.core.data.Mutation; +import org.apache.accumulo.core.data.Range; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.metadata.MetadataTable; +import org.apache.accumulo.core.metadata.RootTable; +import org.apache.accumulo.core.metadata.schema.MetadataSchema; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.DataFileColumnFamily; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.security.TablePermission; +import org.apache.accumulo.core.util.CachedConfiguration; +import org.apache.accumulo.core.zookeeper.ZooUtil; +import org.apache.accumulo.minicluster.impl.MiniAccumuloConfigImpl; +import org.apache.accumulo.server.ServerConstants; +import org.apache.accumulo.server.init.Initialize; +import org.apache.accumulo.server.util.Admin; +import org.apache.accumulo.test.functional.ConfigurableMacIT; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileStatus; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.fs.RawLocalFileSystem; +import org.apache.hadoop.io.Text; +import org.apache.zookeeper.ZooKeeper; +import org.junit.Assert; +import org.junit.Test; + +public class VolumeIT extends ConfigurableMacIT { + + private static final Text EMPTY = new Text(); + private static final Value EMPTY_VALUE = new Value(new byte[] {}); + private File volDirBase; + private Path v1, v2; + + @Override + protected int defaultTimeoutSeconds() { +return 5 * 60; + } + + @SuppressWarnings(deprecation) + @Override + public void configure(MiniAccumuloConfigImpl cfg, Configuration hadoopCoreSite) { +File baseDir = cfg.getDir(); +volDirBase = new File(baseDir, volumes); +File v1f = new File(volDirBase, v1); +File v2f = new File(volDirBase, v2); +v1f.mkdir(); +v2f.mkdir(); +v1 = new Path(file:// + v1f.getAbsolutePath()); +v2 = new Path(file:// + v2f.getAbsolutePath()); + +// Run MAC on two locations in the local file system +URI v1Uri = v1.toUri(); +cfg.setProperty(Property.INSTANCE_DFS_DIR, v1Uri.getPath()); +cfg.setProperty(Property.INSTANCE_DFS_URI,
[03/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/test/src/test/java/org/apache/accumulo/test/AuditMessageIT.java -- diff --cc test/src/test/java/org/apache/accumulo/test/AuditMessageIT.java index e44d8df,000..49b5d70 mode 100644,00..100644 --- a/test/src/test/java/org/apache/accumulo/test/AuditMessageIT.java +++ b/test/src/test/java/org/apache/accumulo/test/AuditMessageIT.java @@@ -1,496 -1,0 +1,496 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.test; + ++import static com.google.common.base.Charsets.UTF_8; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Map; +import java.util.Set; + - import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.AccumuloException; +import org.apache.accumulo.core.client.AccumuloSecurityException; +import org.apache.accumulo.core.client.BatchScanner; +import org.apache.accumulo.core.client.BatchWriter; +import org.apache.accumulo.core.client.BatchWriterConfig; +import org.apache.accumulo.core.client.Connector; +import org.apache.accumulo.core.client.Scanner; +import org.apache.accumulo.core.client.TableExistsException; +import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.client.security.tokens.PasswordToken; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.Mutation; +import org.apache.accumulo.core.data.Range; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.security.SystemPermission; +import org.apache.accumulo.core.security.TablePermission; +import org.apache.accumulo.minicluster.impl.MiniAccumuloClusterImpl; +import org.apache.accumulo.minicluster.impl.MiniAccumuloConfigImpl; +import org.apache.accumulo.server.security.AuditedSecurityOperation; +import org.apache.accumulo.test.functional.ConfigurableMacIT; +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.LineIterator; +import org.apache.hadoop.io.Text; +import org.junit.Before; +import org.junit.Test; + +/** + * Tests that Accumulo is outputting audit messages as expected. Since this is using MiniAccumuloCluster, it could take a while if we test everything in + * isolation. We test blocks of related operations, run the whole test in one MiniAccumulo instance, trying to clean up objects between each test. The + * MiniAccumuloClusterTest sets up the log4j stuff differently to an installed instance, instead piping everything through stdout and writing to a set location + * so we have to find the logs and grep the bits we need out. + */ +public class AuditMessageIT extends ConfigurableMacIT { + + private static final String AUDIT_USER_1 = AuditUser1; + private static final String AUDIT_USER_2 = AuditUser2; + private static final String PASSWORD = password; + private static final String OLD_TEST_TABLE_NAME = apples; + private static final String NEW_TEST_TABLE_NAME = oranges; + private static final String THIRD_TEST_TABLE_NAME = pears; + private static final Authorizations auths = new Authorizations(private, public); + + @Override + public int defaultTimeoutSeconds() { +return 60; + } + + @Override + public void beforeClusterStart(MiniAccumuloConfigImpl cfg) throws Exception { +new File(cfg.getConfDir(), auditLog.xml).delete(); + } + + // Must be static to survive Junit re-initialising the class every time. + private static String lastAuditTimestamp; + private Connector auditConnector; + private Connector conn; + + private static ArrayListString findAuditMessage(ArrayListString input, String pattern) { +ArrayListString result = new ArrayListString(); +for (String s : input) { + if (s.matches(.* + pattern + .*)) +result.add(s); +} +return result; + } + + /** + * Returns a List of Audit messages
[09/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/master/src/main/java/org/apache/accumulo/master/tableOps/BulkImport.java -- diff --cc server/master/src/main/java/org/apache/accumulo/master/tableOps/BulkImport.java index 1226806,000..10cf224 mode 100644,00..100644 --- a/server/master/src/main/java/org/apache/accumulo/master/tableOps/BulkImport.java +++ b/server/master/src/main/java/org/apache/accumulo/master/tableOps/BulkImport.java @@@ -1,617 -1,0 +1,619 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.master.tableOps; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map.Entry; +import java.util.Set; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; +import java.util.concurrent.ThreadPoolExecutor; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.Connector; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.client.IsolatedScanner; +import org.apache.accumulo.core.client.Scanner; +import org.apache.accumulo.core.client.impl.ServerClient; +import org.apache.accumulo.core.client.impl.Tables; +import org.apache.accumulo.core.client.impl.thrift.ClientService; +import org.apache.accumulo.core.client.impl.thrift.ClientService.Client; +import org.apache.accumulo.core.client.impl.thrift.TableOperation; +import org.apache.accumulo.core.client.impl.thrift.TableOperationExceptionType; +import org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.conf.SiteConfiguration; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.KeyExtent; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.file.FileOperations; +import org.apache.accumulo.core.master.state.tables.TableState; +import org.apache.accumulo.core.metadata.MetadataTable; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.util.Pair; +import org.apache.accumulo.core.util.SimpleThreadPool; +import org.apache.accumulo.core.util.UtilWaitThread; +import org.apache.accumulo.fate.Repo; +import org.apache.accumulo.master.Master; +import org.apache.accumulo.server.ServerConstants; +import org.apache.accumulo.server.client.HdfsZooInstance; +import org.apache.accumulo.server.conf.ServerConfiguration; +import org.apache.accumulo.server.fs.FileRef; +import org.apache.accumulo.server.fs.VolumeManager; +import org.apache.accumulo.server.master.LiveTServerSet.TServerConnection; +import org.apache.accumulo.server.master.state.TServerInstance; +import org.apache.accumulo.server.security.SystemCredentials; +import org.apache.accumulo.server.tablets.UniqueNameAllocator; +import org.apache.accumulo.server.util.MetadataTableUtil; +import org.apache.accumulo.server.zookeeper.DistributedWorkQueue; +import org.apache.accumulo.server.zookeeper.TransactionWatcher.ZooArbitrator; +import org.apache.accumulo.trace.instrument.TraceExecutorService; +import org.apache.accumulo.trace.instrument.Tracer; +import org.apache.hadoop.fs.FSDataInputStream; +import org.apache.hadoop.fs.FSDataOutputStream; +import org.apache.hadoop.fs.FileStatus; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.io.MapFile; +import org.apache.hadoop.io.Text; +import org.apache.log4j.Logger; +import org.apache.thrift.TException; + +/* + * Bulk import makes requests of tablet servers, and those requests can take a + * long time. Our
[42/50] [abbrv] git commit: Merge branch '1.5' into 1.6
Merge branch '1.5' into 1.6 Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/9b20a9d4 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/9b20a9d4 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/9b20a9d4 Branch: refs/heads/1.6 Commit: 9b20a9d4062f9ac0d34ce4b2acd7b9b72524a84f Parents: 5e0f6a4 2deabd3 Author: Christopher Tubbs ctubb...@apache.org Authored: Fri Oct 31 23:37:27 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Fri Oct 31 23:37:27 2014 -0400 -- assemble/bin/bootstrap_config.sh| 2 +- .../org/apache/accumulo/core/Constants.java | 13 +- .../apache/accumulo/core/cli/ClientOpts.java| 6 ++- .../accumulo/core/client/BatchWriterConfig.java | 11 ++--- .../accumulo/core/client/ZooKeeperInstance.java | 14 --- .../client/impl/InstanceOperationsImpl.java | 4 +- .../accumulo/core/client/impl/Namespaces.java | 6 ++- .../accumulo/core/client/impl/ServerClient.java | 4 +- .../core/client/impl/TableOperationsImpl.java | 32 --- .../accumulo/core/client/impl/Tables.java | 10 +++-- .../accumulo/core/client/impl/Writer.java | 5 ++- .../core/client/lexicoder/StringLexicoder.java | 6 +-- .../core/client/mapreduce/RangeInputSplit.java | 7 ++-- .../mapreduce/lib/impl/ConfiguratorBase.java| 4 +- .../mapreduce/lib/impl/InputConfigurator.java | 8 ++-- .../mapreduce/lib/impl/OutputConfigurator.java | 7 ++-- .../lib/partition/RangePartitioner.java | 7 ++-- .../accumulo/core/client/mock/MockShell.java| 11 ++--- .../client/security/tokens/PasswordToken.java | 5 ++- .../accumulo/core/conf/ConfigurationDocGen.java | 9 ++-- .../accumulo/core/data/ArrayByteSequence.java | 8 ++-- .../org/apache/accumulo/core/data/Column.java | 6 +-- .../apache/accumulo/core/data/Condition.java| 9 ++-- .../org/apache/accumulo/core/data/Value.java| 4 +- .../accumulo/core/file/BloomFilterLayer.java| 7 ++-- .../core/iterators/ColumnFamilyCounter.java | 5 ++- .../accumulo/core/iterators/LongCombiner.java | 7 ++-- .../accumulo/core/iterators/conf/ColumnSet.java | 7 ++-- .../core/iterators/user/BigDecimalCombiner.java | 7 ++-- .../core/iterators/user/GrepIterator.java | 5 ++- .../iterators/user/IntersectingIterator.java| 7 ++-- .../core/iterators/user/LargeRowFilter.java | 5 ++- .../core/iterators/user/RegExFilter.java| 7 ++-- .../iterators/user/RowDeletingIterator.java | 5 ++- .../iterators/user/SummingArrayCombiner.java| 7 ++-- .../iterators/user/TransformingIterator.java| 7 ++-- .../core/iterators/user/VisibilityFilter.java | 5 ++- .../accumulo/core/security/Authorizations.java | 13 +++--- .../core/security/ColumnVisibility.java | 43 ++-- .../accumulo/core/security/Credentials.java | 11 ++--- .../core/security/VisibilityConstraint.java | 5 ++- .../core/security/VisibilityParseException.java | 6 +-- .../core/trace/InstanceUserPassword.java| 5 ++- .../accumulo/core/trace/ZooTraceClient.java | 5 ++- .../core/util/ByteArrayBackedCharSequence.java | 5 ++- .../apache/accumulo/core/util/ByteArraySet.java | 6 +-- .../accumulo/core/util/ByteBufferUtil.java | 5 ++- .../apache/accumulo/core/util/CreateToken.java | 5 ++- .../org/apache/accumulo/core/util/Encoding.java | 5 ++- .../apache/accumulo/core/util/FastFormat.java | 4 +- .../org/apache/accumulo/core/util/Merge.java| 5 ++- .../apache/accumulo/core/util/MonitorUtil.java | 4 +- .../org/apache/accumulo/core/util/TextUtil.java | 4 +- .../apache/accumulo/core/util/shell/Shell.java | 6 ++- .../util/shell/commands/AddSplitsCommand.java | 7 ++-- .../shell/commands/AuthenticateCommand.java | 5 ++- .../util/shell/commands/CreateTableCommand.java | 7 ++-- .../util/shell/commands/ExecfileCommand.java| 5 ++- .../core/util/shell/commands/HiddenCommand.java | 5 ++- .../core/util/shell/commands/PasswdCommand.java | 5 ++- .../shell/commands/QuotedStringTokenizer.java | 5 ++- .../core/util/shell/commands/UserCommand.java | 5 ++- .../core/client/BatchWriterConfigTest.java | 6 +-- .../core/client/ZooKeeperInstanceTest.java | 9 ++-- .../core/client/mock/MockNamespacesTest.java| 4 +- .../tokens/CredentialProviderTokenTest.java | 7 ++-- .../security/tokens/PasswordTokenTest.java | 7 ++-- .../accumulo/core/data/ConditionTest.java | 12 +++--- .../core/data/ConditionalMutationTest.java | 10 ++--- .../apache/accumulo/core/data/ValueTest.java| 5 ++- .../core/iterators/user/RegExFilterTest.java| 7 ++-- .../core/security/ColumnVisibilityTest.java | 6 +-- .../accumulo/core/security/CredentialsTest.java | 6 +-- .../core/security/VisibilityConstraintTest.java |
[45/50] [abbrv] Merge branch '1.6'
http://git-wip-us.apache.org/repos/asf/accumulo/blob/cfbdef13/server/tserver/src/test/java/org/apache/accumulo/tserver/replication/ReplicationProcessorTest.java -- diff --cc server/tserver/src/test/java/org/apache/accumulo/tserver/replication/ReplicationProcessorTest.java index e37d78a,000..d389c0b mode 100644,00..100644 --- a/server/tserver/src/test/java/org/apache/accumulo/tserver/replication/ReplicationProcessorTest.java +++ b/server/tserver/src/test/java/org/apache/accumulo/tserver/replication/ReplicationProcessorTest.java @@@ -1,100 -1,0 +1,101 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.tserver.replication; + - import java.nio.charset.StandardCharsets; ++import static java.nio.charset.StandardCharsets.UTF_8; ++ +import java.util.HashMap; +import java.util.Map; + +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.client.replication.ReplicaSystem; +import org.apache.accumulo.core.client.security.tokens.PasswordToken; +import org.apache.accumulo.core.conf.ConfigurationCopy; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.replication.ReplicaSystemHelper; +import org.apache.accumulo.core.replication.ReplicationTarget; +import org.apache.accumulo.core.replication.proto.Replication.Status; +import org.apache.accumulo.core.security.Credentials; +import org.apache.accumulo.server.fs.VolumeManager; +import org.apache.accumulo.server.replication.DistributedWorkQueueWorkAssignerHelper; +import org.apache.hadoop.fs.Path; +import org.easymock.EasyMock; +import org.junit.Assert; +import org.junit.Test; + +/** + * + */ +public class ReplicationProcessorTest { + + @Test + public void peerTypeExtractionFromConfiguration() { +Instance inst = EasyMock.createMock(Instance.class); +VolumeManager fs = EasyMock.createMock(VolumeManager.class); +Credentials creds = new Credentials(foo, new PasswordToken(bar)); + +MapString,String data = new HashMap(); + +String peerName = peer; +String configuration = java.lang.String,foo; +data.put(Property.REPLICATION_PEERS + peerName, configuration); +ConfigurationCopy conf = new ConfigurationCopy(data); + +ReplicationProcessor proc = new ReplicationProcessor(inst, conf, fs, creds); + +Assert.assertEquals(configuration, proc.getPeerType(peerName)); + } + + @Test(expected = IllegalArgumentException.class) + public void noPeerConfigurationThrowsAnException() { +Instance inst = EasyMock.createMock(Instance.class); +VolumeManager fs = EasyMock.createMock(VolumeManager.class); +Credentials creds = new Credentials(foo, new PasswordToken(bar)); + +MapString,String data = new HashMap(); +ConfigurationCopy conf = new ConfigurationCopy(data); + +ReplicationProcessor proc = new ReplicationProcessor(inst, conf, fs, creds); + +proc.getPeerType(foo); + } + + @Test + public void filesWhichMakeNoProgressArentReplicatedAgain() throws Exception { +ReplicaSystem replica = EasyMock.createMock(ReplicaSystem.class); +ReplicaSystemHelper helper = EasyMock.createMock(ReplicaSystemHelper.class); +ReplicationProcessor proc = EasyMock.createMockBuilder(ReplicationProcessor.class).addMockedMethods(getReplicaSystem, doesFileExist, getStatus, getHelper).createMock(); + +ReplicationTarget target = new ReplicationTarget(peer, 1, 1); +Status status = Status.newBuilder().setBegin(0).setEnd(0).setInfiniteEnd(true).setClosed(true).build(); +Path path = new Path(/accumulo); + +String queueKey = DistributedWorkQueueWorkAssignerHelper.getQueueKey(path.toString(), target); + +EasyMock.expect(proc.getReplicaSystem(target)).andReturn(replica); +EasyMock.expect(proc.getStatus(path.toString(), target)).andReturn(status); +EasyMock.expect(proc.doesFileExist(path, target)).andReturn(true); +EasyMock.expect(proc.getHelper()).andReturn(helper); +EasyMock.expect(replica.replicate(path, status, target, helper)).andReturn(status); + +EasyMock.replay(replica, proc); + -
[19/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBase.java -- diff --cc core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBase.java index cf1f0ea,000..da83386 mode 100644,00..100644 --- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBase.java +++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBase.java @@@ -1,407 -1,0 +1,409 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.core.client.mapreduce.lib.impl; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; + +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.Instance; +import org.apache.accumulo.core.client.ZooKeeperInstance; +import org.apache.accumulo.core.client.mock.MockInstance; +import org.apache.accumulo.core.client.security.tokens.AuthenticationToken; +import org.apache.accumulo.core.client.security.tokens.AuthenticationToken.AuthenticationTokenSerializer; +import org.apache.accumulo.core.security.Credentials; +import org.apache.accumulo.core.util.ArgumentChecker; +import org.apache.accumulo.core.util.Base64; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FSDataInputStream; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.util.StringUtils; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; + +/** + * @since 1.6.0 + */ +public class ConfiguratorBase { + + /** + * Configuration keys for {@link Instance#getConnector(String, AuthenticationToken)}. + * + * @since 1.6.0 + */ + public static enum ConnectorInfo { +IS_CONFIGURED, PRINCIPAL, TOKEN, + } + + public static enum TokenSource { +FILE, INLINE; + +private String prefix; + +private TokenSource() { + prefix = name().toLowerCase() + :; +} + +public String prefix() { + return prefix; +} + } + + /** + * Configuration keys for {@link Instance}, {@link ZooKeeperInstance}, and {@link MockInstance}. + * + * @since 1.6.0 + */ + public static enum InstanceOpts { +TYPE, NAME, ZOO_KEEPERS, CLIENT_CONFIG; + } + + /** + * Configuration keys for general configuration options. + * + * @since 1.6.0 + */ + public static enum GeneralOpts { +LOG_LEVEL, +VISIBILITY_CACHE_SIZE + } + + /** + * Provides a configuration key for a given feature enum, prefixed by the implementingClass + * + * @param implementingClass + * the class whose name will be used as a prefix for the property configuration key + * @param e + * the enum used to provide the unique part of the configuration key + * @return the configuration key + * @since 1.6.0 + */ + protected static String enumToConfKey(Class? implementingClass, Enum? e) { +return implementingClass.getSimpleName() + . + e.getDeclaringClass().getSimpleName() + . + StringUtils.camelize(e.name().toLowerCase()); + } + + /** + * Provides a configuration key for a given feature enum. + * + * @param e + * the enum used to provide the unique part of the configuration key + * @return the configuration key + */ + protected static String enumToConfKey(Enum? e) { +return e.getDeclaringClass().getSimpleName() + . + StringUtils.camelize(e.name().toLowerCase()); + } + + /** + * Sets the connector information needed to communicate with Accumulo in this job. + * + * p + * bWARNING:/b The serialized token is stored in the configuration and shared with all MapReduce tasks. It is BASE64 encoded to provide a charset safe + * conversion to a string, and is not intended to be secure. + * + * @param
[32/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/base/src/main/java/org/apache/accumulo/server/watcher/MonitorLog4jWatcher.java -- diff --cc server/base/src/main/java/org/apache/accumulo/server/watcher/MonitorLog4jWatcher.java index 292129d,000..7ae4d5a mode 100644,00..100644 --- a/server/base/src/main/java/org/apache/accumulo/server/watcher/MonitorLog4jWatcher.java +++ b/server/base/src/main/java/org/apache/accumulo/server/watcher/MonitorLog4jWatcher.java @@@ -1,150 -1,0 +1,152 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.server.watcher; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.zookeeper.ZooUtil; +import org.apache.accumulo.server.zookeeper.ZooReaderWriter; +import org.apache.log4j.Appender; +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; +import org.apache.log4j.helpers.FileWatchdog; +import org.apache.zookeeper.KeeperException.NoNodeException; +import org.apache.zookeeper.WatchedEvent; +import org.apache.zookeeper.Watcher; + +import com.google.common.net.HostAndPort; + +/** + * Watcher that updates the monitor's log4j port from ZooKeeper in a system property + */ +public class MonitorLog4jWatcher extends FileWatchdog implements Watcher { + private static final Logger log = Logger.getLogger(MonitorLog4jWatcher.class); + + private static final String HOST_PROPERTY_NAME = org.apache.accumulo.core.host.log; + private static final String PORT_PROPERTY_NAME = org.apache.accumulo.core.host.log.port; + + private final Object lock; + private final Log4jConfiguration logConfig; + private boolean loggingDisabled = false; + protected String path; + + public MonitorLog4jWatcher(String instance, String filename) { +super(filename); +this.path = ZooUtil.getRoot(instance) + Constants.ZMONITOR_LOG4J_ADDR; +this.lock = new Object(); +this.logConfig = new Log4jConfiguration(filename); +doOnChange(); + } + + boolean isUsingProperties() { +return logConfig.isUsingProperties(); + } + + String getPath() { +return path; + } + + @Override + public void run() { +try { + // Initially set the logger if the Monitor's log4j advertisement node exists + if (ZooReaderWriter.getInstance().exists(path, this)) +updateMonitorLog4jLocation(); + log.info(Set watch for Monitor Log4j watcher); +} catch (Exception e) { + log.error(Unable to set watch for Monitor Log4j watcher on + path); +} + +super.run(); + } + + @Override + public void doOnChange() { +// this method gets called in the parent class' constructor +// I'm not sure of a better way to get around this. The final modifier helps though. +if (null == lock) { + return; +} + +synchronized (lock) { + // We might triggered by file-reloading or from ZK update. + // Either way will result in log-forwarding being restarted + loggingDisabled = false; + log.info(Enabled log-forwarding); + logConfig.resetLogger(); +} + } + + @Override + public void process(WatchedEvent event) { +// We got an update, process the data in the node +updateMonitorLog4jLocation(); + +if (event.getPath() != null) { + try { +ZooReaderWriter.getInstance().exists(event.getPath(), this); + } catch (Exception ex) { +log.error(Unable to reset watch for Monitor Log4j watcher, ex); + } +} + } + + /** + * Read the host and port information for the Monitor's log4j socket and update the system properties so that, on logger refresh, it sees the new information. + */ + protected void updateMonitorLog4jLocation() { +try { - String hostPortString = new String(ZooReaderWriter.getInstance().getData(path, null), Constants.UTF8); ++ String hostPortString = new String(ZooReaderWriter.getInstance().getData(path, null), UTF_8); + HostAndPort hostAndPort = HostAndPort.fromString(hostPortString); + +
[36/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/base/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java -- diff --cc server/base/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java index e8d5bbf,000..002389a mode 100644,00..100644 --- a/server/base/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java +++ b/server/base/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java @@@ -1,399 -1,0 +1,400 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.server.master; + ++import static com.google.common.base.Charsets.UTF_8; +import static org.apache.accumulo.fate.zookeeper.ZooUtil.NodeMissingPolicy.SKIP; + +import java.nio.ByteBuffer; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException; +import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.data.KeyExtent; +import org.apache.accumulo.core.master.thrift.TabletServerStatus; +import org.apache.accumulo.core.tabletserver.thrift.NotServingTabletException; +import org.apache.accumulo.core.tabletserver.thrift.TabletClientService; +import org.apache.accumulo.core.util.AddressUtil; +import org.apache.accumulo.core.util.ServerServices; +import org.apache.accumulo.core.util.ThriftUtil; +import org.apache.accumulo.core.zookeeper.ZooUtil; +import org.apache.accumulo.server.master.state.TServerInstance; +import org.apache.accumulo.server.security.SystemCredentials; +import org.apache.accumulo.server.util.Halt; +import org.apache.accumulo.server.util.time.SimpleTimer; +import org.apache.accumulo.server.zookeeper.ZooCache; +import org.apache.accumulo.server.zookeeper.ZooLock; +import org.apache.accumulo.server.zookeeper.ZooReaderWriter; +import org.apache.accumulo.trace.instrument.Tracer; +import org.apache.hadoop.io.Text; +import org.apache.log4j.Logger; +import org.apache.thrift.TException; +import org.apache.thrift.transport.TTransport; +import org.apache.zookeeper.KeeperException; +import org.apache.zookeeper.KeeperException.NoNodeException; +import org.apache.zookeeper.KeeperException.NotEmptyException; +import org.apache.zookeeper.WatchedEvent; +import org.apache.zookeeper.Watcher; +import org.apache.zookeeper.data.Stat; + +import com.google.common.net.HostAndPort; + +public class LiveTServerSet implements Watcher { + + public interface Listener { +void update(LiveTServerSet current, SetTServerInstance deleted, SetTServerInstance added); + } + + private static final Logger log = Logger.getLogger(LiveTServerSet.class); + + private final Listener cback; + private final Instance instance; + private final AccumuloConfiguration conf; + private ZooCache zooCache; + + public class TServerConnection { +private final HostAndPort address; + +public TServerConnection(HostAndPort addr) throws TException { + address = addr; +} + +private String lockString(ZooLock mlock) { + return mlock.getLockID().serialize(ZooUtil.getRoot(instance) + Constants.ZMASTER_LOCK); +} + +public void assignTablet(ZooLock lock, KeyExtent extent) throws TException { + TabletClientService.Client client = ThriftUtil.getClient(new TabletClientService.Client.Factory(), address, conf); + try { +client.loadTablet(Tracer.traceInfo(), SystemCredentials.get().toThrift(instance), lockString(lock), extent.toThrift()); + } finally { +ThriftUtil.returnClient(client); + } +} + +public void unloadTablet(ZooLock lock, KeyExtent extent, boolean save) throws TException { + TabletClientService.Client client = ThriftUtil.getClient(new TabletClientService.Client.Factory(), address, conf); + try { +client.unloadTablet(Tracer.traceInfo(), SystemCredentials.get().toThrift(instance), lockString(lock),
[40/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBase.java -- diff --cc core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBase.java index cf1f0ea,000..da83386 mode 100644,00..100644 --- a/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBase.java +++ b/core/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/ConfiguratorBase.java @@@ -1,407 -1,0 +1,409 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.core.client.mapreduce.lib.impl; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.io.IOException; +import java.net.URI; +import java.net.URISyntaxException; + +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.Instance; +import org.apache.accumulo.core.client.ZooKeeperInstance; +import org.apache.accumulo.core.client.mock.MockInstance; +import org.apache.accumulo.core.client.security.tokens.AuthenticationToken; +import org.apache.accumulo.core.client.security.tokens.AuthenticationToken.AuthenticationTokenSerializer; +import org.apache.accumulo.core.security.Credentials; +import org.apache.accumulo.core.util.ArgumentChecker; +import org.apache.accumulo.core.util.Base64; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FSDataInputStream; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.util.StringUtils; +import org.apache.log4j.Level; +import org.apache.log4j.Logger; + +/** + * @since 1.6.0 + */ +public class ConfiguratorBase { + + /** + * Configuration keys for {@link Instance#getConnector(String, AuthenticationToken)}. + * + * @since 1.6.0 + */ + public static enum ConnectorInfo { +IS_CONFIGURED, PRINCIPAL, TOKEN, + } + + public static enum TokenSource { +FILE, INLINE; + +private String prefix; + +private TokenSource() { + prefix = name().toLowerCase() + :; +} + +public String prefix() { + return prefix; +} + } + + /** + * Configuration keys for {@link Instance}, {@link ZooKeeperInstance}, and {@link MockInstance}. + * + * @since 1.6.0 + */ + public static enum InstanceOpts { +TYPE, NAME, ZOO_KEEPERS, CLIENT_CONFIG; + } + + /** + * Configuration keys for general configuration options. + * + * @since 1.6.0 + */ + public static enum GeneralOpts { +LOG_LEVEL, +VISIBILITY_CACHE_SIZE + } + + /** + * Provides a configuration key for a given feature enum, prefixed by the implementingClass + * + * @param implementingClass + * the class whose name will be used as a prefix for the property configuration key + * @param e + * the enum used to provide the unique part of the configuration key + * @return the configuration key + * @since 1.6.0 + */ + protected static String enumToConfKey(Class? implementingClass, Enum? e) { +return implementingClass.getSimpleName() + . + e.getDeclaringClass().getSimpleName() + . + StringUtils.camelize(e.name().toLowerCase()); + } + + /** + * Provides a configuration key for a given feature enum. + * + * @param e + * the enum used to provide the unique part of the configuration key + * @return the configuration key + */ + protected static String enumToConfKey(Enum? e) { +return e.getDeclaringClass().getSimpleName() + . + StringUtils.camelize(e.name().toLowerCase()); + } + + /** + * Sets the connector information needed to communicate with Accumulo in this job. + * + * p + * bWARNING:/b The serialized token is stored in the configuration and shared with all MapReduce tasks. It is BASE64 encoded to provide a charset safe + * conversion to a string, and is not intended to be secure. + * + * @param
[27/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java -- diff --cc server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java index 0778f5b,000..3459069 mode 100644,00..100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java @@@ -1,3857 -1,0 +1,3859 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.tserver; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.io.ByteArrayInputStream; +import java.io.DataInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.PriorityQueue; +import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicReference; +import java.util.concurrent.locks.ReentrantLock; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.Connector; +import org.apache.accumulo.core.client.IteratorSetting; +import org.apache.accumulo.core.client.impl.ScannerImpl; +import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.conf.ConfigurationCopy; +import org.apache.accumulo.core.conf.ConfigurationObserver; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.constraints.Violations; +import org.apache.accumulo.core.data.ByteSequence; +import org.apache.accumulo.core.data.Column; +import org.apache.accumulo.core.data.ColumnUpdate; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.KeyExtent; +import org.apache.accumulo.core.data.KeyValue; +import org.apache.accumulo.core.data.Mutation; +import org.apache.accumulo.core.data.Range; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.data.thrift.IterInfo; +import org.apache.accumulo.core.data.thrift.MapFileInfo; +import org.apache.accumulo.core.file.FileOperations; +import org.apache.accumulo.core.file.FileSKVIterator; +import org.apache.accumulo.core.iterators.IterationInterruptedException; +import org.apache.accumulo.core.iterators.IteratorEnvironment; +import org.apache.accumulo.core.iterators.IteratorUtil; +import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope; +import org.apache.accumulo.core.iterators.SortedKeyValueIterator; +import org.apache.accumulo.core.iterators.system.ColumnFamilySkippingIterator; +import org.apache.accumulo.core.iterators.system.ColumnQualifierFilter; +import org.apache.accumulo.core.iterators.system.DeletingIterator; +import org.apache.accumulo.core.iterators.system.InterruptibleIterator; +import org.apache.accumulo.core.iterators.system.MultiIterator; +import org.apache.accumulo.core.iterators.system.SourceSwitchingIterator; +import org.apache.accumulo.core.iterators.system.SourceSwitchingIterator.DataSource; +import org.apache.accumulo.core.iterators.system.StatsIterator; +import org.apache.accumulo.core.iterators.system.VisibilityFilter; +import org.apache.accumulo.core.master.thrift.TabletLoadState; +import org.apache.accumulo.core.metadata.MetadataTable; +import org.apache.accumulo.core.metadata.RootTable; +import org.apache.accumulo.core.metadata.schema.DataFileValue; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.DataFileColumnFamily; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.LogColumnFamily; +import
[10/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/master/src/main/java/org/apache/accumulo/master/Master.java -- diff --cc server/master/src/main/java/org/apache/accumulo/master/Master.java index 9537f4e,000..83e83cf mode 100644,00..100644 --- a/server/master/src/main/java/org/apache/accumulo/master/Master.java +++ b/server/master/src/main/java/org/apache/accumulo/master/Master.java @@@ -1,1315 -1,0 +1,1317 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.master; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.AccumuloException; +import org.apache.accumulo.core.client.AccumuloSecurityException; +import org.apache.accumulo.core.client.Connector; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.client.Scanner; +import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.client.impl.Namespaces; +import org.apache.accumulo.core.client.impl.Tables; +import org.apache.accumulo.core.client.impl.ThriftTransportPool; +import org.apache.accumulo.core.client.impl.thrift.TableOperation; +import org.apache.accumulo.core.client.impl.thrift.TableOperationExceptionType; +import org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException; +import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.KeyExtent; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.master.state.tables.TableState; +import org.apache.accumulo.core.master.thrift.MasterClientService.Iface; +import org.apache.accumulo.core.master.thrift.MasterClientService.Processor; +import org.apache.accumulo.core.master.thrift.MasterGoalState; +import org.apache.accumulo.core.master.thrift.MasterState; +import org.apache.accumulo.core.master.thrift.TabletServerStatus; +import org.apache.accumulo.core.metadata.MetadataTable; +import org.apache.accumulo.core.metadata.RootTable; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.security.Credentials; +import org.apache.accumulo.core.security.NamespacePermission; +import org.apache.accumulo.core.security.SecurityUtil; +import org.apache.accumulo.core.security.TablePermission; +import org.apache.accumulo.core.util.Daemon; +import org.apache.accumulo.core.util.Pair; +import org.apache.accumulo.core.util.UtilWaitThread; +import org.apache.accumulo.core.zookeeper.ZooUtil; +import org.apache.accumulo.fate.AgeOffStore; +import org.apache.accumulo.fate.Fate; +import org.apache.accumulo.fate.zookeeper.IZooReaderWriter; +import org.apache.accumulo.fate.zookeeper.ZooLock.LockLossReason; +import org.apache.accumulo.fate.zookeeper.ZooUtil.NodeExistsPolicy; +import org.apache.accumulo.fate.zookeeper.ZooUtil.NodeMissingPolicy; +import org.apache.accumulo.master.recovery.RecoveryManager; +import org.apache.accumulo.master.state.TableCounts; +import org.apache.accumulo.server.Accumulo; +import org.apache.accumulo.server.ServerConstants; +import org.apache.accumulo.server.ServerOpts; +import org.apache.accumulo.server.client.HdfsZooInstance; +import org.apache.accumulo.server.conf.ServerConfiguration; +import org.apache.accumulo.server.fs.VolumeManager; +import org.apache.accumulo.server.fs.VolumeManager.FileType; +import
[37/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/base/src/main/java/org/apache/accumulo/server/Accumulo.java -- diff --cc server/base/src/main/java/org/apache/accumulo/server/Accumulo.java index 1e7658a,000..6c40094 mode 100644,00..100644 --- a/server/base/src/main/java/org/apache/accumulo/server/Accumulo.java +++ b/server/base/src/main/java/org/apache/accumulo/server/Accumulo.java @@@ -1,329 -1,0 +1,331 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.server; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.Map.Entry; +import java.util.TreeMap; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.AccumuloException; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.trace.DistributedTrace; +import org.apache.accumulo.core.util.AddressUtil; +import org.apache.accumulo.core.util.UtilWaitThread; +import org.apache.accumulo.core.util.Version; +import org.apache.accumulo.core.volume.Volume; +import org.apache.accumulo.core.zookeeper.ZooUtil; +import org.apache.accumulo.fate.ReadOnlyStore; +import org.apache.accumulo.fate.ReadOnlyTStore; +import org.apache.accumulo.fate.ZooStore; +import org.apache.accumulo.server.client.HdfsZooInstance; +import org.apache.accumulo.server.conf.ServerConfiguration; +import org.apache.accumulo.server.fs.VolumeManager; +import org.apache.accumulo.server.util.time.SimpleTimer; +import org.apache.accumulo.server.watcher.Log4jConfiguration; +import org.apache.accumulo.server.watcher.MonitorLog4jWatcher; +import org.apache.accumulo.server.zookeeper.ZooReaderWriter; +import org.apache.hadoop.fs.FileStatus; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.log4j.Logger; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.xml.DOMConfigurator; +import org.apache.zookeeper.KeeperException; + +public class Accumulo { + + private static final Logger log = Logger.getLogger(Accumulo.class); + + public static synchronized void updateAccumuloVersion(VolumeManager fs, int oldVersion) { +for (Volume volume : fs.getVolumes()) { + try { +if (getAccumuloPersistentVersion(fs) == oldVersion) { + log.debug(Attempting to upgrade + volume); + Path dataVersionLocation = ServerConstants.getDataVersionLocation(volume); + fs.create(new Path(dataVersionLocation, Integer.toString(ServerConstants.DATA_VERSION))).close(); + // TODO document failure mode recovery if FS permissions cause above to work and below to fail ACCUMULO-2596 + Path prevDataVersionLoc = new Path(dataVersionLocation, Integer.toString(oldVersion)); + if (!fs.delete(prevDataVersionLoc)) { +throw new RuntimeException(Could not delete previous data version location ( + prevDataVersionLoc + ) for + volume); + } +} + } catch (IOException e) { +throw new RuntimeException(Unable to set accumulo version: an error occurred., e); + } +} + } + + public static synchronized int getAccumuloPersistentVersion(FileSystem fs, Path path) { +int dataVersion; +try { + FileStatus[] files = fs.listStatus(path); + if (files == null || files.length == 0) { +dataVersion = -1; // assume it is 0.5 or earlier + } else { +dataVersion = Integer.parseInt(files[0].getPath().getName()); + } + return dataVersion; +} catch (IOException e) { + throw new RuntimeException(Unable to read accumulo version: an error occurred., e); +} + } + + public static synchronized int getAccumuloPersistentVersion(VolumeManager fs) { +// It doesn't matter which Volume is used as they
[16/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/base/src/main/java/org/apache/accumulo/server/Accumulo.java -- diff --cc server/base/src/main/java/org/apache/accumulo/server/Accumulo.java index 1e7658a,000..6c40094 mode 100644,00..100644 --- a/server/base/src/main/java/org/apache/accumulo/server/Accumulo.java +++ b/server/base/src/main/java/org/apache/accumulo/server/Accumulo.java @@@ -1,329 -1,0 +1,331 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.server; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.net.InetAddress; +import java.net.UnknownHostException; +import java.util.Map.Entry; +import java.util.TreeMap; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.AccumuloException; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.trace.DistributedTrace; +import org.apache.accumulo.core.util.AddressUtil; +import org.apache.accumulo.core.util.UtilWaitThread; +import org.apache.accumulo.core.util.Version; +import org.apache.accumulo.core.volume.Volume; +import org.apache.accumulo.core.zookeeper.ZooUtil; +import org.apache.accumulo.fate.ReadOnlyStore; +import org.apache.accumulo.fate.ReadOnlyTStore; +import org.apache.accumulo.fate.ZooStore; +import org.apache.accumulo.server.client.HdfsZooInstance; +import org.apache.accumulo.server.conf.ServerConfiguration; +import org.apache.accumulo.server.fs.VolumeManager; +import org.apache.accumulo.server.util.time.SimpleTimer; +import org.apache.accumulo.server.watcher.Log4jConfiguration; +import org.apache.accumulo.server.watcher.MonitorLog4jWatcher; +import org.apache.accumulo.server.zookeeper.ZooReaderWriter; +import org.apache.hadoop.fs.FileStatus; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.log4j.Logger; +import org.apache.log4j.helpers.LogLog; +import org.apache.log4j.xml.DOMConfigurator; +import org.apache.zookeeper.KeeperException; + +public class Accumulo { + + private static final Logger log = Logger.getLogger(Accumulo.class); + + public static synchronized void updateAccumuloVersion(VolumeManager fs, int oldVersion) { +for (Volume volume : fs.getVolumes()) { + try { +if (getAccumuloPersistentVersion(fs) == oldVersion) { + log.debug(Attempting to upgrade + volume); + Path dataVersionLocation = ServerConstants.getDataVersionLocation(volume); + fs.create(new Path(dataVersionLocation, Integer.toString(ServerConstants.DATA_VERSION))).close(); + // TODO document failure mode recovery if FS permissions cause above to work and below to fail ACCUMULO-2596 + Path prevDataVersionLoc = new Path(dataVersionLocation, Integer.toString(oldVersion)); + if (!fs.delete(prevDataVersionLoc)) { +throw new RuntimeException(Could not delete previous data version location ( + prevDataVersionLoc + ) for + volume); + } +} + } catch (IOException e) { +throw new RuntimeException(Unable to set accumulo version: an error occurred., e); + } +} + } + + public static synchronized int getAccumuloPersistentVersion(FileSystem fs, Path path) { +int dataVersion; +try { + FileStatus[] files = fs.listStatus(path); + if (files == null || files.length == 0) { +dataVersion = -1; // assume it is 0.5 or earlier + } else { +dataVersion = Integer.parseInt(files[0].getPath().getName()); + } + return dataVersion; +} catch (IOException e) { + throw new RuntimeException(Unable to read accumulo version: an error occurred., e); +} + } + + public static synchronized int getAccumuloPersistentVersion(VolumeManager fs) { +// It doesn't matter which Volume is used as they
[23/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/test/src/test/java/org/apache/accumulo/test/VolumeIT.java -- diff --cc test/src/test/java/org/apache/accumulo/test/VolumeIT.java index a338d5f,000..d5c940d mode 100644,00..100644 --- a/test/src/test/java/org/apache/accumulo/test/VolumeIT.java +++ b/test/src/test/java/org/apache/accumulo/test/VolumeIT.java @@@ -1,553 -1,0 +1,553 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.test; + ++import static com.google.common.base.Charsets.UTF_8; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.BufferedOutputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.net.URI; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map.Entry; +import java.util.SortedSet; +import java.util.TreeSet; + - import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.AccumuloException; +import org.apache.accumulo.core.client.AccumuloSecurityException; +import org.apache.accumulo.core.client.BatchWriter; +import org.apache.accumulo.core.client.BatchWriterConfig; +import org.apache.accumulo.core.client.Connector; +import org.apache.accumulo.core.client.MutationsRejectedException; +import org.apache.accumulo.core.client.Scanner; +import org.apache.accumulo.core.client.TableExistsException; +import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.client.ZooKeeperInstance; +import org.apache.accumulo.core.client.admin.DiskUsage; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.KeyExtent; +import org.apache.accumulo.core.data.Mutation; +import org.apache.accumulo.core.data.Range; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.metadata.MetadataTable; +import org.apache.accumulo.core.metadata.RootTable; +import org.apache.accumulo.core.metadata.schema.MetadataSchema; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.DataFileColumnFamily; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.security.TablePermission; +import org.apache.accumulo.core.util.CachedConfiguration; +import org.apache.accumulo.core.zookeeper.ZooUtil; +import org.apache.accumulo.minicluster.impl.MiniAccumuloConfigImpl; +import org.apache.accumulo.server.ServerConstants; +import org.apache.accumulo.server.init.Initialize; +import org.apache.accumulo.server.util.Admin; +import org.apache.accumulo.test.functional.ConfigurableMacIT; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileStatus; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.fs.RawLocalFileSystem; +import org.apache.hadoop.io.Text; +import org.apache.zookeeper.ZooKeeper; +import org.junit.Assert; +import org.junit.Test; + +public class VolumeIT extends ConfigurableMacIT { + + private static final Text EMPTY = new Text(); + private static final Value EMPTY_VALUE = new Value(new byte[] {}); + private File volDirBase; + private Path v1, v2; + + @Override + protected int defaultTimeoutSeconds() { +return 5 * 60; + } + + @SuppressWarnings(deprecation) + @Override + public void configure(MiniAccumuloConfigImpl cfg, Configuration hadoopCoreSite) { +File baseDir = cfg.getDir(); +volDirBase = new File(baseDir, volumes); +File v1f = new File(volDirBase, v1); +File v2f = new File(volDirBase, v2); +v1f.mkdir(); +v2f.mkdir(); +v1 = new Path(file:// + v1f.getAbsolutePath()); +v2 = new Path(file:// + v2f.getAbsolutePath()); + +// Run MAC on two locations in the local file system +URI v1Uri = v1.toUri(); +cfg.setProperty(Property.INSTANCE_DFS_DIR, v1Uri.getPath()); +cfg.setProperty(Property.INSTANCE_DFS_URI,
[48/50] [abbrv] Merge branch '1.6'
http://git-wip-us.apache.org/repos/asf/accumulo/blob/cfbdef13/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/InputConfigurator.java -- diff --cc mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/InputConfigurator.java index 339c9a8,000..90a8622 mode 100644,00..100644 --- a/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/InputConfigurator.java +++ b/mapreduce/src/main/java/org/apache/accumulo/core/client/mapreduce/lib/impl/InputConfigurator.java @@@ -1,796 -1,0 +1,796 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.core.client.mapreduce.lib.impl; + +import static com.google.common.base.Preconditions.checkArgument; ++import static java.nio.charset.StandardCharsets.UTF_8; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.io.IOException; - import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.StringTokenizer; + +import org.apache.accumulo.core.client.AccumuloException; +import org.apache.accumulo.core.client.AccumuloSecurityException; +import org.apache.accumulo.core.client.ClientSideIteratorScanner; +import org.apache.accumulo.core.client.Connector; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.client.IsolatedScanner; +import org.apache.accumulo.core.client.IteratorSetting; +import org.apache.accumulo.core.client.RowIterator; +import org.apache.accumulo.core.client.Scanner; +import org.apache.accumulo.core.client.TableNotFoundException; +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.mock.impl.MockTabletLocator; +import org.apache.accumulo.core.client.security.tokens.AuthenticationToken; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.KeyExtent; +import org.apache.accumulo.core.data.PartialKey; +import org.apache.accumulo.core.data.Range; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.iterators.SortedKeyValueIterator; +import org.apache.accumulo.core.master.state.tables.TableState; +import org.apache.accumulo.core.metadata.MetadataTable; +import org.apache.accumulo.core.metadata.schema.MetadataSchema; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.security.TablePermission; +import org.apache.accumulo.core.util.Base64; +import org.apache.accumulo.core.util.Pair; +import org.apache.accumulo.core.util.TextUtil; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.io.MapWritable; +import org.apache.hadoop.io.Text; +import org.apache.hadoop.io.Writable; +import org.apache.hadoop.util.StringUtils; + +import com.google.common.collect.Maps; + +/** + * @since 1.6.0 + */ +public class InputConfigurator extends ConfiguratorBase { + + /** + * Configuration keys for {@link Scanner}. + * + * @since 1.6.0 + */ + public static enum ScanOpts { +TABLE_NAME, AUTHORIZATIONS, RANGES, COLUMNS, ITERATORS, TABLE_CONFIGS + } + + /** + * Configuration keys for various features. + * + * @since 1.6.0 + */ + public static enum Features { +AUTO_ADJUST_RANGES, SCAN_ISOLATION, USE_LOCAL_ITERATORS, SCAN_OFFLINE + } + + /** + * Sets the name of the input table, over which this job will scan. + * + * @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 tableName + * the table to use when the tablename is null in the write call + * @since
[20/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java -- diff --cc core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java index 103cfe8,000..547ccc7 mode 100644,00..100644 --- a/core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java +++ b/core/src/main/java/org/apache/accumulo/core/client/impl/TableOperationsImpl.java @@@ -1,1601 -1,0 +1,1603 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.core.client.impl; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.nio.ByteBuffer; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Random; +import java.util.Set; +import java.util.SortedSet; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.atomic.AtomicReference; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.AccumuloException; +import org.apache.accumulo.core.client.AccumuloSecurityException; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.client.IsolatedScanner; +import org.apache.accumulo.core.client.IteratorSetting; +import org.apache.accumulo.core.client.NamespaceExistsException; +import org.apache.accumulo.core.client.NamespaceNotFoundException; +import org.apache.accumulo.core.client.RowIterator; +import org.apache.accumulo.core.client.Scanner; +import org.apache.accumulo.core.client.TableDeletedException; +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.admin.DiskUsage; +import org.apache.accumulo.core.client.admin.FindMax; +import org.apache.accumulo.core.client.admin.TableOperations; +import org.apache.accumulo.core.client.admin.TimeType; +import org.apache.accumulo.core.client.impl.TabletLocator.TabletLocation; +import org.apache.accumulo.core.client.impl.thrift.ClientService; +import org.apache.accumulo.core.client.impl.thrift.ClientService.Client; +import org.apache.accumulo.core.client.impl.thrift.TDiskUsage; +import org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException; +import org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException; +import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.conf.ConfigurationCopy; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.constraints.Constraint; +import org.apache.accumulo.core.data.ByteSequence; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.KeyExtent; +import org.apache.accumulo.core.data.Range; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.iterators.IteratorUtil; +import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope; +import org.apache.accumulo.core.iterators.SortedKeyValueIterator; +import org.apache.accumulo.core.master.state.tables.TableState; +import org.apache.accumulo.core.master.thrift.FateOperation; +import org.apache.accumulo.core.master.thrift.MasterClientService; +import org.apache.accumulo.core.metadata.MetadataServicer; +import org.apache.accumulo.core.metadata.MetadataTable; +import org.apache.accumulo.core.metadata.RootTable; +import
[35/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/base/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java -- diff --cc server/base/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java index d0e6aea,000..258080c mode 100644,00..100644 --- a/server/base/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java +++ b/server/base/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java @@@ -1,775 -1,0 +1,777 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.server.security; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.nio.ByteBuffer; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.AccumuloSecurityException; +import org.apache.accumulo.core.client.NamespaceNotFoundException; +import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.client.impl.SecurityOperationsImpl; +import org.apache.accumulo.core.client.impl.Namespaces; +import org.apache.accumulo.core.client.impl.thrift.SecurityErrorCode; +import org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException; +import org.apache.accumulo.core.client.security.tokens.AuthenticationToken; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.data.thrift.IterInfo; +import org.apache.accumulo.core.data.thrift.TColumn; +import org.apache.accumulo.core.data.thrift.TKeyExtent; +import org.apache.accumulo.core.data.thrift.TRange; +import org.apache.accumulo.core.master.thrift.FateOperation; +import org.apache.accumulo.core.metadata.MetadataTable; +import org.apache.accumulo.core.metadata.RootTable; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.security.Credentials; +import org.apache.accumulo.core.security.NamespacePermission; +import org.apache.accumulo.core.security.SystemPermission; +import org.apache.accumulo.core.security.TablePermission; +import org.apache.accumulo.core.security.thrift.TCredentials; +import org.apache.accumulo.server.client.HdfsZooInstance; +import org.apache.accumulo.server.conf.ServerConfiguration; +import org.apache.accumulo.server.security.handler.Authenticator; +import org.apache.accumulo.server.security.handler.Authorizor; +import org.apache.accumulo.server.security.handler.PermissionHandler; +import org.apache.accumulo.server.security.handler.ZKAuthenticator; +import org.apache.accumulo.server.security.handler.ZKAuthorizor; +import org.apache.accumulo.server.security.handler.ZKPermHandler; +import org.apache.accumulo.server.zookeeper.ZooCache; +import org.apache.hadoop.io.Text; +import org.apache.log4j.Logger; + +/** + * Utility class for performing various security operations with the appropriate checks + */ +public class SecurityOperation { + private static final Logger log = Logger.getLogger(SecurityOperationsImpl.class); + + protected Authorizor authorizor; + protected Authenticator authenticator; + protected PermissionHandler permHandle; + private static String rootUserName = null; + private final ZooCache zooCache; + private final String ZKUserPath; + + static SecurityOperation instance; + + public static synchronized SecurityOperation getInstance() { +String instanceId = HdfsZooInstance.getInstance().getInstanceID(); +return getInstance(instanceId, false); + } + + public static synchronized SecurityOperation getInstance(String instanceId, boolean initialize) { +if (instance == null) { + instance = new SecurityOperation(getAuthorizor(instanceId, initialize), getAuthenticator(instanceId, initialize), getPermHandler(instanceId, initialize), + instanceId); +} +return instance; + } + + protected static Authorizor getAuthorizor(String instanceId, boolean initialize) { +Authorizor toRet = ServerConfiguration.getSiteConfiguration().instantiateClassProperty(Property.INSTANCE_SECURITY_AUTHORIZOR,
[26/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java -- diff --cc server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java index 03fe069,000..94be0bb mode 100644,00..100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java @@@ -1,3928 -1,0 +1,3929 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.tserver; + ++import static com.google.common.base.Charsets.UTF_8; +import static org.apache.accumulo.server.problems.ProblemType.TABLET_LOAD; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.lang.management.GarbageCollectorMXBean; +import java.lang.management.ManagementFactory; +import java.net.Socket; +import java.net.UnknownHostException; +import java.nio.ByteBuffer; +import java.security.SecureRandom; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.EnumMap; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import java.util.SortedMap; +import java.util.SortedSet; +import java.util.TimerTask; +import java.util.TreeMap; +import java.util.TreeSet; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingDeque; +import java.util.concurrent.CancellationException; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.RunnableFuture; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; +import java.util.concurrent.TimeoutException; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicReference; + +import javax.management.ObjectName; +import javax.management.StandardMBean; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.AccumuloException; +import org.apache.accumulo.core.client.AccumuloSecurityException; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.client.impl.CompressedIterators; +import org.apache.accumulo.core.client.impl.CompressedIterators.IterConfig; +import org.apache.accumulo.core.client.impl.ScannerImpl; +import org.apache.accumulo.core.client.impl.Tables; +import org.apache.accumulo.core.client.impl.TabletType; +import org.apache.accumulo.core.client.impl.Translator; +import org.apache.accumulo.core.client.impl.Translator.TKeyExtentTranslator; +import org.apache.accumulo.core.client.impl.Translator.TRangeTranslator; +import org.apache.accumulo.core.client.impl.Translators; +import org.apache.accumulo.core.client.impl.thrift.SecurityErrorCode; +import org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException; +import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.constraints.Constraint.Environment; +import org.apache.accumulo.core.constraints.Violations; +import org.apache.accumulo.core.data.ByteSequence; +import org.apache.accumulo.core.data.Column; +import org.apache.accumulo.core.data.ConstraintViolationSummary; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.KeyExtent; +import org.apache.accumulo.core.data.Mutation; +import org.apache.accumulo.core.data.Range; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.data.thrift.InitialMultiScan; +import org.apache.accumulo.core.data.thrift.InitialScan; +import org.apache.accumulo.core.data.thrift.IterInfo; +import org.apache.accumulo.core.data.thrift.MapFileInfo; +import org.apache.accumulo.core.data.thrift.MultiScanResult; +import
[44/50] [abbrv] Merge branch '1.6'
http://git-wip-us.apache.org/repos/asf/accumulo/blob/cfbdef13/shell/src/test/java/org/apache/accumulo/shell/ShellUtilTest.java -- diff --cc shell/src/test/java/org/apache/accumulo/shell/ShellUtilTest.java index 934a41d,000..c3af70a mode 100644,00..100644 --- a/shell/src/test/java/org/apache/accumulo/shell/ShellUtilTest.java +++ b/shell/src/test/java/org/apache/accumulo/shell/ShellUtilTest.java @@@ -1,67 -1,0 +1,67 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.shell; + ++import static java.nio.charset.StandardCharsets.UTF_8; +import static org.junit.Assert.*; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; - import java.nio.charset.StandardCharsets; +import java.util.List; + +import org.apache.accumulo.core.util.Base64; +import org.apache.accumulo.shell.ShellUtil; +import org.apache.commons.io.FileUtils; +import org.apache.hadoop.io.Text; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; + +import com.google.common.collect.ImmutableList; + +public class ShellUtilTest { + + @Rule + public TemporaryFolder folder = new TemporaryFolder(new File(System.getProperty(user.dir) + /target)); + + // String with 3 lines, with one empty line + private static final String FILEDATA = line1\n\nline2; + + @Test + public void testWithoutDecode() throws IOException { +File testFile = new File(folder.getRoot(), testFileNoDecode.txt); +FileUtils.writeStringToFile(testFile, FILEDATA); +ListText output = ShellUtil.scanFile(testFile.getAbsolutePath(), false); +assertEquals(ImmutableList.of(new Text(line1), new Text(line2)), output); + } + + @Test + public void testWithDecode() throws IOException { +File testFile = new File(folder.getRoot(), testFileWithDecode.txt); +FileUtils.writeStringToFile(testFile, FILEDATA); +ListText output = ShellUtil.scanFile(testFile.getAbsolutePath(), true); +assertEquals( - ImmutableList.of(new Text(Base64.decodeBase64(line1.getBytes(StandardCharsets.UTF_8))), new Text(Base64.decodeBase64(line2.getBytes(StandardCharsets.UTF_8, ++ImmutableList.of(new Text(Base64.decodeBase64(line1.getBytes(UTF_8))), new Text(Base64.decodeBase64(line2.getBytes(UTF_8, +output); + } + + @Test(expected = FileNotFoundException.class) + public void testWithMissingFile() throws FileNotFoundException { +ShellUtil.scanFile(missingFile.txt, false); + } +} http://git-wip-us.apache.org/repos/asf/accumulo/blob/cfbdef13/shell/src/test/java/org/apache/accumulo/shell/format/DeleterFormatterTest.java -- diff --cc shell/src/test/java/org/apache/accumulo/shell/format/DeleterFormatterTest.java index e5b7394,000..0229cee mode 100644,00..100644 --- a/shell/src/test/java/org/apache/accumulo/shell/format/DeleterFormatterTest.java +++ b/shell/src/test/java/org/apache/accumulo/shell/format/DeleterFormatterTest.java @@@ -1,177 -1,0 +1,177 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.shell.format; + ++import static java.nio.charset.StandardCharsets.UTF_8; +import static org.easymock.EasyMock.anyObject; +import static org.easymock.EasyMock.createMock; +import static
[13/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/base/src/main/java/org/apache/accumulo/server/tables/TableManager.java -- diff --cc server/base/src/main/java/org/apache/accumulo/server/tables/TableManager.java index 71b7155,000..78f8c7b mode 100644,00..100644 --- a/server/base/src/main/java/org/apache/accumulo/server/tables/TableManager.java +++ b/server/base/src/main/java/org/apache/accumulo/server/tables/TableManager.java @@@ -1,318 -1,0 +1,320 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.server.tables; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.security.SecurityPermission; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.client.NamespaceNotFoundException; +import org.apache.accumulo.core.client.impl.Tables; +import org.apache.accumulo.core.master.state.tables.TableState; +import org.apache.accumulo.core.util.Pair; +import org.apache.accumulo.core.zookeeper.ZooUtil; +import org.apache.accumulo.fate.zookeeper.IZooReaderWriter; +import org.apache.accumulo.fate.zookeeper.IZooReaderWriter.Mutator; +import org.apache.accumulo.fate.zookeeper.ZooUtil.NodeExistsPolicy; +import org.apache.accumulo.fate.zookeeper.ZooUtil.NodeMissingPolicy; +import org.apache.accumulo.server.client.HdfsZooInstance; +import org.apache.accumulo.server.util.TablePropUtil; +import org.apache.accumulo.server.zookeeper.ZooCache; +import org.apache.accumulo.server.zookeeper.ZooReaderWriter; +import org.apache.log4j.Logger; +import org.apache.zookeeper.KeeperException; +import org.apache.zookeeper.WatchedEvent; +import org.apache.zookeeper.Watcher; +import org.apache.zookeeper.Watcher.Event.EventType; + +public class TableManager { + private static SecurityPermission TABLE_MANAGER_PERMISSION = new SecurityPermission(tableManagerPermission); + + private static final Logger log = Logger.getLogger(TableManager.class); + private static final SetTableObserver observers = Collections.synchronizedSet(new HashSetTableObserver()); + private static final MapString,TableState tableStateCache = Collections.synchronizedMap(new HashMapString,TableState()); + private static final byte[] ZERO_BYTE = new byte[] {'0'}; + + private static TableManager tableManager = null; + + private final Instance instance; + private ZooCache zooStateCache; + + public static void prepareNewNamespaceState(String instanceId, String namespaceId, String namespace, NodeExistsPolicy existsPolicy) throws KeeperException, + InterruptedException { +log.debug(Creating ZooKeeper entries for new namespace + namespace + (ID: + namespaceId + )); +String zPath = Constants.ZROOT + / + instanceId + Constants.ZNAMESPACES + / + namespaceId; + +IZooReaderWriter zoo = ZooReaderWriter.getInstance(); +zoo.putPersistentData(zPath, new byte[0], existsPolicy); - zoo.putPersistentData(zPath + Constants.ZNAMESPACE_NAME, namespace.getBytes(Constants.UTF8), existsPolicy); ++zoo.putPersistentData(zPath + Constants.ZNAMESPACE_NAME, namespace.getBytes(UTF_8), existsPolicy); +zoo.putPersistentData(zPath + Constants.ZNAMESPACE_CONF, new byte[0], existsPolicy); + } + + public static void prepareNewTableState(String instanceId, String tableId, String namespaceId, String tableName, TableState state, + NodeExistsPolicy existsPolicy) throws KeeperException, InterruptedException { +// state gets created last +log.debug(Creating ZooKeeper entries for new table + tableName + (ID: + tableId + ) in namespace (ID: + namespaceId + )); +PairString,String qualifiedTableName = Tables.qualify(tableName); +tableName = qualifiedTableName.getSecond(); +String zTablePath = Constants.ZROOT + / + instanceId + Constants.ZTABLES + / + tableId; +IZooReaderWriter zoo = ZooReaderWriter.getInstance(); +
[22/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/test/src/test/java/org/apache/accumulo/test/functional/LargeRowIT.java -- diff --cc test/src/test/java/org/apache/accumulo/test/functional/LargeRowIT.java index c07ed1c,000..d77d060 mode 100644,00..100644 --- a/test/src/test/java/org/apache/accumulo/test/functional/LargeRowIT.java +++ b/test/src/test/java/org/apache/accumulo/test/functional/LargeRowIT.java @@@ -1,193 -1,0 +1,194 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.test.functional; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.util.Collections; +import java.util.Map.Entry; +import java.util.Random; +import java.util.TreeSet; + - import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.BatchWriter; +import org.apache.accumulo.core.client.BatchWriterConfig; +import org.apache.accumulo.core.client.Connector; +import org.apache.accumulo.core.client.Scanner; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.Mutation; +import org.apache.accumulo.core.data.Range; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.util.UtilWaitThread; +import org.apache.accumulo.minicluster.MemoryUnit; +import org.apache.accumulo.minicluster.ServerType; +import org.apache.accumulo.minicluster.impl.MiniAccumuloConfigImpl; +import org.apache.accumulo.test.TestIngest; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.io.Text; +import org.apache.log4j.Logger; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; + +public class LargeRowIT extends ConfigurableMacIT { + + @Override + public void configure(MiniAccumuloConfigImpl cfg, Configuration hadoopCoreSite) { +cfg.setMemory(ServerType.TABLET_SERVER, cfg.getMemory(ServerType.TABLET_SERVER) * 2, MemoryUnit.BYTE); + cfg.setSiteConfig(Collections.singletonMap(Property.TSERV_MAJC_DELAY.getKey(), 10ms)); + } + + @Override + protected int defaultTimeoutSeconds() { +return 4 * 60; + } + + private static final int SEED = 42; + private static final String REG_TABLE_NAME = lr; + private static final String PRE_SPLIT_TABLE_NAME = lrps; + private static final int NUM_ROWS = 100; + private static final int ROW_SIZE = 1 17; + private static final int NUM_PRE_SPLITS = 9; + private static final int SPLIT_THRESH = ROW_SIZE * NUM_ROWS / NUM_PRE_SPLITS; + + private int timeoutFactor = 1; + + @Before + public void getTimeoutFactor() { +try { + timeoutFactor = Integer.parseInt(System.getProperty(timeout.factor)); +} catch (NumberFormatException e) { + log.warn(Could not parse property value for 'timeout.factor' as integer: + System.getProperty(timeout.factor)); +} + +Assert.assertTrue(Timeout factor must be greater than or equal to 1, timeoutFactor = 1); + } + + @Test + public void run() throws Exception { +Random r = new Random(); +byte rowData[] = new byte[ROW_SIZE]; +r.setSeed(SEED + 1); +TreeSetText splitPoints = new TreeSetText(); +for (int i = 0; i NUM_PRE_SPLITS; i++) { + r.nextBytes(rowData); + TestIngest.toPrintableChars(rowData); + splitPoints.add(new Text(rowData)); +} +Connector c = getConnector(); +c.tableOperations().create(REG_TABLE_NAME); +c.tableOperations().create(PRE_SPLIT_TABLE_NAME); +c.tableOperations().addSplits(PRE_SPLIT_TABLE_NAME, splitPoints); +test1(c); +test2(c); + } + + private void test1(Connector c) throws Exception { + +basicTest(c, REG_TABLE_NAME, 0); + +c.tableOperations().setProperty(REG_TABLE_NAME, Property.TABLE_SPLIT_THRESHOLD.getKey(), + SPLIT_THRESH); + +UtilWaitThread.sleep(timeoutFactor * 12000); +Logger.getLogger(LargeRowIT.class).warn(checking splits); +FunctionalTestUtils.checkSplits(c, REG_TABLE_NAME, NUM_PRE_SPLITS / 2, NUM_PRE_SPLITS * 4); + +verify(c,
[50/50] [abbrv] git commit: Merge branch '1.6'
Merge branch '1.6' Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/cfbdef13 Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/cfbdef13 Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/cfbdef13 Branch: refs/heads/master Commit: cfbdef1345388767e81a05a154dac22040ad5283 Parents: 64d1bbe 9b20a9d Author: Christopher Tubbs ctubb...@apache.org Authored: Sat Nov 1 00:54:59 2014 -0400 Committer: Christopher Tubbs ctubb...@apache.org Committed: Sat Nov 1 00:54:59 2014 -0400 -- assemble/bin/bootstrap_config.sh| 2 +- .../org/apache/accumulo/core/Constants.java | 5 ++- .../apache/accumulo/core/cli/ClientOpts.java| 7 ++-- .../accumulo/core/client/BatchWriterConfig.java | 11 ++--- .../accumulo/core/client/ZooKeeperInstance.java | 14 +++ .../client/impl/InstanceOperationsImpl.java | 4 +- .../accumulo/core/client/impl/Namespaces.java | 7 ++-- .../core/client/impl/ReplicationClient.java | 4 +- .../accumulo/core/client/impl/ServerClient.java | 4 +- .../core/client/impl/TableOperationsImpl.java | 32 +++ .../accumulo/core/client/impl/Tables.java | 10 ++--- .../accumulo/core/client/impl/Writer.java | 5 +-- .../core/client/lexicoder/StringLexicoder.java | 6 +-- .../client/security/tokens/PasswordToken.java | 5 ++- .../accumulo/core/conf/ConfigurationDocGen.java | 9 ++-- .../accumulo/core/data/ArrayByteSequence.java | 7 ++-- .../org/apache/accumulo/core/data/Column.java | 7 ++-- .../apache/accumulo/core/data/Condition.java| 8 ++-- .../org/apache/accumulo/core/data/Value.java| 4 +- .../accumulo/core/file/BloomFilterLayer.java| 7 ++-- .../core/iterators/ColumnFamilyCounter.java | 5 ++- .../accumulo/core/iterators/LongCombiner.java | 7 ++-- .../accumulo/core/iterators/conf/ColumnSet.java | 7 ++-- .../core/iterators/user/BigDecimalCombiner.java | 7 ++-- .../core/iterators/user/GrepIterator.java | 5 ++- .../iterators/user/IntersectingIterator.java| 7 ++-- .../core/iterators/user/LargeRowFilter.java | 5 ++- .../core/iterators/user/RegExFilter.java| 7 ++-- .../iterators/user/RowDeletingIterator.java | 5 ++- .../iterators/user/SummingArrayCombiner.java| 7 ++-- .../iterators/user/TransformingIterator.java| 7 ++-- .../core/iterators/user/VisibilityFilter.java | 5 ++- .../core/replication/ReplicationSchema.java | 6 +-- .../core/replication/ReplicationTarget.java | 6 +-- .../accumulo/core/security/Authorizations.java | 12 +++--- .../core/security/ColumnVisibility.java | 43 ++-- .../accumulo/core/security/Credentials.java | 12 +++--- .../core/security/VisibilityConstraint.java | 5 ++- .../core/security/VisibilityParseException.java | 5 ++- .../accumulo/core/trace/ZooTraceClient.java | 5 ++- .../apache/accumulo/core/util/ByteArraySet.java | 5 ++- .../accumulo/core/util/ByteBufferUtil.java | 5 ++- .../apache/accumulo/core/util/CreateToken.java | 6 +-- .../org/apache/accumulo/core/util/Encoding.java | 4 +- .../apache/accumulo/core/util/FastFormat.java | 4 +- .../org/apache/accumulo/core/util/Merge.java| 5 ++- .../apache/accumulo/core/util/MonitorUtil.java | 4 +- .../org/apache/accumulo/core/util/TextUtil.java | 6 +-- .../core/client/BatchWriterConfigTest.java | 8 ++-- .../core/client/ZooKeeperInstanceTest.java | 10 ++--- .../core/client/mock/MockNamespacesTest.java| 4 +- .../tokens/CredentialProviderTokenTest.java | 8 ++-- .../security/tokens/PasswordTokenTest.java | 6 +-- .../accumulo/core/data/ConditionTest.java | 13 +++--- .../core/data/ConditionalMutationTest.java | 10 ++--- .../apache/accumulo/core/data/ValueTest.java| 5 ++- .../core/iterators/user/RegExFilterTest.java| 7 ++-- .../core/security/ColumnVisibilityTest.java | 6 +-- .../accumulo/core/security/CredentialsTest.java | 7 ++-- .../core/security/VisibilityConstraintTest.java | 4 +- .../security/crypto/BlockedIOStreamTest.java| 10 ++--- .../ShardedTableDistributionFormatterTest.java | 8 ++-- .../org/apache/accumulo/fate/AdminUtil.java | 8 ++-- .../java/org/apache/accumulo/fate/ZooStore.java | 16 .../zookeeper/DistributedReadWriteLock.java | 18 .../accumulo/fate/zookeeper/ZooCache.java | 8 ++-- .../apache/accumulo/fate/zookeeper/ZooLock.java | 6 +-- .../accumulo/fate/zookeeper/ZooReservation.java | 9 ++-- .../accumulo/fate/zookeeper/ZooSession.java | 6 +-- .../core/client/mapreduce/RangeInputSplit.java | 7 ++-- .../mapreduce/lib/impl/ConfiguratorBase.java| 5 +-- .../mapreduce/lib/impl/InputConfigurator.java | 16 .../mapreduce/lib/impl/OutputConfigurator.java | 8 ++-- .../lib/partition/RangePartitioner.java
[30/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/master/src/main/java/org/apache/accumulo/master/tableOps/BulkImport.java -- diff --cc server/master/src/main/java/org/apache/accumulo/master/tableOps/BulkImport.java index 1226806,000..10cf224 mode 100644,00..100644 --- a/server/master/src/main/java/org/apache/accumulo/master/tableOps/BulkImport.java +++ b/server/master/src/main/java/org/apache/accumulo/master/tableOps/BulkImport.java @@@ -1,617 -1,0 +1,619 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.master.tableOps; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map.Entry; +import java.util.Set; +import java.util.concurrent.Callable; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Future; +import java.util.concurrent.ThreadPoolExecutor; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.Connector; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.client.IsolatedScanner; +import org.apache.accumulo.core.client.Scanner; +import org.apache.accumulo.core.client.impl.ServerClient; +import org.apache.accumulo.core.client.impl.Tables; +import org.apache.accumulo.core.client.impl.thrift.ClientService; +import org.apache.accumulo.core.client.impl.thrift.ClientService.Client; +import org.apache.accumulo.core.client.impl.thrift.TableOperation; +import org.apache.accumulo.core.client.impl.thrift.TableOperationExceptionType; +import org.apache.accumulo.core.client.impl.thrift.ThriftTableOperationException; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.conf.SiteConfiguration; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.KeyExtent; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.file.FileOperations; +import org.apache.accumulo.core.master.state.tables.TableState; +import org.apache.accumulo.core.metadata.MetadataTable; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.util.Pair; +import org.apache.accumulo.core.util.SimpleThreadPool; +import org.apache.accumulo.core.util.UtilWaitThread; +import org.apache.accumulo.fate.Repo; +import org.apache.accumulo.master.Master; +import org.apache.accumulo.server.ServerConstants; +import org.apache.accumulo.server.client.HdfsZooInstance; +import org.apache.accumulo.server.conf.ServerConfiguration; +import org.apache.accumulo.server.fs.FileRef; +import org.apache.accumulo.server.fs.VolumeManager; +import org.apache.accumulo.server.master.LiveTServerSet.TServerConnection; +import org.apache.accumulo.server.master.state.TServerInstance; +import org.apache.accumulo.server.security.SystemCredentials; +import org.apache.accumulo.server.tablets.UniqueNameAllocator; +import org.apache.accumulo.server.util.MetadataTableUtil; +import org.apache.accumulo.server.zookeeper.DistributedWorkQueue; +import org.apache.accumulo.server.zookeeper.TransactionWatcher.ZooArbitrator; +import org.apache.accumulo.trace.instrument.TraceExecutorService; +import org.apache.accumulo.trace.instrument.Tracer; +import org.apache.hadoop.fs.FSDataInputStream; +import org.apache.hadoop.fs.FSDataOutputStream; +import org.apache.hadoop.fs.FileStatus; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.io.MapFile; +import org.apache.hadoop.io.Text; +import org.apache.log4j.Logger; +import org.apache.thrift.TException; + +/* + * Bulk import makes requests of tablet servers, and those requests can take a + * long time. Our
[14/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/base/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java -- diff --cc server/base/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java index d0e6aea,000..258080c mode 100644,00..100644 --- a/server/base/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java +++ b/server/base/src/main/java/org/apache/accumulo/server/security/SecurityOperation.java @@@ -1,775 -1,0 +1,777 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.server.security; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.nio.ByteBuffer; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.AccumuloSecurityException; +import org.apache.accumulo.core.client.NamespaceNotFoundException; +import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.client.impl.SecurityOperationsImpl; +import org.apache.accumulo.core.client.impl.Namespaces; +import org.apache.accumulo.core.client.impl.thrift.SecurityErrorCode; +import org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException; +import org.apache.accumulo.core.client.security.tokens.AuthenticationToken; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.data.thrift.IterInfo; +import org.apache.accumulo.core.data.thrift.TColumn; +import org.apache.accumulo.core.data.thrift.TKeyExtent; +import org.apache.accumulo.core.data.thrift.TRange; +import org.apache.accumulo.core.master.thrift.FateOperation; +import org.apache.accumulo.core.metadata.MetadataTable; +import org.apache.accumulo.core.metadata.RootTable; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.security.Credentials; +import org.apache.accumulo.core.security.NamespacePermission; +import org.apache.accumulo.core.security.SystemPermission; +import org.apache.accumulo.core.security.TablePermission; +import org.apache.accumulo.core.security.thrift.TCredentials; +import org.apache.accumulo.server.client.HdfsZooInstance; +import org.apache.accumulo.server.conf.ServerConfiguration; +import org.apache.accumulo.server.security.handler.Authenticator; +import org.apache.accumulo.server.security.handler.Authorizor; +import org.apache.accumulo.server.security.handler.PermissionHandler; +import org.apache.accumulo.server.security.handler.ZKAuthenticator; +import org.apache.accumulo.server.security.handler.ZKAuthorizor; +import org.apache.accumulo.server.security.handler.ZKPermHandler; +import org.apache.accumulo.server.zookeeper.ZooCache; +import org.apache.hadoop.io.Text; +import org.apache.log4j.Logger; + +/** + * Utility class for performing various security operations with the appropriate checks + */ +public class SecurityOperation { + private static final Logger log = Logger.getLogger(SecurityOperationsImpl.class); + + protected Authorizor authorizor; + protected Authenticator authenticator; + protected PermissionHandler permHandle; + private static String rootUserName = null; + private final ZooCache zooCache; + private final String ZKUserPath; + + static SecurityOperation instance; + + public static synchronized SecurityOperation getInstance() { +String instanceId = HdfsZooInstance.getInstance().getInstanceID(); +return getInstance(instanceId, false); + } + + public static synchronized SecurityOperation getInstance(String instanceId, boolean initialize) { +if (instance == null) { + instance = new SecurityOperation(getAuthorizor(instanceId, initialize), getAuthenticator(instanceId, initialize), getPermHandler(instanceId, initialize), + instanceId); +} +return instance; + } + + protected static Authorizor getAuthorizor(String instanceId, boolean initialize) { +Authorizor toRet = ServerConfiguration.getSiteConfiguration().instantiateClassProperty(Property.INSTANCE_SECURITY_AUTHORIZOR,
[11/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/base/src/main/java/org/apache/accumulo/server/watcher/MonitorLog4jWatcher.java -- diff --cc server/base/src/main/java/org/apache/accumulo/server/watcher/MonitorLog4jWatcher.java index 292129d,000..7ae4d5a mode 100644,00..100644 --- a/server/base/src/main/java/org/apache/accumulo/server/watcher/MonitorLog4jWatcher.java +++ b/server/base/src/main/java/org/apache/accumulo/server/watcher/MonitorLog4jWatcher.java @@@ -1,150 -1,0 +1,152 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.server.watcher; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.zookeeper.ZooUtil; +import org.apache.accumulo.server.zookeeper.ZooReaderWriter; +import org.apache.log4j.Appender; +import org.apache.log4j.LogManager; +import org.apache.log4j.Logger; +import org.apache.log4j.helpers.FileWatchdog; +import org.apache.zookeeper.KeeperException.NoNodeException; +import org.apache.zookeeper.WatchedEvent; +import org.apache.zookeeper.Watcher; + +import com.google.common.net.HostAndPort; + +/** + * Watcher that updates the monitor's log4j port from ZooKeeper in a system property + */ +public class MonitorLog4jWatcher extends FileWatchdog implements Watcher { + private static final Logger log = Logger.getLogger(MonitorLog4jWatcher.class); + + private static final String HOST_PROPERTY_NAME = org.apache.accumulo.core.host.log; + private static final String PORT_PROPERTY_NAME = org.apache.accumulo.core.host.log.port; + + private final Object lock; + private final Log4jConfiguration logConfig; + private boolean loggingDisabled = false; + protected String path; + + public MonitorLog4jWatcher(String instance, String filename) { +super(filename); +this.path = ZooUtil.getRoot(instance) + Constants.ZMONITOR_LOG4J_ADDR; +this.lock = new Object(); +this.logConfig = new Log4jConfiguration(filename); +doOnChange(); + } + + boolean isUsingProperties() { +return logConfig.isUsingProperties(); + } + + String getPath() { +return path; + } + + @Override + public void run() { +try { + // Initially set the logger if the Monitor's log4j advertisement node exists + if (ZooReaderWriter.getInstance().exists(path, this)) +updateMonitorLog4jLocation(); + log.info(Set watch for Monitor Log4j watcher); +} catch (Exception e) { + log.error(Unable to set watch for Monitor Log4j watcher on + path); +} + +super.run(); + } + + @Override + public void doOnChange() { +// this method gets called in the parent class' constructor +// I'm not sure of a better way to get around this. The final modifier helps though. +if (null == lock) { + return; +} + +synchronized (lock) { + // We might triggered by file-reloading or from ZK update. + // Either way will result in log-forwarding being restarted + loggingDisabled = false; + log.info(Enabled log-forwarding); + logConfig.resetLogger(); +} + } + + @Override + public void process(WatchedEvent event) { +// We got an update, process the data in the node +updateMonitorLog4jLocation(); + +if (event.getPath() != null) { + try { +ZooReaderWriter.getInstance().exists(event.getPath(), this); + } catch (Exception ex) { +log.error(Unable to reset watch for Monitor Log4j watcher, ex); + } +} + } + + /** + * Read the host and port information for the Monitor's log4j socket and update the system properties so that, on logger refresh, it sees the new information. + */ + protected void updateMonitorLog4jLocation() { +try { - String hostPortString = new String(ZooReaderWriter.getInstance().getData(path, null), Constants.UTF8); ++ String hostPortString = new String(ZooReaderWriter.getInstance().getData(path, null), UTF_8); + HostAndPort hostAndPort = HostAndPort.fromString(hostPortString); + +
[18/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/core/src/main/java/org/apache/accumulo/core/data/Condition.java -- diff --cc core/src/main/java/org/apache/accumulo/core/data/Condition.java index bfd4818,000..e6e31eb mode 100644,00..100644 --- a/core/src/main/java/org/apache/accumulo/core/data/Condition.java +++ b/core/src/main/java/org/apache/accumulo/core/data/Condition.java @@@ -1,238 -1,0 +1,239 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.core.data; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.util.Arrays; +import java.util.HashSet; + - import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.IteratorSetting; +import org.apache.accumulo.core.security.ColumnVisibility; +import org.apache.accumulo.core.util.ArgumentChecker; +import org.apache.hadoop.io.Text; + +/** + * Conditions that must be met on a particular column in a row. + * + * @since 1.6.0 + */ +public class Condition { + + private ByteSequence cf; + private ByteSequence cq; + private ByteSequence cv; + private ByteSequence val; + private Long ts; + private IteratorSetting iterators[] = new IteratorSetting[0]; + private static final ByteSequence EMPTY = new ArrayByteSequence(new byte[0]); + + + public Condition(CharSequence cf, CharSequence cq) { +ArgumentChecker.notNull(cf, cq); - this.cf = new ArrayByteSequence(cf.toString().getBytes(Constants.UTF8)); - this.cq = new ArrayByteSequence(cq.toString().getBytes(Constants.UTF8)); ++this.cf = new ArrayByteSequence(cf.toString().getBytes(UTF_8)); ++this.cq = new ArrayByteSequence(cq.toString().getBytes(UTF_8)); +this.cv = EMPTY; + } + + public Condition(byte[] cf, byte[] cq) { +ArgumentChecker.notNull(cf, cq); +this.cf = new ArrayByteSequence(cf); +this.cq = new ArrayByteSequence(cq); +this.cv = EMPTY; + } + + public Condition(Text cf, Text cq) { +ArgumentChecker.notNull(cf, cq); +this.cf = new ArrayByteSequence(cf.getBytes(), 0, cf.getLength()); +this.cq = new ArrayByteSequence(cq.getBytes(), 0, cq.getLength()); +this.cv = EMPTY; + } + + public Condition(ByteSequence cf, ByteSequence cq) { +ArgumentChecker.notNull(cf, cq); +this.cf = cf; +this.cq = cq; +this.cv = EMPTY; + } + + public ByteSequence getFamily() { +return cf; + } + + public ByteSequence getQualifier() { +return cq; + } + + /** + * Sets the version for the column to check. If this is not set then the latest column will be checked, unless iterators do something different. + * + * @return returns this + */ + + public Condition setTimestamp(long ts) { +this.ts = ts; +return this; + } + + public Long getTimestamp() { +return ts; + } + + /** + * see {@link #setValue(byte[])} + * + * @return returns this + */ + + public Condition setValue(CharSequence value) { +ArgumentChecker.notNull(value); - this.val = new ArrayByteSequence(value.toString().getBytes(Constants.UTF8)); ++this.val = new ArrayByteSequence(value.toString().getBytes(UTF_8)); +return this; + } + + /** + * This method sets the expected value of a column. Inorder for the condition to pass the column must exist and have this value. If a value is not set, then + * the column must be absent for the condition to pass. + * + * @return returns this + */ + + public Condition setValue(byte[] value) { +ArgumentChecker.notNull(value); +this.val = new ArrayByteSequence(value); +return this; + } + + /** + * see {@link #setValue(byte[])} + * + * @return returns this + */ + + public Condition setValue(Text value) { +ArgumentChecker.notNull(value); +this.val = new ArrayByteSequence(value.getBytes(), 0, value.getLength()); +return this; + } + + /** + * see {@link #setValue(byte[])} + * + * @return returns this + */ + + public Condition setValue(ByteSequence value) { +ArgumentChecker.notNull(value); +
[38/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/core/src/test/java/org/apache/accumulo/core/data/ValueTest.java -- diff --cc core/src/test/java/org/apache/accumulo/core/data/ValueTest.java index cd26743,000..8022c14 mode 100644,00..100644 --- a/core/src/test/java/org/apache/accumulo/core/data/ValueTest.java +++ b/core/src/test/java/org/apache/accumulo/core/data/ValueTest.java @@@ -1,210 -1,0 +1,211 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * License); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.core.data; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.DataInputStream; +import java.io.DataOutputStream; +import java.nio.ByteBuffer; - import java.nio.charset.Charset; +import java.util.List; + +import org.junit.Before; +import org.junit.Test; + +import static org.easymock.EasyMock.*; +import static org.junit.Assert.*; + +public class ValueTest { + private static final byte[] toBytes(String s) { - return s.getBytes(Charset.forName(UTF-8)); ++return s.getBytes(UTF_8); + } + + private static final byte[] DATA = toBytes(data); + private static final ByteBuffer DATABUFF = ByteBuffer.allocate(DATA.length); + static { +DATABUFF.put(DATA); + } + + @Before + public void setUp() throws Exception { +DATABUFF.rewind(); + } + + @Test + public void testDefault() { +Value v = new Value(); +assertEquals(0, v.get().length); + } + + @Test(expected=NullPointerException.class) + public void testNullBytesConstructor() { +new Value((byte[]) null); + } + + @Test(expected=NullPointerException.class) + public void testNullCopyConstructor() { +new Value((Value) null); + } + + @Test(expected=NullPointerException.class) + public void testNullByteBufferConstructor() { +new Value((ByteBuffer)null); + } + + @Test(expected=NullPointerException.class) + public void testNullSet() { +Value v = new Value(); +v.set(null); + } + + @Test + public void testByteArray() { +Value v = new Value(DATA); +assertArrayEquals(DATA, v.get()); +assertSame(DATA, v.get()); + } + + @Test + public void testByteArrayCopy() { +Value v = new Value(DATA, true); +assertArrayEquals(DATA, v.get()); +assertNotSame(DATA, v.get()); + } + + @Test + public void testByteBuffer() { +Value v = new Value(DATABUFF); +assertArrayEquals(DATA, v.get()); + } + + @Test + public void testByteBufferCopy() { +@SuppressWarnings(deprecation) +Value v = new Value(DATABUFF, true); +assertArrayEquals(DATA, v.get()); + } + + @Test + public void testValueCopy() { +Value ov = createMock(Value.class); +expect(ov.get()).andReturn(DATA); +expect(ov.getSize()).andReturn(4); +replay(ov); +Value v = new Value(ov); +assertArrayEquals(DATA, v.get()); + } + + @Test + public void testByteArrayOffsetLength() { +Value v = new Value(DATA, 0, 4); +assertArrayEquals(DATA, v.get()); + } + + @Test + public void testSet() { +Value v = new Value(); +v.set(DATA); +assertArrayEquals(DATA, v.get()); +assertSame(DATA, v.get()); + } + + @Test + public void testCopy() { +Value v = new Value(); +v.copy(DATA); +assertArrayEquals(DATA, v.get()); +assertNotSame(DATA, v.get()); + } + + @Test + public void testGetSize() { +Value v = new Value(DATA); +assertEquals(DATA.length, v.getSize()); + } + + @Test + public void testGetSizeDefault() { +Value v = new Value(); +assertEquals(0, v.getSize()); + } + + @Test + public void testWriteRead() throws Exception { +Value v = new Value(DATA); +ByteArrayOutputStream baos = new ByteArrayOutputStream(); +DataOutputStream dos = new DataOutputStream(baos); +v.write(dos); +dos.close(); +ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray()); +DataInputStream dis = new DataInputStream(bais); +Value v2 = new Value(); +v2.readFields(dis);
[49/50] [abbrv] Merge branch '1.6'
http://git-wip-us.apache.org/repos/asf/accumulo/blob/cfbdef13/core/src/main/java/org/apache/accumulo/core/util/Encoding.java -- diff --cc core/src/main/java/org/apache/accumulo/core/util/Encoding.java index 761fc1f,b26b363..259f783 --- a/core/src/main/java/org/apache/accumulo/core/util/Encoding.java +++ b/core/src/main/java/org/apache/accumulo/core/util/Encoding.java @@@ -16,7 -16,7 +16,7 @@@ */ package org.apache.accumulo.core.util; - import java.nio.charset.StandardCharsets; -import static com.google.common.base.Charsets.UTF_8; ++import static java.nio.charset.StandardCharsets.UTF_8; import org.apache.accumulo.core.util.Base64; import org.apache.hadoop.io.Text; http://git-wip-us.apache.org/repos/asf/accumulo/blob/cfbdef13/core/src/main/java/org/apache/accumulo/core/util/FastFormat.java -- diff --cc core/src/main/java/org/apache/accumulo/core/util/FastFormat.java index 7b84dc8,d1994ce..e103ac6 --- a/core/src/main/java/org/apache/accumulo/core/util/FastFormat.java +++ b/core/src/main/java/org/apache/accumulo/core/util/FastFormat.java @@@ -16,7 -16,7 +16,7 @@@ */ package org.apache.accumulo.core.util; - import java.nio.charset.StandardCharsets; -import static com.google.common.base.Charsets.UTF_8; ++import static java.nio.charset.StandardCharsets.UTF_8; public class FastFormat { // this 7 to 8 times faster than String.format(%s%06d,prefix, num) http://git-wip-us.apache.org/repos/asf/accumulo/blob/cfbdef13/core/src/main/java/org/apache/accumulo/core/util/Merge.java -- diff --cc core/src/main/java/org/apache/accumulo/core/util/Merge.java index 167933f,05067b5..c156311 --- a/core/src/main/java/org/apache/accumulo/core/util/Merge.java +++ b/core/src/main/java/org/apache/accumulo/core/util/Merge.java @@@ -16,7 -16,8 +16,8 @@@ */ package org.apache.accumulo.core.util; - import java.nio.charset.StandardCharsets; -import static com.google.common.base.Charsets.UTF_8; ++import static java.nio.charset.StandardCharsets.UTF_8; + import java.util.ArrayList; import java.util.Iterator; import java.util.List; http://git-wip-us.apache.org/repos/asf/accumulo/blob/cfbdef13/core/src/main/java/org/apache/accumulo/core/util/MonitorUtil.java -- diff --cc core/src/main/java/org/apache/accumulo/core/util/MonitorUtil.java index 90268ef,e71a377..4a0f9ef --- a/core/src/main/java/org/apache/accumulo/core/util/MonitorUtil.java +++ b/core/src/main/java/org/apache/accumulo/core/util/MonitorUtil.java @@@ -16,7 -16,7 +16,7 @@@ */ package org.apache.accumulo.core.util; - import java.nio.charset.StandardCharsets; -import static com.google.common.base.Charsets.UTF_8; ++import static java.nio.charset.StandardCharsets.UTF_8; import org.apache.accumulo.core.Constants; import org.apache.accumulo.core.client.Instance; http://git-wip-us.apache.org/repos/asf/accumulo/blob/cfbdef13/core/src/main/java/org/apache/accumulo/core/util/TextUtil.java -- diff --cc core/src/main/java/org/apache/accumulo/core/util/TextUtil.java index a57839b,617c079..66ad8f5 --- a/core/src/main/java/org/apache/accumulo/core/util/TextUtil.java +++ b/core/src/main/java/org/apache/accumulo/core/util/TextUtil.java @@@ -16,9 -16,10 +16,9 @@@ */ package org.apache.accumulo.core.util; - import java.nio.ByteBuffer; - import java.nio.charset.StandardCharsets; -import static com.google.common.base.Charsets.UTF_8; ++import static java.nio.charset.StandardCharsets.UTF_8; + import java.nio.ByteBuffer; - import org.apache.accumulo.core.Constants; import org.apache.hadoop.io.Text; http://git-wip-us.apache.org/repos/asf/accumulo/blob/cfbdef13/core/src/test/java/org/apache/accumulo/core/client/BatchWriterConfigTest.java -- diff --cc core/src/test/java/org/apache/accumulo/core/client/BatchWriterConfigTest.java index 8f0812c,c276056..a386c04 --- a/core/src/test/java/org/apache/accumulo/core/client/BatchWriterConfigTest.java +++ b/core/src/test/java/org/apache/accumulo/core/client/BatchWriterConfigTest.java @@@ -16,6 -16,7 +16,7 @@@ */ package org.apache.accumulo.core.client; -import static com.google.common.base.Charsets.UTF_8; ++import static java.nio.charset.StandardCharsets.UTF_8; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; @@@ -161,14 -155,8 +161,14 @@@ public class BatchWriterConfigTest bwConfig.setMaxWriteThreads(24); bwConfig.setTimeout(3, TimeUnit.SECONDS); bytes = createBytes(bwConfig); - assertEquals( v#maxWriteThreads=24,timeout=3000, new String(bytes, StandardCharsets.UTF_8)); + assertEquals(
[24/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/test/src/test/java/org/apache/accumulo/test/AuditMessageIT.java -- diff --cc test/src/test/java/org/apache/accumulo/test/AuditMessageIT.java index e44d8df,000..49b5d70 mode 100644,00..100644 --- a/test/src/test/java/org/apache/accumulo/test/AuditMessageIT.java +++ b/test/src/test/java/org/apache/accumulo/test/AuditMessageIT.java @@@ -1,496 -1,0 +1,496 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.test; + ++import static com.google.common.base.Charsets.UTF_8; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Map; +import java.util.Set; + - import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.AccumuloException; +import org.apache.accumulo.core.client.AccumuloSecurityException; +import org.apache.accumulo.core.client.BatchScanner; +import org.apache.accumulo.core.client.BatchWriter; +import org.apache.accumulo.core.client.BatchWriterConfig; +import org.apache.accumulo.core.client.Connector; +import org.apache.accumulo.core.client.Scanner; +import org.apache.accumulo.core.client.TableExistsException; +import org.apache.accumulo.core.client.TableNotFoundException; +import org.apache.accumulo.core.client.security.tokens.PasswordToken; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.Mutation; +import org.apache.accumulo.core.data.Range; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.security.SystemPermission; +import org.apache.accumulo.core.security.TablePermission; +import org.apache.accumulo.minicluster.impl.MiniAccumuloClusterImpl; +import org.apache.accumulo.minicluster.impl.MiniAccumuloConfigImpl; +import org.apache.accumulo.server.security.AuditedSecurityOperation; +import org.apache.accumulo.test.functional.ConfigurableMacIT; +import org.apache.commons.io.FileUtils; +import org.apache.commons.io.LineIterator; +import org.apache.hadoop.io.Text; +import org.junit.Before; +import org.junit.Test; + +/** + * Tests that Accumulo is outputting audit messages as expected. Since this is using MiniAccumuloCluster, it could take a while if we test everything in + * isolation. We test blocks of related operations, run the whole test in one MiniAccumulo instance, trying to clean up objects between each test. The + * MiniAccumuloClusterTest sets up the log4j stuff differently to an installed instance, instead piping everything through stdout and writing to a set location + * so we have to find the logs and grep the bits we need out. + */ +public class AuditMessageIT extends ConfigurableMacIT { + + private static final String AUDIT_USER_1 = AuditUser1; + private static final String AUDIT_USER_2 = AuditUser2; + private static final String PASSWORD = password; + private static final String OLD_TEST_TABLE_NAME = apples; + private static final String NEW_TEST_TABLE_NAME = oranges; + private static final String THIRD_TEST_TABLE_NAME = pears; + private static final Authorizations auths = new Authorizations(private, public); + + @Override + public int defaultTimeoutSeconds() { +return 60; + } + + @Override + public void beforeClusterStart(MiniAccumuloConfigImpl cfg) throws Exception { +new File(cfg.getConfDir(), auditLog.xml).delete(); + } + + // Must be static to survive Junit re-initialising the class every time. + private static String lastAuditTimestamp; + private Connector auditConnector; + private Connector conn; + + private static ArrayListString findAuditMessage(ArrayListString input, String pattern) { +ArrayListString result = new ArrayListString(); +for (String s : input) { + if (s.matches(.* + pattern + .*)) +result.add(s); +} +return result; + } + + /** + * Returns a List of Audit messages
[46/50] [abbrv] Merge branch '1.6'
http://git-wip-us.apache.org/repos/asf/accumulo/blob/cfbdef13/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java -- diff --cc server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java index d82827e,000..95c4f07 mode 100644,00..100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java @@@ -1,2675 -1,0 +1,2676 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.tserver.tablet; + ++import static java.nio.charset.StandardCharsets.UTF_8; ++ +import java.io.ByteArrayInputStream; +import java.io.DataInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; - import java.nio.charset.StandardCharsets; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.PriorityQueue; +import java.util.Set; +import java.util.SortedMap; +import java.util.TreeMap; +import java.util.concurrent.atomic.AtomicBoolean; +import java.util.concurrent.atomic.AtomicLong; +import java.util.concurrent.atomic.AtomicReference; +import java.util.concurrent.locks.ReentrantLock; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.Durability; +import org.apache.accumulo.core.client.IteratorSetting; +import org.apache.accumulo.core.client.impl.DurabilityImpl; +import org.apache.accumulo.core.client.impl.ScannerImpl; +import org.apache.accumulo.core.client.impl.Tables; +import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.conf.ConfigurationCopy; +import org.apache.accumulo.core.conf.ConfigurationObserver; +import org.apache.accumulo.core.conf.Property; +import org.apache.accumulo.core.constraints.Violations; +import org.apache.accumulo.core.data.ByteSequence; +import org.apache.accumulo.core.data.Column; +import org.apache.accumulo.core.data.ColumnUpdate; +import org.apache.accumulo.core.data.Key; +import org.apache.accumulo.core.data.KeyExtent; +import org.apache.accumulo.core.data.Mutation; +import org.apache.accumulo.core.data.Range; +import org.apache.accumulo.core.data.Value; +import org.apache.accumulo.core.data.thrift.IterInfo; +import org.apache.accumulo.core.data.thrift.MapFileInfo; +import org.apache.accumulo.core.file.FileOperations; +import org.apache.accumulo.core.file.FileSKVIterator; +import org.apache.accumulo.core.iterators.IterationInterruptedException; +import org.apache.accumulo.core.iterators.IteratorUtil.IteratorScope; +import org.apache.accumulo.core.iterators.SortedKeyValueIterator; +import org.apache.accumulo.core.iterators.system.SourceSwitchingIterator; +import org.apache.accumulo.core.master.thrift.TabletLoadState; +import org.apache.accumulo.core.metadata.MetadataTable; +import org.apache.accumulo.core.metadata.RootTable; +import org.apache.accumulo.core.metadata.schema.DataFileValue; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.DataFileColumnFamily; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.LogColumnFamily; +import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.ScanFileColumnFamily; +import org.apache.accumulo.core.protobuf.ProtobufUtil; +import org.apache.accumulo.core.replication.ReplicationConfigurationUtil; +import org.apache.accumulo.core.replication.StatusUtil; +import org.apache.accumulo.core.replication.proto.Replication.Status; +import org.apache.accumulo.core.security.Authorizations; +import org.apache.accumulo.core.security.ColumnVisibility; +import org.apache.accumulo.core.security.Credentials; +import org.apache.accumulo.core.tabletserver.log.LogEntry; +import
[28/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ShellServlet.java -- diff --cc server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ShellServlet.java index 665b132,000..4975428 mode 100644,00..100644 --- a/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ShellServlet.java +++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/servlets/ShellServlet.java @@@ -1,356 -1,0 +1,357 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.monitor.servlets; + ++import static com.google.common.base.Charsets.UTF_8; ++ +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.PrintWriter; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import jline.console.ConsoleReader; + - import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.util.shell.Shell; + +public class ShellServlet extends BasicServlet { + private static final long serialVersionUID = 1L; + private MapString,ShellExecutionThread userShells = new HashMapString,ShellExecutionThread(); + private ExecutorService service = Executors.newCachedThreadPool(); + + public static final String CSRF_KEY = csrf_token; + + @Override + protected String getTitle(HttpServletRequest req) { +return Shell; + } + + @Override + protected void pageBody(HttpServletRequest req, HttpServletResponse response, StringBuilder sb) throws IOException { +HttpSession session = req.getSession(true); +final String CSRF_TOKEN; +if (null == session.getAttribute(CSRF_KEY)) { + // No token, make one + CSRF_TOKEN = UUID.randomUUID().toString(); + session.setAttribute(CSRF_KEY, CSRF_TOKEN); +} else { + // Pull the token out of the session + CSRF_TOKEN = (String) session.getAttribute(CSRF_KEY); + if (null == CSRF_TOKEN) { +throw new RuntimeException(No valid CSRF token exists in session); + } +} + +String user = (String) session.getAttribute(user); +if (user == null) { + // user attribute is null, check to see if username and password are passed as parameters + user = req.getParameter(user); + String pass = req.getParameter(pass); + String mock = req.getParameter(mock); + if (user == null || pass == null) { +// username or password are null, re-authenticate +sb.append(authenticationForm(req.getRequestURI(), CSRF_TOKEN)); +return; + } + try { +// get a new shell for this user +ShellExecutionThread shellThread = new ShellExecutionThread(user, pass, mock); +service.submit(shellThread); +userShells.put(session.getId(), shellThread); + } catch (IOException e) { +// error validating user, reauthenticate +sb.append(div id='loginError'Invalid user/password/div + authenticationForm(req.getRequestURI(), CSRF_TOKEN)); +return; + } + session.setAttribute(user, user); +} +if (!userShells.containsKey(session.getId())) { + // no existing shell for this user, re-authenticate + sb.append(authenticationForm(req.getRequestURI(), UUID.randomUUID().toString())); + return; +} + +ShellExecutionThread shellThread = userShells.get(session.getId()); +shellThread.getOutput(); +shellThread.printInfo(); +sb.append(div id='shell'\n); +sb.append(pre id='shellResponse').append(shellThread.getOutput()).append(/pre\n); +sb.append(formspan id='shellPrompt').append(shellThread.getPrompt()); +sb.append(/spaninput type='text' name='cmd' id='cmd' onkeydown='return handleKeyDown(event.keyCode);'\n); +
[15/50] [abbrv] Merge branch '1.5' into 1.6
http://git-wip-us.apache.org/repos/asf/accumulo/blob/9b20a9d4/server/base/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java -- diff --cc server/base/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java index e8d5bbf,000..002389a mode 100644,00..100644 --- a/server/base/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java +++ b/server/base/src/main/java/org/apache/accumulo/server/master/LiveTServerSet.java @@@ -1,399 -1,0 +1,400 @@@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the License); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.accumulo.server.master; + ++import static com.google.common.base.Charsets.UTF_8; +import static org.apache.accumulo.fate.zookeeper.ZooUtil.NodeMissingPolicy.SKIP; + +import java.nio.ByteBuffer; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; + +import org.apache.accumulo.core.Constants; +import org.apache.accumulo.core.client.Instance; +import org.apache.accumulo.core.client.impl.thrift.ThriftSecurityException; +import org.apache.accumulo.core.conf.AccumuloConfiguration; +import org.apache.accumulo.core.data.KeyExtent; +import org.apache.accumulo.core.master.thrift.TabletServerStatus; +import org.apache.accumulo.core.tabletserver.thrift.NotServingTabletException; +import org.apache.accumulo.core.tabletserver.thrift.TabletClientService; +import org.apache.accumulo.core.util.AddressUtil; +import org.apache.accumulo.core.util.ServerServices; +import org.apache.accumulo.core.util.ThriftUtil; +import org.apache.accumulo.core.zookeeper.ZooUtil; +import org.apache.accumulo.server.master.state.TServerInstance; +import org.apache.accumulo.server.security.SystemCredentials; +import org.apache.accumulo.server.util.Halt; +import org.apache.accumulo.server.util.time.SimpleTimer; +import org.apache.accumulo.server.zookeeper.ZooCache; +import org.apache.accumulo.server.zookeeper.ZooLock; +import org.apache.accumulo.server.zookeeper.ZooReaderWriter; +import org.apache.accumulo.trace.instrument.Tracer; +import org.apache.hadoop.io.Text; +import org.apache.log4j.Logger; +import org.apache.thrift.TException; +import org.apache.thrift.transport.TTransport; +import org.apache.zookeeper.KeeperException; +import org.apache.zookeeper.KeeperException.NoNodeException; +import org.apache.zookeeper.KeeperException.NotEmptyException; +import org.apache.zookeeper.WatchedEvent; +import org.apache.zookeeper.Watcher; +import org.apache.zookeeper.data.Stat; + +import com.google.common.net.HostAndPort; + +public class LiveTServerSet implements Watcher { + + public interface Listener { +void update(LiveTServerSet current, SetTServerInstance deleted, SetTServerInstance added); + } + + private static final Logger log = Logger.getLogger(LiveTServerSet.class); + + private final Listener cback; + private final Instance instance; + private final AccumuloConfiguration conf; + private ZooCache zooCache; + + public class TServerConnection { +private final HostAndPort address; + +public TServerConnection(HostAndPort addr) throws TException { + address = addr; +} + +private String lockString(ZooLock mlock) { + return mlock.getLockID().serialize(ZooUtil.getRoot(instance) + Constants.ZMASTER_LOCK); +} + +public void assignTablet(ZooLock lock, KeyExtent extent) throws TException { + TabletClientService.Client client = ThriftUtil.getClient(new TabletClientService.Client.Factory(), address, conf); + try { +client.loadTablet(Tracer.traceInfo(), SystemCredentials.get().toThrift(instance), lockString(lock), extent.toThrift()); + } finally { +ThriftUtil.returnClient(client); + } +} + +public void unloadTablet(ZooLock lock, KeyExtent extent, boolean save) throws TException { + TabletClientService.Client client = ThriftUtil.getClient(new TabletClientService.Client.Factory(), address, conf); + try { +client.unloadTablet(Tracer.traceInfo(), SystemCredentials.get().toThrift(instance), lockString(lock),