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;
    }
  }