You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by el...@apache.org on 2014/09/22 22:45:13 UTC
[15/15] git commit: ACCUMULO-652 merged changes from trunk
ACCUMULO-652 merged changes from trunk
git-svn-id: https://svn.apache.org/repos/asf/accumulo/branches/ACCUMULO-652@1438749 13f79535-47bb-0310-9956-ffa450edef68
Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/58fcad6e
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/58fcad6e
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/58fcad6e
Branch: refs/heads/ACCUMULO-652
Commit: 58fcad6ec19e4c41ab733584c584bf5fe64fbc4f
Parents: 7bfa823 2983a1f
Author: Adam Fuchs <af...@apache.org>
Authored: Fri Jan 25 22:50:58 2013 +0000
Committer: Adam Fuchs <af...@apache.org>
Committed: Fri Jan 25 22:50:58 2013 +0000
----------------------------------------------------------------------
.gitignore | 148 +-
LICENSE | 240 +-
README | 36 +-
assemble/build.sh | 2 +-
assemble/dist.xml | 184 +-
assemble/pom.xml | 76 +-
assemble/scripts/gc-only-init.sh | 47 +
assemble/scripts/init.d/accumulo-gc | 159 +
assemble/scripts/init.d/accumulo-master | 160 +
assemble/scripts/init.d/accumulo-monitor | 159 +
assemble/scripts/init.d/accumulo-slave | 164 +
assemble/scripts/init.d/accumulo-tracer | 159 +
assemble/scripts/init.d/accumulo-tserver | 160 +
assemble/scripts/master-only-init.sh | 46 +
assemble/scripts/monitor-only-init.sh | 45 +
assemble/scripts/slave-only-init.sh | 46 +
assemble/scripts/stand-alone-init.sh | 26 +
assemble/scripts/tracer-only-init.sh | 45 +
assemble/scripts/tserver-only-init.sh | 46 +
bin/accumulo | 73 +-
bin/bootstrap_hdfs.sh | 76 +
bin/config.sh | 21 +-
bin/start-all.sh | 3 +-
bin/start-server.sh | 41 +-
bin/stop-all.sh | 4 +-
bin/stop-server.sh | 26 +-
bin/tool.sh | 19 +-
.../1GB/native-standalone/accumulo-env.sh | 15 +-
.../1GB/native-standalone/accumulo-site.xml | 191 +-
.../1GB/native-standalone/generic_logger.xml | 8 +-
.../1GB/native-standalone/log4j.properties | 6 +-
.../1GB/native-standalone/monitor_logger.xml | 4 +-
conf/examples/1GB/standalone/accumulo-env.sh | 15 +-
conf/examples/1GB/standalone/accumulo-site.xml | 181 +-
conf/examples/1GB/standalone/generic_logger.xml | 8 +-
conf/examples/1GB/standalone/log4j.properties | 6 +-
conf/examples/1GB/standalone/monitor_logger.xml | 4 +-
.../2GB/native-standalone/accumulo-env.sh | 14 +-
.../2GB/native-standalone/accumulo-site.xml | 171 +-
.../2GB/native-standalone/generic_logger.xml | 8 +-
.../2GB/native-standalone/log4j.properties | 6 +-
.../2GB/native-standalone/monitor_logger.xml | 4 +-
conf/examples/2GB/standalone/accumulo-env.sh | 15 +-
conf/examples/2GB/standalone/accumulo-site.xml | 23 +-
conf/examples/2GB/standalone/generic_logger.xml | 8 +-
conf/examples/2GB/standalone/log4j.properties | 6 +-
conf/examples/2GB/standalone/monitor_logger.xml | 4 +-
.../3GB/native-standalone/accumulo-env.sh | 14 +-
.../3GB/native-standalone/accumulo-site.xml | 161 +-
.../3GB/native-standalone/generic_logger.xml | 8 +-
.../3GB/native-standalone/log4j.properties | 6 +-
.../3GB/native-standalone/monitor_logger.xml | 4 +-
conf/examples/3GB/standalone/accumulo-env.sh | 14 +-
conf/examples/3GB/standalone/accumulo-site.xml | 161 +-
conf/examples/3GB/standalone/generic_logger.xml | 8 +-
conf/examples/3GB/standalone/log4j.properties | 6 +-
conf/examples/3GB/standalone/monitor_logger.xml | 4 +-
.../512MB/native-standalone/accumulo-env.sh | 14 +-
.../512MB/native-standalone/accumulo-site.xml | 181 +-
.../512MB/native-standalone/generic_logger.xml | 8 +-
.../512MB/native-standalone/log4j.properties | 6 +-
.../512MB/native-standalone/monitor_logger.xml | 4 +-
conf/examples/512MB/standalone/accumulo-env.sh | 14 +-
.../examples/512MB/standalone/accumulo-site.xml | 191 +-
.../512MB/standalone/generic_logger.xml | 8 +-
conf/examples/512MB/standalone/log4j.properties | 6 +-
.../512MB/standalone/monitor_logger.xml | 4 +-
conf/examples/vfs-classloader/accumulo-site.xml | 116 +
contrib/Eclipse-Accumulo-Codestyle.xml | 2 +-
contrib/Eclipse-Accumulo-Template.xml | 8 +-
contrib/findbugs_build.xml | 80 +
contrib/run_findbugs.sh | 3 +
core/pom.xml | 60 +-
.../org/apache/accumulo/core/Constants.java | 30 +-
.../accumulo/core/bloomfilter/BloomFilter.java | 17 +-
.../core/bloomfilter/DynamicBloomFilter.java | 16 +-
.../accumulo/core/bloomfilter/Filter.java | 12 +-
.../accumulo/core/cli/BatchScannerOpts.java | 30 +
.../accumulo/core/cli/BatchWriterOpts.java | 50 +
.../accumulo/core/cli/ClientOnDefaultTable.java | 52 +
.../core/cli/ClientOnRequiredTable.java | 40 +
.../apache/accumulo/core/cli/ClientOpts.java | 227 +
.../java/org/apache/accumulo/core/cli/Help.java | 45 +
.../apache/accumulo/core/cli/ScannerOpts.java | 24 +
.../accumulo/core/client/AccumuloException.java | 6 +-
.../core/client/AccumuloSecurityException.java | 24 +-
.../accumulo/core/client/BatchScanner.java | 16 +
.../accumulo/core/client/BatchWriter.java | 8 +
.../accumulo/core/client/BatchWriterConfig.java | 224 +
.../core/client/ClientSideIteratorScanner.java | 47 +-
.../apache/accumulo/core/client/Connector.java | 57 +
.../apache/accumulo/core/client/Instance.java | 38 +
.../accumulo/core/client/IsolatedScanner.java | 27 +-
.../accumulo/core/client/IteratorSetting.java | 37 +-
.../core/client/MutationsRejectedException.java | 19 +-
.../apache/accumulo/core/client/Scanner.java | 4 +
.../accumulo/core/client/ScannerBase.java | 19 +
.../accumulo/core/client/TimedOutException.java | 54 +
.../accumulo/core/client/ZooKeeperInstance.java | 67 +-
.../core/client/admin/ActiveCompaction.java | 184 +
.../accumulo/core/client/admin/ActiveScan.java | 17 +
.../accumulo/core/client/admin/FindMax.java | 2 +-
.../core/client/admin/InstanceOperations.java | 21 +
.../client/admin/InstanceOperationsImpl.java | 139 +-
.../core/client/admin/SecurityOperations.java | 56 +
.../client/admin/SecurityOperationsImpl.java | 182 +-
.../core/client/admin/TableOperations.java | 31 +
.../client/admin/TableOperationsHelper.java | 6 +-
.../core/client/admin/TableOperationsImpl.java | 149 +-
.../client/impl/AccumuloServerException.java | 4 +-
.../core/client/impl/BatchWriterImpl.java | 9 +-
.../core/client/impl/ConnectorImpl.java | 95 +-
.../accumulo/core/client/impl/MasterClient.java | 16 +-
.../client/impl/MetadataLocationObtainer.java | 26 +-
.../client/impl/MultiTableBatchWriterImpl.java | 7 +-
.../core/client/impl/OfflineScanner.java | 51 +-
.../accumulo/core/client/impl/ScannerImpl.java | 46 +-
.../core/client/impl/ScannerIterator.java | 6 +-
.../core/client/impl/ScannerOptions.java | 20 +
.../accumulo/core/client/impl/ServerClient.java | 44 +-
.../core/client/impl/TabletLocator.java | 30 +-
.../core/client/impl/TabletLocatorImpl.java | 25 +-
.../client/impl/TabletServerBatchDeleter.java | 19 +-
.../client/impl/TabletServerBatchReader.java | 8 +-
.../impl/TabletServerBatchReaderIterator.java | 158 +-
.../client/impl/TabletServerBatchWriter.java | 177 +-
.../accumulo/core/client/impl/TabletType.java | 1 -
.../core/client/impl/ThriftScanner.java | 78 +-
.../core/client/impl/ThriftTransportPool.java | 4 +-
.../core/client/impl/TimeoutTabletLocator.java | 136 +
.../accumulo/core/client/impl/Writer.java | 21 +-
.../core/client/impl/thrift/ClientService.java | 11281 ++-
.../client/impl/thrift/ConfigurationType.java | 21 +-
.../core/client/impl/thrift/TableOperation.java | 29 +-
.../thrift/TableOperationExceptionType.java | 21 +-
.../thrift/ThriftTableOperationException.java | 311 +-
.../core/client/impl/thrift/ThriftTest.java | 2255 +
.../client/mapred/AccumuloFileOutputFormat.java | 178 +
.../core/client/mapred/AccumuloInputFormat.java | 82 +
.../client/mapred/AccumuloOutputFormat.java | 477 +
.../client/mapred/AccumuloRowInputFormat.java | 85 +
.../core/client/mapred/InputFormatBase.java | 805 +
.../mapreduce/AccumuloFileOutputFormat.java | 209 +-
.../client/mapreduce/AccumuloInputFormat.java | 20 +-
.../client/mapreduce/AccumuloOutputFormat.java | 551 +-
.../mapreduce/AccumuloRowInputFormat.java | 19 +
.../core/client/mapreduce/InputFormatBase.java | 1185 +-
.../lib/partition/KeyRangePartitioner.java | 6 +-
.../lib/partition/RangePartitioner.java | 7 +-
.../mapreduce/lib/util/ConfiguratorBase.java | 228 +
.../lib/util/FileOutputConfigurator.java | 187 +
.../mapreduce/lib/util/InputConfigurator.java | 529 +
.../mapreduce/lib/util/OutputConfigurator.java | 204 +
.../client/mapreduce/lib/util/package-info.java | 34 +
.../accumulo/core/client/mock/MockAccumulo.java | 10 +
.../core/client/mock/MockBatchScanner.java | 22 +-
.../core/client/mock/MockConnector.java | 33 +-
.../accumulo/core/client/mock/MockInstance.java | 81 +-
.../client/mock/MockInstanceOperations.java | 26 +-
.../accumulo/core/client/mock/MockScanner.java | 14 +-
.../client/mock/MockSecurityOperations.java | 67 +-
.../accumulo/core/client/mock/MockTable.java | 19 +-
.../core/client/mock/MockTableOperations.java | 146 +-
.../core/conf/AccumuloConfiguration.java | 1 +
.../core/conf/DefaultConfiguration.java | 2 +-
.../org/apache/accumulo/core/conf/Property.java | 124 +-
.../apache/accumulo/core/conf/PropertyType.java | 12 +-
.../accumulo/core/conf/SiteConfiguration.java | 4 +-
.../apache/accumulo/core/data/ColumnUpdate.java | 43 +-
.../apache/accumulo/core/data/KeyExtent.java | 5 +-
.../org/apache/accumulo/core/data/Mutation.java | 317 +-
.../apache/accumulo/core/data/PartialKey.java | 7 +-
.../org/apache/accumulo/core/data/Range.java | 2 +-
.../org/apache/accumulo/core/data/Value.java | 5 +-
.../core/data/thrift/InitialMultiScan.java | 216 +-
.../accumulo/core/data/thrift/InitialScan.java | 216 +-
.../accumulo/core/data/thrift/IterInfo.java | 247 +-
.../accumulo/core/data/thrift/MapFileInfo.java | 173 +-
.../core/data/thrift/MultiScanResult.java | 629 +-
.../accumulo/core/data/thrift/ScanResult.java | 262 +-
.../accumulo/core/data/thrift/TColumn.java | 235 +-
.../thrift/TConstraintViolationSummary.java | 289 +-
.../apache/accumulo/core/data/thrift/TKey.java | 321 +-
.../accumulo/core/data/thrift/TKeyExtent.java | 235 +-
.../accumulo/core/data/thrift/TKeyValue.java | 204 +-
.../accumulo/core/data/thrift/TMutation.java | 333 +-
.../accumulo/core/data/thrift/TRange.java | 385 +-
.../accumulo/core/data/thrift/UpdateErrors.java | 445 +-
.../accumulo/core/file/BloomFilterLayer.java | 18 +-
.../org/apache/accumulo/core/file/FileUtil.java | 2 +-
.../core/file/blockfile/ABlockReader.java | 16 +
.../core/file/blockfile/cache/BlockCache.java | 13 +-
.../core/file/blockfile/cache/CacheEntry.java | 37 +-
.../core/file/blockfile/cache/CachedBlock.java | 15 +-
.../file/blockfile/cache/LruBlockCache.java | 13 +-
.../file/blockfile/cache/SimpleBlockCache.java | 54 +-
.../file/blockfile/impl/CachableBlockFile.java | 140 +-
.../accumulo/core/file/rfile/BlockIndex.java | 181 +
.../core/file/rfile/MultiLevelIndex.java | 1 -
.../accumulo/core/file/rfile/PrintInfo.java | 44 +-
.../apache/accumulo/core/file/rfile/RFile.java | 176 +-
.../accumulo/core/file/rfile/RelativeKey.java | 463 +-
.../accumulo/core/file/rfile/SplitLarge.java | 37 +-
.../accumulo/core/file/rfile/bcfile/BCFile.java | 1 -
.../bcfile/BoundedRangeFileInputStream.java | 7 +-
.../core/file/rfile/bcfile/PrintInfo.java | 12 +-
.../accumulo/core/file/rfile/bcfile/TFile.java | 3 +-
.../core/file/rfile/bcfile/TFileDumper.java | 8 +-
.../core/gc/thrift/GCMonitorService.java | 541 +-
.../accumulo/core/gc/thrift/GCStatus.java | 296 +-
.../accumulo/core/gc/thrift/GcCycleStats.java | 383 +-
.../core/iterators/AggregatingIterator.java | 7 +-
.../accumulo/core/iterators/Combiner.java | 21 +-
.../iterators/FamilyIntersectingIterator.java | 1 +
.../apache/accumulo/core/iterators/Filter.java | 6 +-
.../core/iterators/FirstEntryInRowIterator.java | 23 +-
.../accumulo/core/iterators/GrepIterator.java | 1 +
.../core/iterators/IntersectingIterator.java | 1 +
.../accumulo/core/iterators/IteratorUtil.java | 30 +-
.../accumulo/core/iterators/LargeRowFilter.java | 1 +
.../accumulo/core/iterators/LongCombiner.java | 9 +-
.../core/iterators/OptionDescriber.java | 4 +-
.../accumulo/core/iterators/OrIterator.java | 13 +-
.../core/iterators/RowDeletingIterator.java | 1 +
.../core/iterators/SortedKeyIterator.java | 2 +-
.../core/iterators/SortedKeyValueIterator.java | 7 +
.../core/iterators/TypedValueCombiner.java | 13 +-
.../core/iterators/VersioningIterator.java | 1 +
.../core/iterators/WholeRowIterator.java | 1 +
.../core/iterators/WrappingIterator.java | 9 +
.../core/iterators/aggregation/Aggregator.java | 1 +
.../iterators/aggregation/LongSummation.java | 1 +
.../aggregation/NumArraySummation.java | 1 +
.../iterators/aggregation/NumSummation.java | 1 +
.../core/iterators/aggregation/StringMax.java | 1 +
.../core/iterators/aggregation/StringMin.java | 1 +
.../iterators/aggregation/StringSummation.java | 1 +
.../conf/AggregatorConfiguration.java | 1 +
.../aggregation/conf/AggregatorSet.java | 1 +
.../accumulo/core/iterators/conf/ColumnSet.java | 2 +-
.../iterators/conf/ColumnToClassMapping.java | 4 +-
.../iterators/conf/PerColumnIteratorConfig.java | 1 +
.../core/iterators/system/GenericFilterer.java | 1 +
.../core/iterators/system/HeapIterator.java | 3 -
.../system/SourceSwitchingIterator.java | 2 +-
.../core/iterators/system/VisibilityFilter.java | 18 +-
.../core/iterators/user/AgeOffFilter.java | 7 +-
.../core/iterators/user/ColumnAgeOffFilter.java | 9 +-
.../core/iterators/user/IndexedDocIterator.java | 10 +-
.../iterators/user/IntersectingIterator.java | 42 +-
.../core/iterators/user/LargeRowFilter.java | 19 +-
.../core/iterators/user/RegExFilter.java | 91 +-
.../iterators/user/SummingArrayCombiner.java | 9 +-
.../core/iterators/user/SummingCombiner.java | 3 +-
.../core/iterators/user/TimestampFilter.java | 78 +-
.../iterators/user/TransformingIterator.java | 656 +
.../core/iterators/user/VersioningIterator.java | 9 +-
.../accumulo/core/master/thrift/Compacting.java | 215 +-
.../accumulo/core/master/thrift/DeadServer.java | 247 +-
.../core/master/thrift/MasterClientService.java | 9060 +-
.../core/master/thrift/MasterGoalState.java | 21 +-
.../core/master/thrift/MasterMonitorInfo.java | 704 +-
.../core/master/thrift/MasterState.java | 21 +-
.../core/master/thrift/RecoveryException.java | 163 +-
.../core/master/thrift/RecoveryStatus.java | 252 +-
.../accumulo/core/master/thrift/TableInfo.java | 794 +-
.../core/master/thrift/TableOperation.java | 29 +-
.../core/master/thrift/TabletLoadState.java | 21 +-
.../core/master/thrift/TabletServerStatus.java | 691 +-
.../core/master/thrift/TabletSplit.java | 256 +-
.../accumulo/core/security/Authorizations.java | 87 +-
.../core/security/ColumnVisibility.java | 186 +-
.../accumulo/core/security/SecurityUtil.java | 84 +
.../accumulo/core/security/thrift/AuthInfo.java | 260 +-
.../core/security/thrift/SecurityErrorCode.java | 41 +-
.../thrift/ThriftInstanceTokenWrapper.java | 613 +
.../security/thrift/ThriftKerberosToken.java | 513 +
.../thrift/ThriftSecurityException.java | 200 +-
.../security/thrift/ThriftUserPassToken.java | 513 +
.../core/security/tokens/AccumuloToken.java | 14 +
.../security/tokens/InstanceTokenWrapper.java | 82 +
.../core/security/tokens/KerberosToken.java | 160 +
.../security/tokens/LoginCallbackHandler.java | 53 +
.../core/security/tokens/PasswordUpdatable.java | 7 +
.../core/security/tokens/TokenHelper.java | 110 +
.../core/security/tokens/UserPassToken.java | 75 +
.../core/tabletserver/thrift/ActionStats.java | 467 +-
.../tabletserver/thrift/ActiveCompaction.java | 1645 +
.../core/tabletserver/thrift/ActiveScan.java | 932 +-
.../tabletserver/thrift/CompactionReason.java | 70 +
.../tabletserver/thrift/CompactionType.java | 67 +
.../thrift/ConstraintViolationException.java | 215 +-
.../tabletserver/thrift/IteratorConfig.java | 213 +-
.../thrift/NoSuchScanIDException.java | 122 +-
.../thrift/NotServingTabletException.java | 169 +-
.../core/tabletserver/thrift/ScanState.java | 21 +-
.../core/tabletserver/thrift/ScanType.java | 21 +-
.../tabletserver/thrift/TIteratorSetting.java | 342 +-
.../thrift/TabletClientService.java | 15075 +--
.../tabletserver/thrift/TabletMutations.java | 530 -
.../core/tabletserver/thrift/TabletStats.java | 705 +-
.../thrift/TooManyFilesException.java | 169 +-
.../apache/accumulo/core/trace/TraceDump.java | 87 +-
.../accumulo/core/trace/TraceFormatter.java | 18 +-
.../org/apache/accumulo/core/util/ColumnFQ.java | 26 +-
.../accumulo/core/util/ContextFactory.java | 174 -
.../accumulo/core/util/LocalityGroupUtil.java | 2 +-
.../accumulo/core/util/LoggingRunnable.java | 16 -
.../org/apache/accumulo/core/util/Merge.java | 101 +-
.../accumulo/core/util/MetadataTable.java | 30 +-
.../accumulo/core/util/PeekingIterator.java | 31 +
.../accumulo/core/util/ServerServices.java | 4 +-
.../accumulo/core/util/SimpleThreadPool.java | 2 +-
.../apache/accumulo/core/util/StopWatch.java | 2 +-
.../accumulo/core/util/TTimeoutTransport.java | 7 +-
.../accumulo/core/util/TableDiskUsage.java | 2 +-
.../apache/accumulo/core/util/ThriftUtil.java | 66 +-
.../core/util/format/DeleterFormatter.java | 2 +-
.../accumulo/core/util/format/HexFormatter.java | 136 +
.../util/interpret/DefaultScanInterpreter.java | 51 +
.../core/util/interpret/HexScanInterpreter.java | 27 +
.../core/util/interpret/ScanInterpreter.java | 35 +
.../apache/accumulo/core/util/shell/Shell.java | 146 +-
.../core/util/shell/commands/AboutCommand.java | 7 +-
.../commands/ActiveCompactionIterator.java | 136 +
.../util/shell/commands/ActiveScanIterator.java | 23 +-
.../util/shell/commands/AddAuthsCommand.java | 80 +
.../util/shell/commands/AddSplitsCommand.java | 22 +-
.../shell/commands/AuthenticateCommand.java | 12 +-
.../util/shell/commands/ClasspathCommand.java | 6 +-
.../core/util/shell/commands/ClearCommand.java | 6 +-
.../util/shell/commands/CloneTableCommand.java | 13 +-
.../util/shell/commands/CompactCommand.java | 36 +-
.../core/util/shell/commands/ConfigCommand.java | 120 +-
.../util/shell/commands/ConstraintCommand.java | 12 +-
.../util/shell/commands/CreateTableCommand.java | 52 +-
.../util/shell/commands/CreateUserCommand.java | 41 +-
.../core/util/shell/commands/DUCommand.java | 14 +-
.../core/util/shell/commands/DebugCommand.java | 13 +-
.../core/util/shell/commands/DeleteCommand.java | 46 +-
.../util/shell/commands/DeleteIterCommand.java | 22 +-
.../util/shell/commands/DeleteManyCommand.java | 31 +-
.../util/shell/commands/DeleteRowsCommand.java | 10 +-
.../shell/commands/DeleteScanIterCommand.java | 24 +-
.../shell/commands/DeleteShellterCommand.java | 100 +
.../util/shell/commands/DeleteTableCommand.java | 14 +-
.../util/shell/commands/DropUserCommand.java | 9 +-
.../core/util/shell/commands/EGrepCommand.java | 24 +-
.../util/shell/commands/EscapeTokenizer.java | 21 +-
.../util/shell/commands/ExecfileCommand.java | 10 +-
.../core/util/shell/commands/ExitCommand.java | 2 +-
.../util/shell/commands/ExportTableCommand.java | 78 +
.../core/util/shell/commands/FlushCommand.java | 6 +-
.../util/shell/commands/FormatterCommand.java | 112 +-
.../util/shell/commands/GetAuthsCommand.java | 6 +-
.../util/shell/commands/GetGroupsCommand.java | 12 +-
.../util/shell/commands/GetSplitsCommand.java | 18 +-
.../core/util/shell/commands/GrantCommand.java | 12 +-
.../core/util/shell/commands/GrepCommand.java | 43 +-
.../core/util/shell/commands/HelpCommand.java | 31 +-
.../core/util/shell/commands/HiddenCommand.java | 8 +-
.../util/shell/commands/HistoryCommand.java | 12 +-
.../shell/commands/ImportDirectoryCommand.java | 11 +-
.../util/shell/commands/ImportTableCommand.java | 51 +
.../core/util/shell/commands/InsertCommand.java | 60 +-
.../util/shell/commands/InterpreterCommand.java | 40 +
.../shell/commands/ListCompactionsCommand.java | 78 +
.../util/shell/commands/ListIterCommand.java | 20 +-
.../util/shell/commands/ListScansCommand.java | 8 +-
.../shell/commands/ListShellIterCommand.java | 105 +
.../core/util/shell/commands/MaxRowCommand.java | 28 +-
.../core/util/shell/commands/MergeCommand.java | 34 +-
.../util/shell/commands/NoTableCommand.java | 2 +-
.../util/shell/commands/OfflineCommand.java | 2 +-
.../core/util/shell/commands/OnlineCommand.java | 2 +-
.../core/util/shell/commands/OptUtil.java | 39 +-
.../core/util/shell/commands/PasswdCommand.java | 24 +-
.../core/util/shell/commands/PingCommand.java | 82 +
.../core/util/shell/commands/PingIterator.java | 58 +
.../shell/commands/QuotedStringTokenizer.java | 38 +-
.../util/shell/commands/RenameTableCommand.java | 4 +-
.../core/util/shell/commands/RevokeCommand.java | 12 +-
.../core/util/shell/commands/ScanCommand.java | 214 +-
.../util/shell/commands/SetAuthsCommand.java | 14 +-
.../util/shell/commands/SetGroupsCommand.java | 17 +-
.../util/shell/commands/SetIterCommand.java | 83 +-
.../util/shell/commands/SetScanIterCommand.java | 36 +-
.../shell/commands/SetShellIterCommand.java | 122 +
.../ShellPluginConfigurationCommand.java | 146 +
.../core/util/shell/commands/SleepCommand.java | 4 +-
.../commands/SystemPermissionsCommand.java | 5 +-
.../core/util/shell/commands/TableCommand.java | 10 +-
.../util/shell/commands/TableOperation.java | 30 +-
.../shell/commands/TablePermissionsCommand.java | 5 +-
.../core/util/shell/commands/TablesCommand.java | 14 +-
.../core/util/shell/commands/TraceCommand.java | 18 +-
.../core/util/shell/commands/UserCommand.java | 10 +-
.../shell/commands/UserPermissionsCommand.java | 6 +-
.../core/util/shell/commands/UsersCommand.java | 5 +-
.../core/util/shell/commands/WhoAmICommand.java | 2 +-
.../accumulo/core/zookeeper/ZooCache.java | 40 +
.../apache/accumulo/core/zookeeper/ZooUtil.java | 4 +-
core/src/main/scripts/generate-thrift.sh | 110 +
core/src/main/thrift/client.thrift | 40 +-
core/src/main/thrift/data.thrift | 5 +-
core/src/main/thrift/gc.thrift | 3 +-
core/src/main/thrift/master.thrift | 41 +-
core/src/main/thrift/security.thrift | 24 +-
core/src/main/thrift/tabletserver.thrift | 82 +-
core/src/main/thrift/thrift.sh | 58 -
.../accumulo/core/cli/TestClientOpts.java | 91 +
.../core/client/BatchWriterConfigTest.java | 179 +
.../core/client/ClientSideIteratorTest.java | 22 +-
.../accumulo/core/client/RowIteratorTest.java | 22 +-
.../accumulo/core/client/TestThrift1474.java | 98 +
.../accumulo/core/client/admin/FindMaxTest.java | 6 +-
.../client/admin/TableOperationsHelperTest.java | 13 +-
.../core/client/impl/TabletLocatorImplTest.java | 97 +-
.../mapreduce/AccumuloFileOutputFormatTest.java | 236 +-
.../mapreduce/AccumuloInputFormatTest.java | 295 +-
.../mapreduce/AccumuloOutputFormatTest.java | 175 +-
.../mapreduce/AccumuloRowInputFormatTest.java | 198 +-
.../lib/partition/RangePartitionerTest.java | 17 +-
.../core/client/mock/MockConnectorTest.java | 58 +-
.../client/mock/MockTableOperationsTest.java | 205 +-
.../core/client/mock/TestBatchScanner821.java | 65 +
.../core/client/mock/TransformIterator.java | 32 +
.../apache/accumulo/core/conf/PropertyTest.java | 6 +
.../org/apache/accumulo/core/data/KeyTest.java | 4 +-
.../apache/accumulo/core/data/MutationTest.java | 136 +-
.../apache/accumulo/core/data/OldMutation.java | 492 +
.../core/file/BloomFilterLayerLookupTest.java | 140 +
.../file/blockfile/cache/TestLruBlockCache.java | 26 +-
.../file/rfile/AuthorizationFilterTest.java | 4 +-
.../core/file/rfile/BlockIndexTest.java | 176 +
.../core/file/rfile/MultiLevelIndexTest.java | 2 +-
.../accumulo/core/file/rfile/RFileTest.java | 104 +-
.../core/file/rfile/RelativeKeyTest.java | 262 +
.../core/file/rfile/TimestampFilterTest.java | 4 +-
.../core/iterators/AggregatingIteratorTest.java | 1 +
.../iterators/FirstEntryInRowIteratorTest.java | 110 +
.../iterators/aggregation/NumSummationTest.java | 1 +
.../conf/AggregatorConfigurationTest.java | 1 +
.../iterators/system/VisibilityFilterTest.java | 52 +
.../core/iterators/user/CombinerTest.java | 36 +
.../core/iterators/user/FilterTest.java | 30 +
.../iterators/user/IndexedDocIteratorTest.java | 30 +-
.../user/IntersectingIteratorTest.java | 47 +-
.../core/iterators/user/RegExFilterTest.java | 21 +-
.../core/iterators/user/RowFilterTest.java | 6 +-
.../user/TransformingIteratorTest.java | 690 +
.../core/security/AuthorizationsTest.java | 8 +-
.../core/security/ColumnVisibilityTest.java | 33 +
.../core/security/VisibilityEvaluatorTest.java | 48 +-
.../core/util/LocalityGroupUtilTest.java | 20 +-
.../shell/command/FormatterCommandTest.java | 37 +-
.../resources/disabled/conf/accumulo-site.xml | 108 +
.../apache/accumulo/core/file/rfile/ver_6.rf | Bin 0 -> 26167 bytes
docs/README_UBUNTU | 44 +
docs/examples/README.batch | 4 +-
docs/examples/README.bloom | 28 +-
docs/examples/README.bulkIngest | 8 +-
docs/examples/README.client | 73 +
docs/examples/README.dirlist | 16 +-
docs/examples/README.export | 89 +
docs/examples/README.filedata | 4 +-
docs/examples/README.helloworld | 9 +-
docs/examples/README.isolation | 4 +-
docs/examples/README.mapred | 2 +-
docs/examples/README.maxmutation | 8 +-
docs/examples/README.regex | 58 +
docs/examples/README.rowhash | 59 +
docs/examples/README.shard | 11 +-
docs/examples/README.tabletofile | 59 +
docs/examples/README.terasort | 50 +
docs/examples/README.visibility | 2 +-
.../accumulo_developer_manual.tex | 194 +
docs/src/developer_manual/build.sh | 48 +
docs/src/developer_manual/developer_manual.tex | 201 -
docs/src/user_manual/build.sh | 7 +-
docs/src/user_manual/chapters/analytics.tex | 2 +-
docs/src/user_manual/chapters/shell.tex | 1 -
.../chapters/table_configuration.tex | 10 +-
examples/instamo/README.md | 27 +
examples/instamo/pom.xml | 117 +
.../apache/accumulo/instamo/AccumuloApp.java | 57 +
.../accumulo/instamo/MapReduceExample.java | 68 +
.../instamo/src/main/resources/log4j.properties | 9 +
.../instamo/ExampleAccumuloUnitTest.java | 58 +
examples/pom.xml | 2 +-
examples/simple/pom.xml | 50 +-
.../accumulo/examples/simple/client/Flush.java | 20 +-
.../simple/client/RandomBatchScanner.java | 76 +-
.../simple/client/RandomBatchWriter.java | 91 +-
.../simple/client/ReadWriteExample.java | 201 +-
.../examples/simple/client/RowOperations.java | 48 +-
.../simple/client/SequentialBatchWriter.java | 57 +-
.../examples/simple/combiner/StatsCombiner.java | 2 +-
.../examples/simple/dirlist/FileCount.java | 75 +-
.../examples/simple/dirlist/Ingest.java | 80 +-
.../examples/simple/dirlist/QueryUtil.java | 39 +-
.../examples/simple/dirlist/Viewer.java | 28 +-
.../simple/filedata/CharacterHistogram.java | 22 +-
.../simple/filedata/FileDataIngest.java | 92 +-
.../examples/simple/filedata/FileDataQuery.java | 5 +-
.../helloworld/InsertWithBatchWriter.java | 32 +-
.../helloworld/InsertWithOutputFormat.java | 78 -
.../examples/simple/helloworld/ReadData.java | 42 +-
.../simple/isolation/InterferenceTest.java | 51 +-
.../examples/simple/mapreduce/RegexExample.java | 43 +-
.../examples/simple/mapreduce/RowHash.java | 25 +-
.../examples/simple/mapreduce/TableToFile.java | 24 +-
.../simple/mapreduce/TeraSortIngest.java | 53 +-
.../simple/mapreduce/UniqueColumns.java | 63 +-
.../examples/simple/mapreduce/WordCount.java | 51 +-
.../mapreduce/bulk/BulkIngestExample.java | 49 +-
.../simple/mapreduce/bulk/GenerateTestData.java | 28 +-
.../simple/mapreduce/bulk/SetupTable.java | 43 +-
.../simple/mapreduce/bulk/VerifyIngest.java | 37 +-
.../examples/simple/shard/ContinuousQuery.java | 49 +-
.../accumulo/examples/simple/shard/Index.java | 42 +-
.../accumulo/examples/simple/shard/Query.java | 42 +-
.../accumulo/examples/simple/shard/Reverse.java | 39 +-
.../examples/simple/dirlist/CountTest.java | 23 +-
.../simple/filedata/ChunkInputFormatTest.java | 296 +-
.../simple/filedata/ChunkInputStreamTest.java | 7 +-
examples/wikisearch/README | 68 -
examples/wikisearch/README.parallel | 65 -
examples/wikisearch/ingest/bin/ingest.sh | 46 -
.../wikisearch/ingest/bin/ingest_parallel.sh | 46 -
.../ingest/conf/wikipedia.xml.example | 43 -
.../ingest/conf/wikipedia_parallel.xml.example | 75 -
examples/wikisearch/ingest/pom.xml | 101 -
.../wikisearch/ingest/src/assembly/dist.xml | 38 -
.../wikisearch/ingest/ArticleExtractor.java | 207 -
.../wikisearch/ingest/LRUOutputCombiner.java | 75 -
.../ingest/WikipediaConfiguration.java | 198 -
.../wikisearch/ingest/WikipediaIngester.java | 208 -
.../wikisearch/ingest/WikipediaInputFormat.java | 136 -
.../wikisearch/ingest/WikipediaMapper.java | 245 -
.../ingest/WikipediaPartitionedIngester.java | 309 -
.../ingest/WikipediaPartitionedMapper.java | 310 -
.../wikisearch/ingest/WikipediaPartitioner.java | 89 -
.../iterator/GlobalIndexUidCombiner.java | 94 -
.../wikisearch/iterator/TextIndexCombiner.java | 102 -
.../normalizer/LcNoDiacriticsNormalizer.java | 49 -
.../wikisearch/normalizer/NoOpNormalizer.java | 23 -
.../wikisearch/normalizer/Normalizer.java | 32 -
.../wikisearch/normalizer/NumberNormalizer.java | 42 -
.../output/BufferingRFileRecordWriter.java | 140 -
.../output/SortingRFileOutputFormat.java | 121 -
.../wikisearch/protobuf/TermWeight.java | 424 -
.../examples/wikisearch/protobuf/Uid.java | 470 -
.../reader/AggregatingRecordReader.java | 171 -
.../wikisearch/reader/LfLineReader.java | 173 -
.../wikisearch/reader/LongLineRecordReader.java | 136 -
.../examples/wikisearch/util/TextUtil.java | 109 -
.../ingest/src/main/protobuf/TermWeight.proto | 28 -
.../ingest/src/main/protobuf/Uid.proto | 29 -
.../ingest/src/main/protobuf/compile_protos.sh | 19 -
.../ingest/WikipediaInputSplitTest.java | 69 -
.../wikisearch/iterator/GlobalIndexUidTest.java | 192 -
.../wikisearch/iterator/TextIndexTest.java | 185 -
.../normalizer/testNumberNormalizer.java | 90 -
.../reader/AggregatingRecordReaderTest.java | 287 -
.../src/test/resources/enwiki-20110901-001.xml | 153 -
examples/wikisearch/pom.xml | 237 -
examples/wikisearch/query-war/pom.xml | 51 -
.../src/main/webapp/WEB-INF/jboss-web.xml | 20 -
.../query-war/src/main/webapp/WEB-INF/web.xml | 57 -
.../query-war/src/main/webapp/style.xsl | 47 -
.../wikisearch/query-war/src/main/webapp/ui.jsp | 131 -
.../query-war/src/test/resources/test.xml | 1651 -
examples/wikisearch/query/pom.xml | 139 -
examples/wikisearch/query/src/assembly/dist.xml | 40 -
.../wikisearch/function/QueryFunctions.java | 68 -
.../iterator/AbstractEvaluatingIterator.java | 323 -
.../wikisearch/iterator/AndIterator.java | 934 -
.../iterator/BooleanLogicIterator.java | 1949 -
.../iterator/BooleanLogicTreeNode.java | 523 -
.../iterator/DefaultIteratorEnvironment.java | 74 -
.../wikisearch/iterator/EvaluatingIterator.java | 115 -
.../wikisearch/iterator/FieldIndexIterator.java | 736 -
.../iterator/OptimizedQueryIterator.java | 205 -
.../wikisearch/iterator/OrIterator.java | 822 -
.../wikisearch/iterator/ReadAheadIterator.java | 297 -
.../iterator/UniqFieldNameValueIterator.java | 342 -
.../examples/wikisearch/jexl/Arithmetic.java | 126 -
.../wikisearch/logic/AbstractQueryLogic.java | 883 -
.../examples/wikisearch/logic/ContentLogic.java | 109 -
.../examples/wikisearch/logic/QueryLogic.java | 195 -
.../examples/wikisearch/parser/EventFields.java | 227 -
.../parser/FieldIndexQueryReWriter.java | 1139 -
.../parser/JexlOperatorConstants.java | 105 -
.../wikisearch/parser/QueryEvaluator.java | 291 -
.../examples/wikisearch/parser/QueryParser.java | 845 -
.../wikisearch/parser/RangeCalculator.java | 1199 -
.../examples/wikisearch/parser/TreeBuilder.java | 675 -
.../examples/wikisearch/parser/TreeNode.java | 235 -
.../examples/wikisearch/query/IQuery.java | 66 -
.../examples/wikisearch/query/Query.java | 238 -
.../examples/wikisearch/sample/Document.java | 61 -
.../examples/wikisearch/sample/Field.java | 58 -
.../examples/wikisearch/sample/Results.java | 53 -
.../examples/wikisearch/util/BaseKeyParser.java | 77 -
.../wikisearch/util/FieldIndexKeyParser.java | 71 -
.../examples/wikisearch/util/KeyParser.java | 70 -
.../src/main/resources/META-INF/MANIFEST.MF | 2 -
.../main/resources/META-INF/ejb-jar.xml.example | 62 -
.../logic/StandaloneStatusReporter.java | 74 -
.../wikisearch/logic/TestQueryLogic.java | 195 -
.../src/test/resources/enwiki-20110901-001.xml | 153 -
fate/pom.xml | 2 +-
.../org/apache/accumulo/fate/AdminUtil.java | 28 +-
.../org/apache/accumulo/fate/AgeOffStore.java | 232 +
.../java/org/apache/accumulo/fate/TStore.java | 12 +-
.../java/org/apache/accumulo/fate/ZooStore.java | 19 +-
.../accumulo/fate/util/LoggingRunnable.java | 17 +-
.../accumulo/fate/zookeeper/IZooReader.java | 2 +
.../fate/zookeeper/IZooReaderWriter.java | 2 +
.../apache/accumulo/fate/zookeeper/ZooLock.java | 4 +-
.../accumulo/fate/zookeeper/ZooQueueLock.java | 5 +-
.../accumulo/fate/zookeeper/ZooReader.java | 33 +-
.../fate/zookeeper/ZooReaderWriter.java | 21 +-
.../accumulo/fate/zookeeper/ZooSession.java | 24 +-
.../apache/accumulo/fate/zookeeper/ZooUtil.java | 38 +-
.../apache/accumulo/fate/AgeOffStoreTest.java | 161 +
.../org/apache/accumulo/fate/SimpleStore.java | 126 +
.../zookeeper/DistributedReadWriteLockTest.java | 14 +-
.../fate/zookeeper/TransactionWatcherTest.java | 2 +-
fate/src/test/resources/log4j.properties | 9 +
packages/deb/accumulo-native/postinst | 12 +-
packages/deb/accumulo/control | 2 +-
packages/deb/accumulo/postinst | 4 +-
pom.xml | 201 +-
proxy/README | 48 +
proxy/examples/python/README | 24 +
proxy/examples/python/TestClient.py | 46 +
proxy/examples/ruby/README | 26 +
proxy/examples/ruby/test_client.rb | 49 +
proxy/pom.xml | 150 +
proxy/proxy.properties | 11 +
.../java/org/apache/accumulo/proxy/Proxy.java | 117 +
.../org/apache/accumulo/proxy/ProxyServer.java | 1161 +
.../apache/accumulo/proxy/TestProxyClient.java | 166 +
.../java/org/apache/accumulo/proxy/Util.java | 62 +
.../proxy/thrift/AccumuloException.java | 402 +
.../accumulo/proxy/thrift/AccumuloProxy.java | 82065 +++++++++++++++++
.../proxy/thrift/AccumuloSecurityException.java | 402 +
.../accumulo/proxy/thrift/ActiveCompaction.java | 1431 +
.../accumulo/proxy/thrift/ActiveScan.java | 1593 +
.../accumulo/proxy/thrift/BatchScanOptions.java | 865 +
.../apache/accumulo/proxy/thrift/Column.java | 635 +
.../accumulo/proxy/thrift/ColumnUpdate.java | 945 +
.../accumulo/proxy/thrift/CompactionReason.java | 70 +
.../accumulo/proxy/thrift/CompactionType.java | 67 +
.../accumulo/proxy/thrift/IOException.java | 402 +
.../accumulo/proxy/thrift/IteratorScope.java | 64 +
.../accumulo/proxy/thrift/IteratorSetting.java | 763 +
.../org/apache/accumulo/proxy/thrift/Key.java | 846 +
.../apache/accumulo/proxy/thrift/KeyExtent.java | 624 +
.../apache/accumulo/proxy/thrift/KeyValue.java | 518 +
.../accumulo/proxy/thrift/KeyValueAndPeek.java | 505 +
.../proxy/thrift/NoMoreEntriesException.java | 402 +
.../apache/accumulo/proxy/thrift/PColumn.java | 737 +
.../accumulo/proxy/thrift/PColumnUpdate.java | 848 +
.../accumulo/proxy/thrift/PIteratorSetting.java | 763 +
.../org/apache/accumulo/proxy/thrift/PKey.java | 846 +
.../apache/accumulo/proxy/thrift/PKeyValue.java | 518 +
.../apache/accumulo/proxy/thrift/PRange.java | 512 +
.../accumulo/proxy/thrift/PScanResult.java | 554 +
.../proxy/thrift/PSystemPermission.java | 79 +
.../accumulo/proxy/thrift/PTablePermission.java | 73 +
.../accumulo/proxy/thrift/PartialKey.java | 73 +
.../org/apache/accumulo/proxy/thrift/Range.java | 704 +
.../accumulo/proxy/thrift/ScanColumn.java | 527 +
.../accumulo/proxy/thrift/ScanOptions.java | 972 +
.../accumulo/proxy/thrift/ScanResult.java | 554 +
.../apache/accumulo/proxy/thrift/ScanState.java | 64 +
.../apache/accumulo/proxy/thrift/ScanType.java | 61 +
.../accumulo/proxy/thrift/SystemPermission.java | 79 +
.../proxy/thrift/TableExistsException.java | 402 +
.../proxy/thrift/TableNotFoundException.java | 402 +
.../accumulo/proxy/thrift/TablePermission.java | 73 +
.../apache/accumulo/proxy/thrift/TimeType.java | 61 +
.../accumulo/proxy/thrift/UnknownScanner.java | 402 +
.../accumulo/proxy/thrift/UnknownWriter.java | 402 +
.../apache/accumulo/proxy/thrift/UserPass.java | 513 +
.../accumulo/proxy/thrift/WriterOptions.java | 682 +
proxy/src/main/scripts/generate-thrift.sh | 24 +
proxy/src/main/thrift/proxy.thrift | 337 +
.../accumulo/TestProxyInstanceOperations.java | 82 +
.../org/apache/accumulo/TestProxyReadWrite.java | 388 +
.../accumulo/TestProxySecurityOperations.java | 142 +
.../accumulo/TestProxyTableOperations.java | 219 +
.../org/apache/accumulo/proxy/SimpleTest.java | 487 +
.../proxy/TestProxyInstanceOperations.java | 81 +
.../accumulo/proxy/TestProxyReadWrite.java | 400 +
.../proxy/TestProxySecurityOperations.java | 142 +
.../proxy/TestProxyTableOperations.java | 214 +
server/pom.xml | 80 +-
server/src/main/c++/Makefile | 8 +-
server/src/main/c++/mlock/Makefile | 56 -
...apache_accumulo_server_tabletserver_MLock.cc | 31 -
server/src/main/c++/nativeMap/Makefile | 28 +-
.../org/apache/accumulo/server/Accumulo.java | 9 +-
.../server/cli/ClientOnDefaultTable.java | 44 +
.../server/cli/ClientOnRequiredTable.java | 41 +
.../apache/accumulo/server/cli/ClientOpts.java | 23 +
.../accumulo/server/client/BulkImporter.java | 46 +-
.../server/client/ClientServiceHandler.java | 154 +-
.../accumulo/server/client/HdfsZooInstance.java | 61 +-
.../server/conf/ServerConfiguration.java | 2 +-
.../server/conf/TableConfiguration.java | 1 +
.../accumulo/server/conf/ZooConfiguration.java | 2 +-
.../server/constraints/ConstraintChecker.java | 68 +-
.../server/constraints/ConstraintLoader.java | 56 -
.../server/data/ServerColumnUpdate.java | 36 +
.../accumulo/server/data/ServerMutation.java | 88 +
.../org/apache/accumulo/server/fate/Admin.java | 53 +-
.../server/gc/GarbageCollectWriteAheadLogs.java | 7 +-
.../server/gc/SimpleGarbageCollector.java | 122 +-
.../accumulo/server/logger/LogFileValue.java | 31 +-
.../accumulo/server/logger/LogReader.java | 77 +-
.../accumulo/server/master/LiveTServerSet.java | 233 +-
.../apache/accumulo/server/master/Master.java | 441 +-
.../master/balancer/DefaultLoadBalancer.java | 10 +-
.../master/balancer/TableLoadBalancer.java | 13 +-
.../server/master/balancer/TabletBalancer.java | 7 +-
.../master/recovery/MapRRecoverLease.java | 55 +
.../server/master/recovery/RecoverLease.java | 18 +-
.../master/recovery/SubmitFileForRecovery.java | 7 +
.../server/master/state/MergeStats.java | 13 +-
.../server/master/state/MetaDataStateStore.java | 11 +-
.../master/state/MetaDataTableScanner.java | 10 +-
.../master/state/RootTabletStateStore.java | 7 +-
.../server/master/state/SetGoalState.java | 2 +-
.../master/state/TabletStateChangeIterator.java | 2 +-
.../master/state/tables/TableManager.java | 2 +-
.../server/master/tableOps/BulkImport.java | 21 +-
.../server/master/tableOps/CloneTable.java | 12 +-
.../server/master/tableOps/CompactRange.java | 19 +-
.../server/master/tableOps/CreateTable.java | 30 +-
.../server/master/tableOps/DeleteTable.java | 31 +-
.../server/master/tableOps/ExportTable.java | 320 +
.../server/master/tableOps/ImportTable.java | 595 +
.../server/master/tableOps/RenameTable.java | 5 +-
.../server/master/tableOps/TableRangeOp.java | 20 +-
.../master/tserverOps/ShutdownTServer.java | 16 +-
.../accumulo/server/metanalysis/FindTablet.java | 67 +-
.../accumulo/server/metanalysis/IndexMeta.java | 33 +-
.../server/metanalysis/PrintEvents.java | 39 +-
.../server/metanalysis/package-info.java | 18 +-
.../server/metrics/MetricsConfiguration.java | 4 +-
.../apache/accumulo/server/monitor/Monitor.java | 72 +-
.../server/monitor/ZooKeeperStatus.java | 30 +-
.../server/monitor/servlets/DefaultServlet.java | 99 +-
.../server/monitor/servlets/JSONServlet.java | 53 +-
.../monitor/servlets/TServersServlet.java | 73 +-
.../server/monitor/servlets/VisServlet.java | 17 +-
.../server/monitor/servlets/XMLServlet.java | 6 +-
.../server/monitor/servlets/trace/Basic.java | 3 +-
.../monitor/servlets/trace/NullScanner.java | 13 +-
.../monitor/servlets/trace/ShowTrace.java | 6 +-
.../monitor/util/celltypes/CompactionsType.java | 12 +-
.../monitor/util/celltypes/TableStateType.java | 2 +-
.../server/problems/ProblemReports.java | 4 +-
.../security/AuditedSecurityOperation.java | 333 +
.../accumulo/server/security/Auditor.java | 234 -
.../accumulo/server/security/Authenticator.java | 64 -
.../server/security/SecurityConstants.java | 39 +-
.../server/security/SecurityOperation.java | 852 +
.../accumulo/server/security/SecurityUtil.java | 87 -
.../server/security/ZKAuthenticator.java | 721 -
.../server/security/handler/Authenticator.java | 52 +
.../server/security/handler/Authorizor.java | 85 +
.../security/handler/InsecureAuthenticator.java | 109 +
.../security/handler/InsecurePermHandler.java | 146 +
.../security/handler/PermissionHandler.java | 171 +
.../security/handler/ZKAuthenticator.java | 207 +
.../server/security/handler/ZKAuthorizor.java | 157 +
.../server/security/handler/ZKPermHandler.java | 343 +
.../server/security/handler/ZKSecurityTool.java | 159 +
.../accumulo/server/tabletserver/Compactor.java | 181 +-
.../tabletserver/EncodedBinaryTreePath.java | 195 -
.../server/tabletserver/FileManager.java | 7 +-
.../server/tabletserver/InMemoryMap.java | 2 +-
.../tabletserver/LargestFirstMemoryManager.java | 2 +-
.../server/tabletserver/MinorCompactor.java | 94 +-
.../server/tabletserver/MutationLog.java | 3 +-
.../accumulo/server/tabletserver/NativeMap.java | 6 +-
.../accumulo/server/tabletserver/Tablet.java | 105 +-
.../server/tabletserver/TabletMutations.java | 47 +
.../server/tabletserver/TabletServer.java | 573 +-
.../TabletServerResourceManager.java | 20 +-
.../server/tabletserver/TabletStatsKeeper.java | 2 +-
.../server/tabletserver/TabletTime.java | 12 +-
.../server/tabletserver/log/DfsLogger.java | 17 +-
.../server/tabletserver/log/LogSorter.java | 2 +-
.../server/tabletserver/log/MultiReader.java | 4 +-
.../tabletserver/log/SortedLogRecovery.java | 24 +-
.../tabletserver/log/TabletServerLogger.java | 12 +-
.../mastermessage/MasterMessage.java | 4 +-
.../mastermessage/SplitReportMessage.java | 7 +-
.../mastermessage/TabletStatusMessage.java | 7 +-
.../server/test/BulkImportDirectory.java | 45 +-
.../accumulo/server/test/CreateRFiles.java | 43 +-
.../accumulo/server/test/CreateRandomRFile.java | 4 +
.../accumulo/server/test/CreateTestTable.java | 97 +-
.../server/test/EstimateInMemMapOverhead.java | 2 +-
.../server/test/GCLotsOfCandidatesTest.java | 17 +-
.../accumulo/server/test/GetMasterStats.java | 11 +-
.../apache/accumulo/server/test/ListTables.java | 8 +-
.../server/test/NativeMapConcurrencyTest.java | 37 +-
.../server/test/NativeMapPerformanceTest.java | 2 +-
.../accumulo/server/test/NullBatchWriter.java | 2 +-
.../server/test/QueryMetadataTable.java | 73 +-
.../accumulo/server/test/TestBinaryRows.java | 108 +-
.../apache/accumulo/server/test/TestIngest.java | 309 +-
.../server/test/TestMultiTableIngest.java | 87 +-
.../accumulo/server/test/TestRandomDeletes.java | 56 +-
.../accumulo/server/test/VerifyIngest.java | 70 +-
.../accumulo/server/test/WrongTabletTest.java | 25 +-
.../test/continuous/ContinuousBatchWalker.java | 91 +-
.../test/continuous/ContinuousIngest.java | 181 +-
.../server/test/continuous/ContinuousMoru.java | 77 +-
.../server/test/continuous/ContinuousQuery.java | 47 +-
.../test/continuous/ContinuousScanner.java | 86 +-
.../continuous/ContinuousStatsCollector.java | 37 +-
.../test/continuous/ContinuousVerify.java | 81 +-
.../server/test/continuous/ContinuousWalk.java | 134 +-
.../server/test/continuous/GenSplits.java | 45 +-
.../server/test/continuous/Histogram.java | 4 +-
.../server/test/continuous/TimeBinner.java | 44 +-
.../test/continuous/UndefinedAnalyzer.java | 45 +-
.../server/test/functional/AddSplitTest.java | 5 +-
.../test/functional/BadIteratorMincTest.java | 5 +-
.../test/functional/BatchScanSplitTest.java | 7 +-
.../test/functional/BatchWriterFlushTest.java | 8 +-
.../server/test/functional/BloomFilterTest.java | 80 +-
.../functional/BulkSplitOptimizationTest.java | 4 +-
.../server/test/functional/CacheTestClean.java | 3 +-
.../server/test/functional/ConcurrencyTest.java | 3 +-
.../server/test/functional/ConstraintTest.java | 15 +-
.../test/functional/CreateAndUseTest.java | 5 +-
.../test/functional/DeleteEverythingTest.java | 3 +-
.../test/functional/DeleteRowsSplitTest.java | 3 +-
.../server/test/functional/DeleteRowsTest.java | 3 +-
.../test/functional/FateStarvationTest.java | 77 +
.../server/test/functional/FunctionalTest.java | 129 +-
.../server/test/functional/LargeRowTest.java | 16 +-
.../server/test/functional/LogicalTimeTest.java | 3 +-
.../server/test/functional/MaxOpenTest.java | 6 +-
.../server/test/functional/MergeTest.java | 3 +-
.../server/test/functional/PermissionsTest.java | 38 +-
.../server/test/functional/RowDeleteTest.java | 3 +-
.../server/test/functional/RunTests.java | 20 +-
.../test/functional/ScanIteratorTest.java | 3 +-
.../server/test/functional/ScanRangeTest.java | 5 +-
.../test/functional/ScanSessionTimeOutTest.java | 3 +-
.../test/functional/ServerSideErrorTest.java | 3 +-
.../server/test/functional/SlowConstraint.java | 41 +
.../test/functional/SparseColumnFamilyTest.java | 3 +-
.../server/test/functional/TimeoutTest.java | 132 +
.../server/test/functional/VisibilityTest.java | 13 +-
.../server/test/functional/ZombieTServer.java | 18 +-
.../metadata/MetadataBatchScanTest.java | 12 +-
.../performance/scan/CollectTabletStats.java | 145 +-
.../test/performance/thrift/NullTserver.java | 88 +-
.../server/test/randomwalk/Framework.java | 36 +-
.../accumulo/server/test/randomwalk/Module.java | 13 +-
.../accumulo/server/test/randomwalk/State.java | 33 +-
.../test/randomwalk/concurrent/BatchWrite.java | 3 +-
.../test/randomwalk/concurrent/CreateUser.java | 4 +-
.../test/randomwalk/concurrent/StartAll.java | 33 +
.../randomwalk/concurrent/StopTabletServer.java | 82 +
.../server/test/randomwalk/image/Commit.java | 2 +-
.../test/randomwalk/image/ImageFixture.java | 2 +-
.../server/test/randomwalk/image/Write.java | 4 +-
.../test/randomwalk/multitable/Commit.java | 4 +-
.../test/randomwalk/multitable/CopyTool.java | 17 +-
.../test/randomwalk/multitable/Write.java | 2 +-
.../randomwalk/security/AlterSystemPerm.java | 10 +-
.../test/randomwalk/security/AlterTable.java | 18 +-
.../randomwalk/security/AlterTablePerm.java | 58 +-
.../test/randomwalk/security/Authenticate.java | 33 +-
.../test/randomwalk/security/ChangePass.java | 63 +-
.../test/randomwalk/security/CreateTable.java | 17 +-
.../test/randomwalk/security/CreateUser.java | 24 +-
.../test/randomwalk/security/DropTable.java | 34 +-
.../test/randomwalk/security/DropUser.java | 25 +-
.../randomwalk/security/SecurityFixture.java | 59 +-
.../randomwalk/security/SecurityHelper.java | 29 +
.../test/randomwalk/security/SetAuths.java | 27 +-
.../test/randomwalk/security/TableOp.java | 93 +-
.../test/randomwalk/security/Validate.java | 37 +-
.../randomwalk/security/WalkingSecurity.java | 369 +
.../test/randomwalk/sequential/BatchVerify.java | 134 +-
.../test/randomwalk/sequential/Commit.java | 2 +-
.../randomwalk/sequential/MapRedVerifyTool.java | 15 +-
.../test/randomwalk/sequential/Write.java | 4 +-
.../test/randomwalk/shard/DeleteSomeDocs.java | 7 +-
.../test/randomwalk/shard/ExportIndex.java | 115 +
.../server/test/randomwalk/shard/Reindex.java | 3 +-
.../test/randomwalk/shard/VerifyIndex.java | 2 +-
.../server/test/scalability/Ingest.java | 10 +-
.../accumulo/server/test/scalability/Run.java | 34 +-
.../server/test/scalability/ScaleTest.java | 2 +-
.../accumulo/server/trace/TraceFileSystem.java | 7 +-
.../accumulo/server/trace/TraceServer.java | 30 +-
.../server/util/AddFilesWithMissingEntries.java | 43 +-
.../org/apache/accumulo/server/util/Admin.java | 156 +-
.../accumulo/server/util/ChangeSecret.java | 36 +-
.../server/util/CheckForMetadataProblems.java | 89 +-
.../accumulo/server/util/CleanZookeeper.java | 21 +-
.../accumulo/server/util/DeleteZooInstance.java | 55 +-
.../accumulo/server/util/DumpZookeeper.java | 20 +-
.../accumulo/server/util/EmbeddedWebServer.java | 126 +-
.../server/util/FindOfflineTablets.java | 65 +
.../apache/accumulo/server/util/Initialize.java | 139 +-
.../accumulo/server/util/ListInstances.java | 62 +-
.../accumulo/server/util/LocalityCheck.java | 12 +-
.../accumulo/server/util/MetadataTable.java | 128 +-
.../server/util/OfflineMetadataScanner.java | 2 +
.../accumulo/server/util/RandomWriter.java | 48 +-
.../util/RemoveEntriesForMissingFiles.java | 45 +-
.../accumulo/server/util/RestoreZookeeper.java | 28 +-
.../accumulo/server/util/SendLogToChainsaw.java | 194 +-
.../accumulo/server/util/TServerUtils.java | 60 +-
.../accumulo/server/util/TableDiskUsage.java | 25 +-
.../accumulo/server/util/TabletIterator.java | 7 +-
.../accumulo/server/util/TabletServerLocks.java | 17 +-
.../server/util/VerifyTabletAssignments.java | 123 +-
.../org/apache/accumulo/server/util/ZooZap.java | 53 +-
.../accumulo/server/util/time/SimpleTimer.java | 29 +-
.../server/zookeeper/DistributedWorkQueue.java | 3 +-
.../server/zookeeper/TransactionWatcher.java | 4 +-
.../accumulo/server/zookeeper/ZooQueueLock.java | 8 +-
.../server/zookeeper/ZooReaderWriter.java | 6 +-
server/src/main/resources/web/vis.js | 402 +
server/src/main/resources/web/vis.xml | 404 -
.../server/client/BulkImporterTest.java | 2 +-
.../constraints/MetadataConstraintsTest.java | 16 +-
.../server/data/ServerMutationTest.java | 79 +
.../accumulo/server/gc/TestConfirmDeletes.java | 14 +-
.../accumulo/server/logger/LogFileTest.java | 36 +-
.../accumulo/server/master/TestMergeState.java | 26 +-
.../balancer/DefaultLoadBalancerTest.java | 37 +-
.../master/balancer/TableLoadBalancerTest.java | 2 +-
.../server/monitor/ZooKeeperStatusTest.java | 56 +
.../server/security/ZKAuthenticatorTest.java | 87 -
.../security/handler/ZKAuthenticatorTest.java | 87 +
.../tabletserver/log/SortedLogRecoveryTest.java | 112 +-
.../server/test/iterator/RegExTest.java | 3 +-
.../apache/accumulo/server/util/CloneTest.java | 50 +-
.../server/util/TabletIteratorTest.java | 11 +-
start/pom.xml | 102 +-
.../java/org/apache/accumulo/start/Main.java | 40 +-
.../org/apache/accumulo/start/TestMain.java | 8 +
.../start/classloader/AccumuloClassLoader.java | 428 +-
.../AccumuloFilesystemAlterationMonitor.java | 134 -
.../vfs/AccumuloReloadingVFSClassLoader.java | 155 +
.../classloader/vfs/AccumuloVFSClassLoader.java | 320 +
.../start/classloader/vfs/ContextManager.java | 170 +
.../vfs/PostDelegatingVFSClassLoader.java | 52 +
.../classloader/vfs/ReloadingClassLoader.java | 24 +
.../vfs/providers/HdfsFileAttributes.java | 60 +
.../providers/HdfsFileContentInfoFactory.java | 50 +
.../vfs/providers/HdfsFileObject.java | 354 +
.../vfs/providers/HdfsFileProvider.java | 89 +
.../vfs/providers/HdfsFileSystem.java | 165 +
.../providers/HdfsFileSystemConfigBuilder.java | 48 +
.../vfs/providers/HdfsRandomAccessContent.java | 362 +
.../classloader/vfs/providers/package.html | 19 +
.../java/org/apache/accumulo/start/Test.java | 244 -
.../AccumuloReloadingVFSClassLoaderTest.java | 128 +
.../vfs/AccumuloVFSClassLoaderTest.java | 130 +
.../classloader/vfs/ContextManagerTest.java | 207 +
.../providers/ReadOnlyHdfsFileProviderTest.java | 246 +
.../vfs/providers/VfsClassLoaderTest.java | 145 +
.../apache/accumulo/test/AccumuloDFSBase.java | 147 +
start/src/test/resources/HelloWorld.jar | Bin 0 -> 1008 bytes
test/compat/diffAPI.pl | 62 +-
test/compat/japi-compliance/README | 14 +
.../japi-compliance/japi-accumulo-1.4.xml | 18 +
.../japi-compliance/japi-accumulo-1.5.xml | 19 +
test/pom.xml | 112 +
.../accumulo/test/MiniAccumuloCluster.java | 364 +
.../accumulo/test/MiniAccumuloConfig.java | 88 +
.../accumulo/test/MiniAccumuloClusterTest.java | 192 +
test/src/test/resources/FooFilter.jar | Bin 0 -> 1645 bytes
test/src/test/resources/conf/accumulo-site.xml | 109 +
test/system/auto/JavaTest.py | 2 +-
test/system/auto/TestUtils.py | 74 +-
test/system/auto/config.py | 0
test/system/auto/run.py | 3 +-
test/system/auto/simple/baditerminc.py | 0
test/system/auto/simple/binary.py | 8 +-
test/system/auto/simple/bulk.py | 8 +-
test/system/auto/simple/combiner.py | 0
test/system/auto/simple/compaction.py | 2 +-
test/system/auto/simple/delete.py | 4 +-
test/system/auto/simple/deleterows.py | 2 +-
test/system/auto/simple/dynamic.py | 54 +-
test/system/auto/simple/dynamicThreadPools.py | 14 +-
test/system/auto/simple/examples.py | 265 +-
test/system/auto/simple/fateStartvation.py | 30 +
test/system/auto/simple/gc.py | 17 +-
test/system/auto/simple/mapreduce.py | 27 +-
test/system/auto/simple/merge.py | 1 +
test/system/auto/simple/readwrite.py | 6 +-
test/system/auto/simple/shell.py | 8 +
test/system/auto/simple/shutdown.py | 20 +-
test/system/auto/simple/split.py | 13 +-
test/system/auto/simple/timeout.py | 29 +
test/system/auto/simple/wal.py | 57 -
test/system/auto/simple/zoo.py | 2 +-
test/system/auto/simple/zooCacheTest.py | 2 +-
test/system/auto/stress/batchWrite.py | 4 +-
test/system/auto/stress/halfDead.py | 9 +-
test/system/auto/stress/migrations.py | 0
test/system/auto/stress/restart.py | 23 +-
test/system/bench/README | 9 +-
test/system/bench/cloudstone1/cloudstone1.py | 1 +
test/system/bench/lib/Benchmark.py | 10 +-
test/system/bench/lib/CreateTablesBenchmark.py | 15 +-
test/system/bench/lib/IngestBenchmark.py | 21 +-
test/system/bench/lib/RowHashBenchmark.py | 61 +-
test/system/bench/lib/TableSplitsBenchmark.py | 26 +-
test/system/bench/lib/TeraSortBenchmark.py | 19 +-
test/system/bench/lib/cloudshell.py | 2 +-
test/system/bench/lib/path.py | 4 +-
test/system/bench/run.py | 3 +
test/system/continuous/agitator.pl | 5 +
.../system/continuous/continuous-env.sh.example | 12 +
test/system/continuous/report.pl | 2 +-
test/system/continuous/run-moru.sh | 2 +-
test/system/continuous/run-verify.sh | 11 +-
test/system/continuous/start-agitator.sh | 2 +
test/system/continuous/start-batchwalkers.sh | 8 +-
test/system/continuous/start-ingest.sh | 11 +-
test/system/continuous/start-scanners.sh | 8 +-
test/system/continuous/start-stats.sh | 2 +-
test/system/continuous/start-walkers.sh | 8 +-
test/system/randomwalk/bin/reset-cluster.sh | 0
test/system/randomwalk/bin/start-local.sh | 9 +-
.../randomwalk/conf/modules/Concurrent.xml | 10 +
.../system/randomwalk/conf/modules/Security.xml | 446 +-
test/system/randomwalk/conf/modules/Shard.xml | 7 +-
test/system/test1/ingest_test.sh | 10 +-
test/system/test1/ingest_test_2.sh | 10 +-
test/system/test1/verify_test.sh | 10 +-
test/system/test1/verify_test_2.sh | 10 +-
test/system/test2/concurrent.sh | 90 +-
test/system/test3/bigrow.sh | 12 +-
test/system/test4/bulk_import_test.sh | 44 +-
test/system/test5/insert_test.sh | 18 -
test/system/upgrade_test.sh | 25 +-
trace/pom.xml | 32 +-
.../cloudtrace/instrument/impl/MilliSpan.java | 2 +
.../instrument/receivers/AsyncSpanReceiver.java | 2 +-
.../cloudtrace/instrument/thrift/TraceWrap.java | 6 +-
.../accumulo/cloudtrace/thrift/RemoteSpan.java | 591 +-
.../cloudtrace/thrift/SpanReceiver.java | 304 +-
.../accumulo/cloudtrace/thrift/TInfo.java | 243 +-
.../accumulo/cloudtrace/thrift/TestService.java | 520 +-
trace/src/main/scripts/generate-thrift.sh | 24 +
trace/src/main/thrift/cloudtrace.thrift | 1 +
.../cloudtrace/instrument/CountSamplerTest.java | 2 +-
.../cloudtrace/instrument/TracerTest.java | 4 +-
trace/thrift.sh | 39 -
1071 files changed, 183860 insertions(+), 52974 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/58fcad6e/README
----------------------------------------------------------------------
diff --cc README
index 41f6efc,9b8edae..7cf2c69
--- a/README
+++ b/README
@@@ -62,8 -70,24 +70,24 @@@ the machines in the cluster and that ha
found in the same location on every machine in the cluster. You will need to
have password-less ssh set up as described in the hadoop documentation.
- You will need to have hadoop installed and configured on your system.
- Accumulo ACCUMULO-652-SNAPSHOT has been tested with hadoop version 0.20.2.
+ You will need to have hadoop installed and configured on your system. Accumulo
-1.5.0-SNAPSHOT has been tested with hadoop version 0.20.2. To avoid data loss,
-you must enable HDFS durable sync. How you enable this depends on your version
-of Hadoop. Please consult the table below for information regarding your version.
-If you need to set the coniguration, please be sure to restart HDFS. See
-ACCUMULO-623 for more information.
++ACCUMULO-652-SNAPSHOT has been tested with hadoop version 0.20.2. To avoid
++data loss, you must enable HDFS durable sync. How you enable this depends on
++your version of Hadoop. Please consult the table below for information
++regarding your version. If you need to set the coniguration, please be sure to
++restart HDFS. See ACCUMULO-623 for more information.
+
+ HADOOP RELEASE VERSION SYNC NAME DEFAULT
+ Apache Hadoop 0.20.205 dfs.support.append false
+ Apache Hadoop 0.23.x dfs.support.append true
+ Apache Hadoop 1.0.x dfs.support.append false
+ Apache Hadoop 1.1.x dfs.durable.sync true
+ Apache Hadoop 2.0.0-2.0.2 dfs.support.append true
+ Cloudera CDH 3u0-3u3 ???? true
+ Cloudera CDH 3u4 dfs.support.append true
+ Hortonworks HDP `1.0 dfs.support.append false
+ Hortonworks HDP `1.1 dfs.support.append false
+
The example accumulo configuration files are placed in directories based on the
memory footprint for the accumulo processes. If you are using native libraries
http://git-wip-us.apache.org/repos/asf/accumulo/blob/58fcad6e/assemble/pom.xml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/58fcad6e/bin/config.sh
----------------------------------------------------------------------
diff --cc bin/config.sh
index ca5e575,d657929..482f567
--- a/bin/config.sh
+++ b/bin/config.sh
@@@ -46,26 -46,26 +46,26 @@@ mkdir -p $ACCUMULO_LOG_DIR 2>/dev/nul
export ACCUMULO_LOG_DIR
if [ -z ${ACCUMULO_VERSION} ]; then
- ACCUMULO_VERSION=1.5.0-SNAPSHOT
+ ACCUMULO_VERSION=ACCUMULO-652-SNAPSHOT
fi
- if [ -z "$HADOOP_HOME" ]
+ if [ -z "$HADOOP_PREFIX" ]
then
- HADOOP_HOME="`which hadoop`"
- if [ -z "$HADOOP_HOME" ]
+ HADOOP_PREFIX="`which hadoop`"
+ if [ -z "$HADOOP_PREFIX" ]
then
- echo "You must set HADOOP_HOME"
+ echo "You must set HADOOP_PREFIX"
exit 1
fi
- HADOOP_HOME=`dirname $HADOOP_HOME`
- HADOOP_HOME=`dirname $HADOOP_HOME`
+ HADOOP_PREFIX=`dirname $HADOOP_PREFIX`
+ HADOOP_PREFIX=`dirname $HADOOP_PREFIX`
fi
- if [ ! -d "$HADOOP_HOME" ]
+ if [ ! -d "$HADOOP_PREFIX" ]
then
- echo "$HADOOP_HOME is not a directory"
+ echo "$HADOOP_PREFIX is not a directory"
exit 1
fi
- export HADOOP_HOME
+ export HADOOP_PREFIX
if [ ! -f "$ACCUMULO_HOME/conf/masters" -o ! -f "$ACCUMULO_HOME/conf/slaves" ]
then
http://git-wip-us.apache.org/repos/asf/accumulo/blob/58fcad6e/core/pom.xml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/58fcad6e/core/src/main/java/org/apache/accumulo/core/Constants.java
----------------------------------------------------------------------
diff --cc core/src/main/java/org/apache/accumulo/core/Constants.java
index ccd496f,99726d9..cecde9c
--- a/core/src/main/java/org/apache/accumulo/core/Constants.java
+++ b/core/src/main/java/org/apache/accumulo/core/Constants.java
@@@ -28,7 -30,11 +30,11 @@@ import org.apache.hadoop.fs.Path
import org.apache.hadoop.io.Text;
public class Constants {
+ public static final Charset UTF8 = Charset.forName("UTF-8");
- public static final String VERSION = "1.5.0-SNAPSHOT";
+ public static final String VERSION = "ACCUMULO-652-SNAPSHOT";
+
+ // versions should never be negative
+ public static final Integer WIRE_VERSION = 2;
public static final int DATA_VERSION = 4;
public static final int PREV_DATA_VERSION = 3;
http://git-wip-us.apache.org/repos/asf/accumulo/blob/58fcad6e/core/src/main/java/org/apache/accumulo/core/file/rfile/MultiLevelIndex.java
----------------------------------------------------------------------
diff --cc core/src/main/java/org/apache/accumulo/core/file/rfile/MultiLevelIndex.java
index 9a78dad,15918ec..502d237
--- a/core/src/main/java/org/apache/accumulo/core/file/rfile/MultiLevelIndex.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/rfile/MultiLevelIndex.java
@@@ -39,9 -38,6 +39,8 @@@ import org.apache.accumulo.core.file.bl
import org.apache.accumulo.core.file.blockfile.BlockFileReader;
import org.apache.accumulo.core.file.blockfile.BlockFileWriter;
import org.apache.accumulo.core.file.rfile.bcfile.Utils;
+import org.apache.accumulo.core.iterators.predicates.ColumnVisibilityPredicate;
+import org.apache.accumulo.core.iterators.predicates.TimestampRangePredicate;
- import org.apache.accumulo.core.security.ColumnVisibility;
import org.apache.hadoop.io.WritableComparable;
public class MultiLevelIndex {
http://git-wip-us.apache.org/repos/asf/accumulo/blob/58fcad6e/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java
----------------------------------------------------------------------
diff --cc core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java
index 2cb717e,fe21f02..77813de
--- a/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java
+++ b/core/src/main/java/org/apache/accumulo/core/file/rfile/RFile.java
@@@ -55,21 -54,12 +54,16 @@@ import org.apache.accumulo.core.file.rf
import org.apache.accumulo.core.file.rfile.MultiLevelIndex.IndexEntry;
import org.apache.accumulo.core.file.rfile.MultiLevelIndex.Reader.IndexIterator;
import org.apache.accumulo.core.file.rfile.RelativeKey.MByteSequence;
+ import org.apache.accumulo.core.file.rfile.RelativeKey.SkippR;
import org.apache.accumulo.core.file.rfile.bcfile.MetaBlockDoesNotExist;
+import org.apache.accumulo.core.iterators.Filterer;
import org.apache.accumulo.core.iterators.IterationInterruptedException;
import org.apache.accumulo.core.iterators.IteratorEnvironment;
+import org.apache.accumulo.core.iterators.Predicate;
import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
+import org.apache.accumulo.core.iterators.predicates.ColumnVisibilityPredicate;
+import org.apache.accumulo.core.iterators.predicates.TimestampRangePredicate;
import org.apache.accumulo.core.iterators.system.HeapIterator;
- import org.apache.accumulo.core.security.ColumnVisibility;
- 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.io.Text;
import org.apache.hadoop.io.Writable;
import org.apache.log4j.Logger;
@@@ -376,8 -366,9 +372,8 @@@ public class RFile
}
}
-
+ @Override
public void append(Key key, Value value) throws IOException {
-
if (dataClosed) {
throw new IllegalStateException("Cannont append, data closed");
}
@@@ -1086,114 -1086,5 +1122,22 @@@
lgr.setInterruptFlag(interruptFlag);
}
}
+
+ TimestampRangePredicate timestampFilter = null;
+ ColumnVisibilityPredicate columnVisibilityPredicate = null;
+
+ /* (non-Javadoc)
+ * @see org.apache.accumulo.core.iterators.Filterer#applyFilter(org.apache.accumulo.core.iterators.Predicate)
+ */
+ @Override
+ public void applyFilter(Predicate<Key,Value> filter, boolean required) {
+ if(required)
+ throw new IllegalArgumentException("RFile cannot guarantee filtering");
+ // the HeapIterator will pass this filter on to its children, a collection of LocalityGroupReaders
+ if(filter instanceof TimestampRangePredicate)
+ this.timestampFilter = (TimestampRangePredicate)filter;
+ if(filter instanceof ColumnVisibilityPredicate)
+ this.columnVisibilityPredicate = (ColumnVisibilityPredicate)filter;
+ }
}
-
- public static void main(String[] args) throws Exception {
- Configuration conf = new Configuration();
- FileSystem fs = FileSystem.get(conf);
-
- int max_row = 10000;
- int max_cf = 10;
- int max_cq = 10;
-
- CachableBlockFile.Writer _cbw = new CachableBlockFile.Writer(fs, new Path("/tmp/test.rf"), "gz", conf);
- RFile.Writer w = new RFile.Writer(_cbw, 100000);
-
- w.startDefaultLocalityGroup();
-
- int c = 0;
-
- for (int i = 0; i < max_row; i++) {
- Text row = new Text(String.format("R%06d", i));
- for (int j = 0; j < max_cf; j++) {
- Text cf = new Text(String.format("CF%06d", j));
- for (int k = 0; k < max_cq; k++) {
- Text cq = new Text(String.format("CQ%06d", k));
- w.append(new Key(row, cf, cq), new Value((c++ + "").getBytes()));
- }
- }
- }
-
- w.close();
-
- long t1 = System.currentTimeMillis();
- FSDataInputStream fsin = fs.open(new Path("/tmp/test.rf"));
- long t2 = System.currentTimeMillis();
- CachableBlockFile.Reader _cbr = new CachableBlockFile.Reader(fs, new Path("/tmp/test.rf"), conf, null, null);
- RFile.Reader r = new RFile.Reader(_cbr);
- long t3 = System.currentTimeMillis();
-
- System.out.println("Open time " + (t2 - t1) + " " + (t3 - t2));
-
- SortedKeyValueIterator<Key,Value> rd = r.deepCopy(null);
- SortedKeyValueIterator<Key,Value> rd2 = r.deepCopy(null);
-
- Random rand = new Random(10);
-
- seekRandomly(100, max_row, max_cf, max_cq, r, rand);
-
- rand = new Random(10);
- seekRandomly(100, max_row, max_cf, max_cq, rd, rand);
-
- rand = new Random(10);
- seekRandomly(100, max_row, max_cf, max_cq, rd2, rand);
-
- r.closeDeepCopies();
-
- seekRandomly(100, max_row, max_cf, max_cq, r, rand);
-
- rd = r.deepCopy(null);
-
- seekRandomly(100, max_row, max_cf, max_cq, rd, rand);
-
- r.close();
- fsin.close();
-
- seekRandomly(100, max_row, max_cf, max_cq, r, rand);
- }
-
- private static void seekRandomly(int num, int max_row, int max_cf, int max_cq, SortedKeyValueIterator<Key,Value> rd, Random rand) throws Exception {
- long t1 = System.currentTimeMillis();
-
- for (int i = 0; i < num; i++) {
- Text row = new Text(String.format("R%06d", rand.nextInt(max_row)));
- Text cf = new Text(String.format("CF%06d", rand.nextInt(max_cf)));
- Text cq = new Text(String.format("CQ%06d", rand.nextInt(max_cq)));
-
- Key sk = new Key(row, cf, cq);
- rd.seek(new Range(sk, null), new ArrayList<ByteSequence>(), false);
- if (!rd.hasTop() || !rd.getTopKey().equals(sk)) {
- System.err.println(sk + " != " + rd.getTopKey());
- }
-
- }
-
- long t2 = System.currentTimeMillis();
-
- double delta = ((t2 - t1) / 1000.0);
- System.out.println("" + delta + " " + num / delta);
-
- System.gc();
- System.gc();
- System.gc();
-
- Thread.sleep(3000);
- }
}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/58fcad6e/core/src/main/java/org/apache/accumulo/core/iterators/Filter.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/58fcad6e/core/src/main/java/org/apache/accumulo/core/iterators/system/GenericFilterer.java
----------------------------------------------------------------------
diff --cc core/src/main/java/org/apache/accumulo/core/iterators/system/GenericFilterer.java
index d531d52,0000000..7d619f4
mode 100644,000000..100644
--- a/core/src/main/java/org/apache/accumulo/core/iterators/system/GenericFilterer.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/system/GenericFilterer.java
@@@ -1,104 -1,0 +1,105 @@@
+package org.apache.accumulo.core.iterators.system;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.apache.accumulo.core.data.ByteSequence;
+import org.apache.accumulo.core.data.Key;
+import org.apache.accumulo.core.data.Range;
+import org.apache.accumulo.core.data.Value;
+import org.apache.accumulo.core.iterators.Filterer;
+import org.apache.accumulo.core.iterators.Predicate;
+import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
+import org.apache.accumulo.core.iterators.WrappingIterator;
+
+public class GenericFilterer extends WrappingIterator implements Filterer<Key,Value> {
+
+ private ArrayList<Predicate<Key,Value>> filters = new ArrayList<Predicate<Key,Value>>();
+
+ private Key topKey;
+ private Value topValue;
+
+ public GenericFilterer(SortedKeyValueIterator<Key,Value> source) {
+ setSource(source);
+ }
+
+ public GenericFilterer() {
+ }
+
+ @Override
+ public void seek(Range range, Collection<ByteSequence> columnFamilies, boolean inclusive) throws IOException {
+ topKey = null;
+ topValue = null;
+ super.seek(range, columnFamilies, inclusive);
+ }
+
+ @Override
+ public void next() throws IOException {
+ topKey = null;
+ topValue = null;
+ super.next();
+ }
+
+ @Override
+ public Key getTopKey() {
+ if(topKey == null)
+ hasTop();
+ return topKey;
+ }
+
+ @Override
+ public Value getTopValue() {
+ if(topValue == null)
+ hasTop();
+ return topValue;
+ }
+
+ @Override
+ public boolean hasTop() {
+ if(topKey == null)
+ {
+ while(super.hasTop())
+ {
+ topKey = super.getTopKey();
+ topValue = super.getTopValue();
+ // check all the filters to see if we found a valid key/value pair
+ boolean keep = true;
+ for(Predicate<Key,Value> filter: filters)
+ {
+ if(!filter.evaluate(topKey, topValue))
+ {
+ keep = false;
+ try {
+ super.next();
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ break;
+ }
+ }
+ if(keep == true)
+ return true;
+ }
+ // ran out of key/value pairs
+ topKey = null;
+ topValue = null;
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
+
+ @Override
+ public void applyFilter(Predicate<Key,Value> filter, boolean required) {
+ filters.add(filter);
+ if(getSource() instanceof Filterer)
+ {
++ @SuppressWarnings("unchecked")
+ Filterer<Key,Value> source = (Filterer<Key,Value>)getSource();
+ source.applyFilter(filter, false);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/accumulo/blob/58fcad6e/core/src/main/java/org/apache/accumulo/core/iterators/system/HeapIterator.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/58fcad6e/core/src/main/java/org/apache/accumulo/core/iterators/system/SourceSwitchingIterator.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/accumulo/blob/58fcad6e/core/src/main/java/org/apache/accumulo/core/iterators/system/VisibilityFilter.java
----------------------------------------------------------------------
diff --cc core/src/main/java/org/apache/accumulo/core/iterators/system/VisibilityFilter.java
index 5deed97,4902e61..cbe6a12
--- a/core/src/main/java/org/apache/accumulo/core/iterators/system/VisibilityFilter.java
+++ b/core/src/main/java/org/apache/accumulo/core/iterators/system/VisibilityFilter.java
@@@ -22,45 -19,39 +22,47 @@@ import java.util.Map
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.Value;
import org.apache.accumulo.core.iterators.Filter;
+import org.apache.accumulo.core.iterators.Filterer;
import org.apache.accumulo.core.iterators.IteratorEnvironment;
import org.apache.accumulo.core.iterators.SortedKeyValueIterator;
+import org.apache.accumulo.core.iterators.predicates.ColumnVisibilityPredicate;
import org.apache.accumulo.core.security.Authorizations;
import org.apache.accumulo.core.security.ColumnVisibility;
-import org.apache.accumulo.core.security.VisibilityEvaluator;
-import org.apache.accumulo.core.security.VisibilityParseException;
+ import org.apache.accumulo.core.util.BadArgumentException;
import org.apache.accumulo.core.util.TextUtil;
import org.apache.commons.collections.map.LRUMap;
import org.apache.hadoop.io.Text;
import org.apache.log4j.Logger;
++
++
public class VisibilityFilter extends Filter {
- private VisibilityEvaluator ve;
++ private static final Logger log = Logger.getLogger(VisibilityFilter.class);
++
+ private Authorizations auths;
private Text defaultVisibility;
private LRUMap cache;
private Text tmpVis;
-- private static final Logger log = Logger.getLogger(VisibilityFilter.class);
--
- public VisibilityFilter() {}
-
++ @SuppressWarnings("unchecked")
public VisibilityFilter(SortedKeyValueIterator<Key,Value> iterator, Authorizations authorizations, byte[] defaultVisibility) {
- setSource(iterator);
- this.ve = new VisibilityEvaluator(authorizations);
+ this.auths = authorizations;
this.defaultVisibility = new Text(defaultVisibility);
this.cache = new LRUMap(1000);
this.tmpVis = new Text();
+ if(iterator instanceof Filterer)
+ ((Filterer<Key,Value>)iterator).applyFilter(new ColumnVisibilityPredicate(auths), false);
- else
- throw new IllegalArgumentException("expected to get a "+Filterer.class.getSimpleName());
+ setSource(iterator);
}
-
+
+ @Override
+ public void init(SortedKeyValueIterator<Key,Value> source, Map<String,String> options, IteratorEnvironment env) throws IOException {
+ throw new UnsupportedOperationException();
+ }
+
@Override
public SortedKeyValueIterator<Key,Value> deepCopy(IteratorEnvironment env) {
- return new VisibilityFilter(getSource().deepCopy(env), ve.getAuthorizations(), TextUtil.getBytes(defaultVisibility));
+ return new VisibilityFilter(getSource().deepCopy(env), auths, TextUtil.getBytes(defaultVisibility));
}
@Override
@@@ -76,8 -67,16 +78,14 @@@
if (b != null)
return b;
- Boolean bb = new ColumnVisibility(testVis).evaluate(auths);
++ Boolean bb;
+ try {
- Boolean bb = ve.evaluate(new ColumnVisibility(testVis));
- cache.put(new Text(testVis), bb);
- return bb;
- } catch (VisibilityParseException e) {
- log.error("Parse Error", e);
- return false;
++ bb = new ColumnVisibility(testVis).evaluate(auths);
+ } catch (BadArgumentException e) {
- log.error("Parse Error", e);
- return false;
++ log.warn(e);
++ bb = false;
+ }
+ cache.put(new Text(testVis), bb);
+ return bb;
}
}