accumulo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ctubb...@apache.org
Subject [51/54] [partial] git commit: ACCUMULO-658, ACCUMULO-656 Split server into separate modules
Date Fri, 01 Nov 2013 00:56:30 GMT
ACCUMULO-658,ACCUMULO-656 Split server into separate modules

  Separated modules include gc, monitor, master, tserver, utils, native
  library, and tracer server


Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo
Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/598821cd
Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/598821cd
Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/598821cd

Branch: refs/heads/master
Commit: 598821cd5c1a86b23220db2a24b2e8b2cc01fad3
Parents: b8b1b96
Author: Christopher Tubbs <ctubbsii@apache.org>
Authored: Tue Jul 30 12:08:43 2013 -0400
Committer: Christopher Tubbs <ctubbsii@apache.org>
Committed: Thu Oct 31 20:39:08 2013 -0400

----------------------------------------------------------------------
 LICENSE                                         |    2 +-
 assemble/pom.xml                                |   19 +-
 assemble/scripts/init.d/accumulo-master         |    2 +-
 bin/start-all.sh                                |    2 +-
 bin/start-here.sh                               |    2 +-
 .../core/conf/AccumuloConfiguration.java        |   21 +
 .../org/apache/accumulo/core/conf/Property.java |   41 +-
 minicluster/pom.xml                             |    6 +-
 .../minicluster/MiniAccumuloCluster.java        |   10 +-
 pom.xml                                         |   70 +-
 proxy/pom.xml                                   |    4 -
 server/base/pom.xml                             |  135 +
 .../org/apache/accumulo/server/Accumulo.java    |  264 +
 .../apache/accumulo/server/ServerConstants.java |  137 +
 .../org/apache/accumulo/server/ServerOpts.java  |   32 +
 .../server/cli/ClientOnDefaultTable.java        |   44 +
 .../server/cli/ClientOnRequiredTable.java       |   41 +
 .../apache/accumulo/server/cli/ClientOpts.java  |   39 +
 .../accumulo/server/client/BulkImporter.java    |  776 ++
 .../server/client/ClientServiceHandler.java     |  352 +
 .../accumulo/server/client/HdfsZooInstance.java |  199 +
 .../accumulo/server/conf/ConfigSanityCheck.java |   30 +
 .../server/conf/ServerConfiguration.java        |  111 +
 .../accumulo/server/conf/TableConfWatcher.java  |  110 +
 .../server/conf/TableConfiguration.java         |  147 +
 .../accumulo/server/conf/ZooConfiguration.java  |  148 +
 .../server/constraints/MetadataConstraints.java |  315 +
 .../server/data/ServerColumnUpdate.java         |   36 +
 .../accumulo/server/data/ServerMutation.java    |  103 +
 .../org/apache/accumulo/server/fs/FileRef.java  |   79 +
 .../accumulo/server/fs/RandomVolumeChooser.java |   29 +
 .../accumulo/server/fs/VolumeChooser.java       |   22 +
 .../accumulo/server/fs/VolumeManager.java       |  140 +
 .../accumulo/server/fs/VolumeManagerImpl.java   |  474 +
 .../apache/accumulo/server/init/Initialize.java |  519 ++
 .../iterators/MetadataBulkLoadFilter.java       |   91 +
 .../accumulo/server/master/LiveTServerSet.java  |  399 +
 .../master/balancer/ChaoticLoadBalancer.java    |  143 +
 .../master/balancer/DefaultLoadBalancer.java    |  318 +
 .../master/balancer/TableLoadBalancer.java      |  147 +
 .../server/master/balancer/TabletBalancer.java  |  151 +
 .../server/master/recovery/HadoopLogCloser.java |   61 +
 .../server/master/recovery/LogCloser.java       |   27 +
 .../server/master/recovery/MapRLogCloser.java   |   47 +
 .../server/master/state/Assignment.java         |   30 +
 .../server/master/state/CurrentState.java       |   30 +
 .../server/master/state/DeadServerList.java     |   80 +
 .../server/master/state/DistributedStore.java   |   34 +
 .../master/state/DistributedStoreException.java |   34 +
 .../accumulo/server/master/state/MergeInfo.java |  107 +
 .../server/master/state/MergeState.java         |   49 +
 .../server/master/state/MetaDataStateStore.java |  160 +
 .../master/state/MetaDataTableScanner.java      |  197 +
 .../master/state/RootTabletStateStore.java      |   48 +
 .../server/master/state/TServerInstance.java    |  128 +
 .../master/state/TabletLocationState.java       |   97 +
 .../server/master/state/TabletMigration.java    |   35 +
 .../server/master/state/TabletServerState.java  |   76 +
 .../server/master/state/TabletState.java        |   21 +
 .../master/state/TabletStateChangeIterator.java |  188 +
 .../server/master/state/TabletStateStore.java   |   94 +
 .../accumulo/server/master/state/ZooStore.java  |   96 +
 .../master/state/ZooTabletStateStore.java       |  176 +
 .../master/tableOps/CompactionIterators.java    |  106 +
 .../server/metrics/AbstractMetricsImpl.java     |  272 +
 .../server/metrics/MetricsConfiguration.java    |  232 +
 .../accumulo/server/metrics/ThriftMetrics.java  |   87 +
 .../server/metrics/ThriftMetricsMBean.java      |   42 +
 .../server/monitor/DedupedLogEvent.java         |   68 +
 .../accumulo/server/monitor/LogService.java     |  158 +
 .../accumulo/server/problems/ProblemReport.java |  221 +
 .../problems/ProblemReportingIterator.java      |  116 +
 .../server/problems/ProblemReports.java         |  320 +
 .../accumulo/server/problems/ProblemType.java   |   21 +
 .../security/AuditedSecurityOperation.java      |  436 +
 .../server/security/SecurityOperation.java      |  646 ++
 .../server/security/SystemCredentials.java      |  135 +
 .../server/security/handler/Authenticator.java  |   57 +
 .../server/security/handler/Authorizor.java     |   72 +
 .../security/handler/InsecureAuthenticator.java |   91 +
 .../security/handler/InsecurePermHandler.java   |  103 +
 .../security/handler/PermissionHandler.java     |  107 +
 .../security/handler/ZKAuthenticator.java       |  214 +
 .../server/security/handler/ZKAuthorizor.java   |  169 +
 .../server/security/handler/ZKPermHandler.java  |  369 +
 .../server/security/handler/ZKSecurityTool.java |  155 +
 .../accumulo/server/tables/TableManager.java    |  317 +
 .../accumulo/server/tables/TableObserver.java   |   29 +
 .../accumulo/server/tablets/TabletTime.java     |  228 +
 .../server/tablets/UniqueNameAllocator.java     |   79 +
 .../tabletserver/LargestFirstMemoryManager.java |  200 +
 .../tabletserver/MemoryManagementActions.java   |   25 +
 .../server/tabletserver/MemoryManager.java      |   55 +
 .../server/tabletserver/TabletState.java        |   29 +
 .../server/trace/TraceFSDataInputStream.java    |   90 +
 .../accumulo/server/trace/TraceFileSystem.java  |  818 ++
 .../server/util/ActionStatsUpdator.java         |   37 +
 .../server/util/AddFilesWithMissingEntries.java |  135 +
 .../org/apache/accumulo/server/util/Admin.java  |  442 +
 .../accumulo/server/util/ChangeSecret.java      |  154 +
 .../server/util/CheckForMetadataProblems.java   |  204 +
 .../accumulo/server/util/CleanZookeeper.java    |   87 +
 .../apache/accumulo/server/util/DefaultMap.java |   56 +
 .../accumulo/server/util/DeleteZooInstance.java |   81 +
 .../accumulo/server/util/DumpZookeeper.java     |  123 +
 .../accumulo/server/util/FileSystemMonitor.java |  152 +
 .../apache/accumulo/server/util/FileUtil.java   |  551 ++
 .../server/util/FindOfflineTablets.java         |  129 +
 .../org/apache/accumulo/server/util/Halt.java   |   61 +
 .../org/apache/accumulo/server/util/Info.java   |   30 +
 .../accumulo/server/util/ListInstances.java     |  225 +
 .../accumulo/server/util/LocalityCheck.java     |  111 +
 .../accumulo/server/util/LoginProperties.java   |   62 +
 .../server/util/MasterMetadataUtil.java         |  308 +
 .../accumulo/server/util/MetadataTableUtil.java | 1101 +++
 .../server/util/OfflineMetadataScanner.java     |  281 +
 .../apache/accumulo/server/util/PortUtils.java  |   51 +
 .../accumulo/server/util/RandomWriter.java      |  108 +
 .../util/RemoveEntriesForMissingFiles.java      |  214 +
 .../accumulo/server/util/RestoreZookeeper.java  |  128 +
 .../accumulo/server/util/SendLogToChainsaw.java |  276 +
 .../accumulo/server/util/SystemPropUtil.java    |   45 +
 .../server/util/TBufferedServerSocket.java      |   71 +
 .../server/util/TNonblockingServerSocket.java   |  157 +
 .../accumulo/server/util/TServerUtils.java      |  334 +
 .../accumulo/server/util/TableDiskUsage.java    |  284 +
 .../accumulo/server/util/TableInfoUtil.java     |   88 +
 .../accumulo/server/util/TablePropUtil.java     |   60 +
 .../accumulo/server/util/TabletIterator.java    |  270 +
 .../accumulo/server/util/TabletOperations.java  |   83 +
 .../accumulo/server/util/TabletServerLocks.java |   75 +
 .../server/util/VerifyTabletAssignments.java    |  208 +
 .../accumulo/server/util/ZooKeeperMain.java     |   55 +
 .../org/apache/accumulo/server/util/ZooZap.java |  114 +
 .../server/util/time/BaseRelativeTime.java      |   57 +
 .../accumulo/server/util/time/ProvidesTime.java |   25 +
 .../accumulo/server/util/time/RelativeTime.java |   44 +
 .../accumulo/server/util/time/SimpleTimer.java  |   71 +
 .../accumulo/server/util/time/SystemTime.java   |   30 +
 .../server/zookeeper/DistributedWorkQueue.java  |  253 +
 .../server/zookeeper/TransactionWatcher.java    |   73 +
 .../accumulo/server/zookeeper/ZooCache.java     |   35 +
 .../accumulo/server/zookeeper/ZooLock.java      |   34 +
 .../accumulo/server/zookeeper/ZooQueueLock.java |   53 +
 .../server/zookeeper/ZooReaderWriter.java       |   86 +
 .../server/client/BulkImporterTest.java         |  155 +
 .../constraints/MetadataConstraintsTest.java    |  240 +
 .../server/data/ServerMutationTest.java         |   79 +
 .../iterators/MetadataBulkLoadFilterTest.java   |  144 +
 .../balancer/ChaoticLoadBalancerTest.java       |  167 +
 .../balancer/DefaultLoadBalancerTest.java       |  284 +
 .../master/balancer/TableLoadBalancerTest.java  |  165 +
 .../server/security/SystemCredentialsTest.java  |   65 +
 .../security/handler/ZKAuthenticatorTest.java   |   87 +
 .../apache/accumulo/server/util/CloneTest.java  |  375 +
 .../accumulo/server/util/DefaultMapTest.java    |   47 +
 .../server/util/TabletIteratorTest.java         |  107 +
 .../server/util/time/BaseRelativeTimeTest.java  |   89 +
 .../base/src/test/resources/accumulo-site.xml   |   32 +
 server/base/src/test/resources/log4j.properties |   21 +
 server/gc/pom.xml                               |  131 +
 .../gc/GarbageCollectWriteAheadLogs.java        |  309 +
 .../accumulo/gc/GarbageCollectionAlgorithm.java |  287 +
 .../gc/GarbageCollectionEnvironment.java        |  118 +
 .../accumulo/gc/SimpleGarbageCollector.java     |  578 ++
 .../accumulo/gc/GarbageCollectionTest.java      |  460 +
 server/master/pom.xml                           |  131 +
 .../accumulo/master/EventCoordinator.java       |   63 +
 .../java/org/apache/accumulo/master/Master.java | 1843 ++++
 .../accumulo/master/TServerLockWatcher.java     |   43 +
 .../accumulo/master/TabletGroupWatcher.java     |  659 ++
 .../master/recovery/RecoveryManager.java        |  181 +
 .../accumulo/master/state/MergeStats.java       |  260 +
 .../accumulo/master/state/SetGoalState.java     |   48 +
 .../accumulo/master/state/TableCounts.java      |   39 +
 .../accumulo/master/state/TableStats.java       |   71 +
 .../accumulo/master/tableOps/BulkImport.java    |  616 ++
 .../master/tableOps/CancelCompactions.java      |   99 +
 .../master/tableOps/ChangeTableState.java       |   64 +
 .../accumulo/master/tableOps/CloneTable.java    |  243 +
 .../accumulo/master/tableOps/CompactRange.java  |  304 +
 .../accumulo/master/tableOps/CreateTable.java   |  313 +
 .../accumulo/master/tableOps/DeleteTable.java   |  242 +
 .../accumulo/master/tableOps/ExportTable.java   |  308 +
 .../accumulo/master/tableOps/ImportTable.java   |  606 ++
 .../accumulo/master/tableOps/MasterRepo.java    |   49 +
 .../accumulo/master/tableOps/RenameTable.java   |   91 +
 .../accumulo/master/tableOps/TableRangeOp.java  |  136 +
 .../accumulo/master/tableOps/TraceRepo.java     |   83 +
 .../apache/accumulo/master/tableOps/Utils.java  |  132 +
 .../master/tserverOps/ShutdownTServer.java      |   92 +
 .../apache/accumulo/master/util/FateAdmin.java  |   88 +
 .../apache/accumulo/master/DefaultMapTest.java  |   36 +
 .../apache/accumulo/master/TestMergeState.java  |  196 +
 .../accumulo/master/state/MergeInfoTest.java    |   76 +
 .../master/state/RootTabletStateStoreTest.java  |  219 +
 server/monitor/pom.xml                          |  146 +
 .../accumulo/monitor/EmbeddedWebServer.java     |   94 +
 .../org/apache/accumulo/monitor/Monitor.java    |  625 ++
 .../accumulo/monitor/ZooKeeperStatus.java       |  139 +
 .../accumulo/monitor/servlets/BasicServlet.java |  280 +
 .../monitor/servlets/DefaultServlet.java        |  331 +
 .../monitor/servlets/GcStatusServlet.java       |   72 +
 .../accumulo/monitor/servlets/JSONServlet.java  |  104 +
 .../accumulo/monitor/servlets/LogServlet.java   |  106 +
 .../monitor/servlets/MasterServlet.java         |  199 +
 .../monitor/servlets/OperationServlet.java      |  172 +
 .../monitor/servlets/PreciseNumberType.java     |   32 +
 .../monitor/servlets/ProblemServlet.java        |  193 +
 .../accumulo/monitor/servlets/ShellServlet.java |  331 +
 .../monitor/servlets/TServersServlet.java       |  369 +
 .../monitor/servlets/TablesServlet.java         |  190 +
 .../accumulo/monitor/servlets/VisServlet.java   |  236 +
 .../accumulo/monitor/servlets/XMLServlet.java   |  179 +
 .../accumulo/monitor/servlets/trace/Basic.java  |  104 +
 .../monitor/servlets/trace/ListType.java        |   76 +
 .../servlets/trace/NullKeyValueIterator.java    |   39 +
 .../monitor/servlets/trace/NullScanner.java     |  116 +
 .../monitor/servlets/trace/ShowTrace.java       |  159 +
 .../servlets/trace/ShowTraceLinkType.java       |   47 +
 .../monitor/servlets/trace/Summary.java         |  166 +
 .../org/apache/accumulo/monitor/util/Table.java |  233 +
 .../accumulo/monitor/util/TableColumn.java      |   48 +
 .../apache/accumulo/monitor/util/TableRow.java  |   68 +
 .../monitor/util/celltypes/CellType.java        |   35 +
 .../monitor/util/celltypes/CompactionsType.java |   72 +
 .../monitor/util/celltypes/DateTimeType.java    |   66 +
 .../monitor/util/celltypes/DurationType.java    |   51 +
 .../monitor/util/celltypes/NumberType.java      |  118 +
 .../monitor/util/celltypes/PercentageType.java  |   40 +
 .../util/celltypes/ProgressChartType.java       |   59 +
 .../monitor/util/celltypes/StringType.java      |   40 +
 .../monitor/util/celltypes/TServerLinkType.java |   51 +
 .../monitor/util/celltypes/TableLinkType.java   |   56 +
 .../monitor/util/celltypes/TableStateType.java  |   57 +
 .../src/main/resources/docs/administration.html |  148 +
 .../src/main/resources/docs/bulkIngest.html     |  114 +
 .../src/main/resources/docs/combiners.html      |   85 +
 .../src/main/resources/docs/constraints.html    |   49 +
 .../main/resources/docs/distributedTracing.html |   99 +
 .../src/main/resources/docs/documentation.css   |  112 +
 .../src/main/resources/docs/examples/README     |   95 +
 .../main/resources/docs/examples/README.batch   |   55 +
 .../main/resources/docs/examples/README.bloom   |  218 +
 .../resources/docs/examples/README.bulkIngest   |   33 +
 .../resources/docs/examples/README.classpath    |   68 +
 .../main/resources/docs/examples/README.client  |   79 +
 .../resources/docs/examples/README.combiner     |   70 +
 .../resources/docs/examples/README.constraints  |   54 +
 .../main/resources/docs/examples/README.dirlist |  114 +
 .../main/resources/docs/examples/README.export  |   90 +
 .../resources/docs/examples/README.filedata     |   47 +
 .../main/resources/docs/examples/README.filter  |  110 +
 .../resources/docs/examples/README.helloworld   |   47 +
 .../resources/docs/examples/README.isolation    |   50 +
 .../main/resources/docs/examples/README.mapred  |   97 +
 .../resources/docs/examples/README.maxmutation  |   47 +
 .../main/resources/docs/examples/README.regex   |   58 +
 .../main/resources/docs/examples/README.rowhash |   59 +
 .../main/resources/docs/examples/README.shard   |   67 +
 .../resources/docs/examples/README.tabletofile  |   59 +
 .../resources/docs/examples/README.terasort     |   50 +
 .../resources/docs/examples/README.visibility   |  131 +
 .../monitor/src/main/resources/docs/index.html  |   41 +
 .../src/main/resources/docs/isolation.html      |   39 +
 .../src/main/resources/docs/lgroups.html        |   42 +
 .../src/main/resources/docs/metrics.html        |  182 +
 .../src/main/resources/docs/timestamps.html     |  160 +
 server/monitor/src/main/resources/web/down.gif  |  Bin 0 -> 164 bytes
 .../monitor/src/main/resources/web/favicon.png  |  Bin 0 -> 2195 bytes
 .../src/main/resources/web/flot/LICENSE.txt     |   22 +
 .../src/main/resources/web/flot/excanvas.js     | 1427 +++
 .../src/main/resources/web/flot/excanvas.min.js |    1 +
 .../resources/web/flot/jquery.colorhelpers.js   |  179 +
 .../web/flot/jquery.colorhelpers.min.js         |    1 +
 .../resources/web/flot/jquery.flot.crosshair.js |  167 +
 .../web/flot/jquery.flot.crosshair.min.js       |    1 +
 .../web/flot/jquery.flot.fillbetween.js         |  183 +
 .../web/flot/jquery.flot.fillbetween.min.js     |    1 +
 .../resources/web/flot/jquery.flot.image.js     |  238 +
 .../resources/web/flot/jquery.flot.image.min.js |    1 +
 .../src/main/resources/web/flot/jquery.flot.js  | 2599 ++++++
 .../main/resources/web/flot/jquery.flot.min.js  |    6 +
 .../resources/web/flot/jquery.flot.navigate.js  |  336 +
 .../web/flot/jquery.flot.navigate.min.js        |    1 +
 .../main/resources/web/flot/jquery.flot.pie.js  |  750 ++
 .../resources/web/flot/jquery.flot.pie.min.js   |    1 +
 .../resources/web/flot/jquery.flot.resize.js    |   60 +
 .../web/flot/jquery.flot.resize.min.js          |    1 +
 .../resources/web/flot/jquery.flot.selection.js |  344 +
 .../web/flot/jquery.flot.selection.min.js       |    1 +
 .../resources/web/flot/jquery.flot.stack.js     |  184 +
 .../resources/web/flot/jquery.flot.stack.min.js |    1 +
 .../resources/web/flot/jquery.flot.symbol.js    |   70 +
 .../web/flot/jquery.flot.symbol.min.js          |    1 +
 .../resources/web/flot/jquery.flot.threshold.js |  103 +
 .../web/flot/jquery.flot.threshold.min.js       |    1 +
 .../src/main/resources/web/flot/jquery.js       | 8316 ++++++++++++++++++
 .../src/main/resources/web/flot/jquery.min.js   |   23 +
 .../monitor/src/main/resources/web/functions.js |   21 +
 .../monitor/src/main/resources/web/screen.css   |  392 +
 server/monitor/src/main/resources/web/up.gif    |  Bin 0 -> 165 bytes
 server/monitor/src/main/resources/web/vis.js    |  409 +
 .../accumulo/monitor/ShowTraceLinkTypeTest.java |   64 +
 .../accumulo/monitor/ZooKeeperStatusTest.java   |   56 +
 server/native/pom.xml                           |   77 +
 server/native/src/main/assemblies/component.xml |   40 +
 .../src/main/assemblies/native-tarball.xml      |   28 +
 .../src/main/c++/nativeMap/BlockAllocator.h     |  268 +
 server/native/src/main/c++/nativeMap/Field.h    |  143 +
 server/native/src/main/c++/nativeMap/Key.h      |  143 +
 .../native/src/main/c++/nativeMap/NativeMap.h   |  208 +
 server/native/src/main/c++/nativeMap/SubKey.h   |  187 +
 .../org_apache_accumulo_tserver_NativeMap.cc    |  130 +
 server/native/src/main/resources/LICENSE        |  203 +
 server/native/src/main/resources/Makefile       |   41 +
 server/native/src/test/c++/nativeMap/test.cc    |  134 +
 server/native/src/test/c++/nativeMap/util.cc    |   32 +
 server/native/src/test/c++/nativeMap/util.h     |   19 +
 server/pom.xml                                  |  183 -
 server/src/main/c++/Makefile                    |   23 -
 server/src/main/c++/nativeMap/BlockAllocator.h  |  268 -
 server/src/main/c++/nativeMap/Field.h           |  143 -
 server/src/main/c++/nativeMap/Key.h             |  143 -
 server/src/main/c++/nativeMap/Makefile          |   82 -
 server/src/main/c++/nativeMap/NativeMap.h       |  208 -
 server/src/main/c++/nativeMap/SubKey.h          |  193 -
 ...he_accumulo_server_tabletserver_NativeMap.cc |  149 -
 ...che_accumulo_server_tabletserver_NativeMap.h |  133 -
 ..._tabletserver_NativeMap_ConcurrentIterator.h |   33 -
 ...mulo_server_tabletserver_NativeMap_NMEntry.h |   29 -
 ...o_server_tabletserver_NativeMap_NMIterator.h |   29 -
 ...lo_server_tabletserver_NativeMap_NMSKVIter.h |   29 -
 server/src/main/c++/nativeMap/test.cc           |  152 -
 server/src/main/c++/nativeMap/util.cc           |   40 -
 server/src/main/c++/nativeMap/util.h            |   19 -
 .../org/apache/accumulo/server/Accumulo.java    |  264 -
 .../apache/accumulo/server/ServerConstants.java |  137 -
 .../org/apache/accumulo/server/ServerOpts.java  |   32 -
 .../server/cli/ClientOnDefaultTable.java        |   44 -
 .../server/cli/ClientOnRequiredTable.java       |   41 -
 .../apache/accumulo/server/cli/ClientOpts.java  |   39 -
 .../accumulo/server/client/BulkImporter.java    |  776 --
 .../server/client/ClientServiceHandler.java     |  352 -
 .../accumulo/server/client/HdfsZooInstance.java |  199 -
 .../accumulo/server/conf/ConfigSanityCheck.java |   30 -
 .../server/conf/ServerConfiguration.java        |  111 -
 .../accumulo/server/conf/TableConfWatcher.java  |  110 -
 .../server/conf/TableConfiguration.java         |  147 -
 .../accumulo/server/conf/ZooConfiguration.java  |  148 -
 .../server/constraints/ConstraintChecker.java   |  166 -
 .../server/constraints/MetadataConstraints.java |  315 -
 .../server/constraints/SystemConstraint.java    |   21 -
 .../constraints/UnsatisfiableConstraint.java    |   43 -
 .../server/data/ServerColumnUpdate.java         |   36 -
 .../server/data/ServerConditionalMutation.java  |   58 -
 .../accumulo/server/data/ServerMutation.java    |  103 -
 .../org/apache/accumulo/server/fate/Admin.java  |   88 -
 .../org/apache/accumulo/server/fs/FileRef.java  |   79 -
 .../accumulo/server/fs/RandomVolumeChooser.java |   29 -
 .../accumulo/server/fs/VolumeChooser.java       |   22 -
 .../accumulo/server/fs/VolumeManager.java       |  140 -
 .../accumulo/server/fs/VolumeManagerImpl.java   |  474 -
 .../server/gc/GarbageCollectWriteAheadLogs.java |  310 -
 .../server/gc/GarbageCollectionAlgorithm.java   |  287 -
 .../server/gc/GarbageCollectionEnvironment.java |  118 -
 .../server/gc/SimpleGarbageCollector.java       |  578 --
 .../iterators/MetadataBulkLoadFilter.java       |   91 -
 .../accumulo/server/logger/LogEvents.java       |   27 -
 .../accumulo/server/logger/LogFileKey.java      |  190 -
 .../accumulo/server/logger/LogFileValue.java    |   94 -
 .../accumulo/server/logger/LogReader.java       |  170 -
 .../server/master/EventCoordinator.java         |   63 -
 .../accumulo/server/master/LiveTServerSet.java  |  399 -
 .../apache/accumulo/server/master/Master.java   | 1846 ----
 .../server/master/TServerLockWatcher.java       |   43 -
 .../server/master/TabletGroupWatcher.java       |  659 --
 .../master/balancer/ChaoticLoadBalancer.java    |  143 -
 .../master/balancer/DefaultLoadBalancer.java    |  318 -
 .../master/balancer/TableLoadBalancer.java      |  147 -
 .../server/master/balancer/TabletBalancer.java  |  151 -
 .../server/master/recovery/HadoopLogCloser.java |   61 -
 .../server/master/recovery/LogCloser.java       |   27 -
 .../server/master/recovery/MapRLogCloser.java   |   47 -
 .../server/master/recovery/RecoveryManager.java |  179 -
 .../server/master/state/Assignment.java         |   29 -
 .../server/master/state/CurrentState.java       |   30 -
 .../server/master/state/DeadServerList.java     |   80 -
 .../server/master/state/DistributedStore.java   |   34 -
 .../master/state/DistributedStoreException.java |   34 -
 .../accumulo/server/master/state/MergeInfo.java |  107 -
 .../server/master/state/MergeState.java         |   49 -
 .../server/master/state/MergeStats.java         |  254 -
 .../server/master/state/MetaDataStateStore.java |  157 -
 .../master/state/MetaDataTableScanner.java      |  197 -
 .../master/state/RootTabletStateStore.java      |   45 -
 .../server/master/state/SetGoalState.java       |   48 -
 .../server/master/state/TServerInstance.java    |  128 -
 .../server/master/state/TableCounts.java        |   37 -
 .../server/master/state/TableStats.java         |   70 -
 .../master/state/TabletLocationState.java       |   97 -
 .../server/master/state/TabletMigration.java    |   35 -
 .../server/master/state/TabletServerState.java  |   76 -
 .../server/master/state/TabletState.java        |   21 -
 .../master/state/TabletStateChangeIterator.java |  188 -
 .../server/master/state/TabletStateStore.java   |   92 -
 .../accumulo/server/master/state/ZooStore.java  |   96 -
 .../master/state/ZooTabletStateStore.java       |  174 -
 .../master/state/tables/TableManager.java       |  317 -
 .../master/state/tables/TableObserver.java      |   29 -
 .../server/master/tableOps/BulkImport.java      |  616 --
 .../master/tableOps/CancelCompactions.java      |   99 -
 .../master/tableOps/ChangeTableState.java       |   64 -
 .../server/master/tableOps/CloneTable.java      |  243 -
 .../server/master/tableOps/CompactRange.java    |  386 -
 .../server/master/tableOps/CreateTable.java     |  313 -
 .../server/master/tableOps/DeleteTable.java     |  242 -
 .../server/master/tableOps/ExportTable.java     |  308 -
 .../server/master/tableOps/ImportTable.java     |  606 --
 .../server/master/tableOps/MasterRepo.java      |   49 -
 .../server/master/tableOps/RenameTable.java     |   91 -
 .../server/master/tableOps/TableRangeOp.java    |  136 -
 .../server/master/tableOps/TraceRepo.java       |   83 -
 .../accumulo/server/master/tableOps/Utils.java  |  132 -
 .../master/tserverOps/ShutdownTServer.java      |   92 -
 .../accumulo/server/metanalysis/FilterMeta.java |   93 -
 .../accumulo/server/metanalysis/FindTablet.java |   72 -
 .../accumulo/server/metanalysis/IndexMeta.java  |  177 -
 .../server/metanalysis/LogFileInputFormat.java  |  116 -
 .../server/metanalysis/LogFileOutputFormat.java |   70 -
 .../server/metanalysis/PrintEvents.java         |  109 -
 .../server/metanalysis/package-info.java        |   34 -
 .../server/metrics/AbstractMetricsImpl.java     |  272 -
 .../server/metrics/MetricsConfiguration.java    |  232 -
 .../server/monitor/DedupedLogEvent.java         |   68 -
 .../accumulo/server/monitor/LogService.java     |  157 -
 .../apache/accumulo/server/monitor/Monitor.java |  681 --
 .../server/monitor/ZooKeeperStatus.java         |  139 -
 .../server/monitor/servlets/BasicServlet.java   |  279 -
 .../server/monitor/servlets/DefaultServlet.java |  331 -
 .../monitor/servlets/GcStatusServlet.java       |   70 -
 .../server/monitor/servlets/JSONServlet.java    |  103 -
 .../server/monitor/servlets/LogServlet.java     |  105 -
 .../server/monitor/servlets/MasterServlet.java  |  199 -
 .../monitor/servlets/OperationServlet.java      |  172 -
 .../monitor/servlets/PreciseNumberType.java     |   33 -
 .../server/monitor/servlets/ProblemServlet.java |  191 -
 .../server/monitor/servlets/ShellServlet.java   |  330 -
 .../monitor/servlets/TServersServlet.java       |  368 -
 .../server/monitor/servlets/TablesServlet.java  |  189 -
 .../server/monitor/servlets/VisServlet.java     |  236 -
 .../server/monitor/servlets/XMLServlet.java     |  178 -
 .../server/monitor/servlets/trace/Basic.java    |  104 -
 .../server/monitor/servlets/trace/ListType.java |   77 -
 .../servlets/trace/NullKeyValueIterator.java    |   39 -
 .../monitor/servlets/trace/NullScanner.java     |  116 -
 .../monitor/servlets/trace/ShowTrace.java       |  160 -
 .../servlets/trace/ShowTraceLinkType.java       |   47 -
 .../server/monitor/servlets/trace/Summary.java  |  164 -
 .../accumulo/server/monitor/util/Table.java     |  233 -
 .../server/monitor/util/TableColumn.java        |   48 -
 .../accumulo/server/monitor/util/TableRow.java  |   68 -
 .../server/monitor/util/celltypes/CellType.java |   35 -
 .../monitor/util/celltypes/CompactionsType.java |   72 -
 .../monitor/util/celltypes/DateTimeType.java    |   66 -
 .../monitor/util/celltypes/DurationType.java    |   51 -
 .../monitor/util/celltypes/NumberType.java      |  118 -
 .../monitor/util/celltypes/PercentageType.java  |   40 -
 .../util/celltypes/ProgressChartType.java       |   59 -
 .../monitor/util/celltypes/StringType.java      |   40 -
 .../monitor/util/celltypes/TServerLinkType.java |   51 -
 .../monitor/util/celltypes/TableLinkType.java   |   56 -
 .../monitor/util/celltypes/TableStateType.java  |   57 -
 .../accumulo/server/problems/ProblemReport.java |  221 -
 .../problems/ProblemReportingIterator.java      |  116 -
 .../server/problems/ProblemReports.java         |  320 -
 .../accumulo/server/problems/ProblemType.java   |   21 -
 .../security/AuditedSecurityOperation.java      |  436 -
 .../server/security/SecurityOperation.java      |  646 --
 .../server/security/SystemCredentials.java      |  135 -
 .../server/security/handler/Authenticator.java  |   57 -
 .../server/security/handler/Authorizor.java     |   72 -
 .../security/handler/InsecureAuthenticator.java |   91 -
 .../security/handler/InsecurePermHandler.java   |  103 -
 .../security/handler/PermissionHandler.java     |  107 -
 .../security/handler/ZKAuthenticator.java       |  214 -
 .../server/security/handler/ZKAuthorizor.java   |  169 -
 .../server/security/handler/ZKPermHandler.java  |  369 -
 .../server/security/handler/ZKSecurityTool.java |  155 -
 .../tabletserver/BulkFailedCopyProcessor.java   |   72 -
 .../server/tabletserver/CompactionQueue.java    |  148 -
 .../server/tabletserver/CompactionStats.java    |   59 -
 .../server/tabletserver/CompactionWatcher.java  |  110 -
 .../accumulo/server/tabletserver/Compactor.java |  546 --
 .../tabletserver/ConditionalMutationSet.java    |   89 -
 .../tabletserver/EndOfTableException.java       |   26 -
 .../server/tabletserver/FileManager.java        |  562 --
 .../tabletserver/HoldTimeoutException.java      |   25 -
 .../server/tabletserver/InMemoryMap.java        |  760 --
 .../tabletserver/LargestFirstMemoryManager.java |  200 -
 .../accumulo/server/tabletserver/MemKey.java    |   77 -
 .../accumulo/server/tabletserver/MemValue.java  |   93 -
 .../tabletserver/MemoryManagementActions.java   |   25 -
 .../server/tabletserver/MemoryManager.java      |   55 -
 .../server/tabletserver/MinorCompactor.java     |  146 -
 .../accumulo/server/tabletserver/NativeMap.java |  717 --
 .../accumulo/server/tabletserver/Rate.java      |   60 -
 .../accumulo/server/tabletserver/RowLocks.java  |  162 -
 .../accumulo/server/tabletserver/TLevel.java    |   36 -
 .../accumulo/server/tabletserver/Tablet.java    | 3872 --------
 .../tabletserver/TabletIteratorEnvironment.java |  111 -
 .../server/tabletserver/TabletMutations.java    |   47 -
 .../server/tabletserver/TabletServer.java       | 3879 --------
 .../tabletserver/TabletServerConstants.java     |   28 -
 .../TabletServerResourceManager.java            |  713 --
 .../server/tabletserver/TabletState.java        |   29 -
 .../server/tabletserver/TabletStatsKeeper.java  |  123 -
 .../server/tabletserver/TabletTime.java         |  224 -
 .../tabletserver/TooManyFilesException.java     |   28 -
 .../tabletserver/UniqueNameAllocator.java       |   79 -
 .../tabletserver/compaction/CompactionPlan.java |   54 -
 .../compaction/CompactionStrategy.java          |   71 -
 .../compaction/DefaultCompactionStrategy.java   |  147 -
 .../compaction/MajorCompactionReason.java       |   27 -
 .../compaction/MajorCompactionRequest.java      |  107 -
 .../compaction/SizeLimitCompactionStrategy.java |   70 -
 .../compaction/WriteParameters.java             |   56 -
 .../server/tabletserver/log/DfsLogger.java      |  543 --
 .../server/tabletserver/log/LogSorter.java      |  236 -
 .../server/tabletserver/log/MultiReader.java    |  168 -
 .../tabletserver/log/MutationReceiver.java      |   23 -
 .../tabletserver/log/SortedLogRecovery.java     |  246 -
 .../tabletserver/log/TabletServerLogger.java    |  430 -
 .../mastermessage/MasterMessage.java            |   28 -
 .../mastermessage/SplitReportMessage.java       |   55 -
 .../mastermessage/TabletStatusMessage.java      |   40 -
 .../tabletserver/metrics/TabletServerMBean.java |   50 -
 .../metrics/TabletServerMinCMetrics.java        |   88 -
 .../metrics/TabletServerMinCMetricsMBean.java   |   42 -
 .../metrics/TabletServerScanMetrics.java        |   88 -
 .../metrics/TabletServerScanMetricsMBean.java   |   42 -
 .../metrics/TabletServerUpdateMetrics.java      |  134 -
 .../metrics/TabletServerUpdateMetricsMBean.java |   66 -
 .../server/thrift/metrics/ThriftMetrics.java    |   88 -
 .../thrift/metrics/ThriftMetricsMBean.java      |   42 -
 .../server/trace/TraceFSDataInputStream.java    |   90 -
 .../accumulo/server/trace/TraceFileSystem.java  |  818 --
 .../accumulo/server/trace/TraceServer.java      |  292 -
 .../server/util/AddFilesWithMissingEntries.java |  135 -
 .../org/apache/accumulo/server/util/Admin.java  |  442 -
 .../accumulo/server/util/ChangeSecret.java      |  154 -
 .../server/util/CheckForMetadataProblems.java   |  204 -
 .../accumulo/server/util/CleanZookeeper.java    |   87 -
 .../apache/accumulo/server/util/DefaultMap.java |   56 -
 .../accumulo/server/util/DeleteZooInstance.java |   81 -
 .../accumulo/server/util/DumpZookeeper.java     |  123 -
 .../accumulo/server/util/EmbeddedWebServer.java |   95 -
 .../accumulo/server/util/FileSystemMonitor.java |  152 -
 .../apache/accumulo/server/util/FileUtil.java   |  551 --
 .../server/util/FindOfflineTablets.java         |  132 -
 .../org/apache/accumulo/server/util/Halt.java   |   61 -
 .../org/apache/accumulo/server/util/Info.java   |   30 -
 .../apache/accumulo/server/util/Initialize.java |  518 --
 .../accumulo/server/util/ListInstances.java     |  225 -
 .../accumulo/server/util/LocalityCheck.java     |  111 -
 .../accumulo/server/util/LoginProperties.java   |   62 -
 .../accumulo/server/util/MetadataTableUtil.java | 1332 ---
 .../server/util/OfflineMetadataScanner.java     |  281 -
 .../apache/accumulo/server/util/PortUtils.java  |   51 -
 .../accumulo/server/util/RandomWriter.java      |  108 -
 .../util/RemoveEntriesForMissingFiles.java      |  214 -
 .../accumulo/server/util/RestoreZookeeper.java  |  128 -
 .../accumulo/server/util/SendLogToChainsaw.java |  276 -
 .../accumulo/server/util/SystemPropUtil.java    |   45 -
 .../server/util/TBufferedServerSocket.java      |   71 -
 .../server/util/TNonblockingServerSocket.java   |  157 -
 .../accumulo/server/util/TServerUtils.java      |  332 -
 .../accumulo/server/util/TableDiskUsage.java    |  284 -
 .../accumulo/server/util/TablePropUtil.java     |   60 -
 .../accumulo/server/util/TabletIterator.java    |  270 -
 .../accumulo/server/util/TabletOperations.java  |   83 -
 .../accumulo/server/util/TabletServerLocks.java |   75 -
 .../server/util/VerifyTabletAssignments.java    |  208 -
 .../accumulo/server/util/ZooKeeperMain.java     |   55 -
 .../org/apache/accumulo/server/util/ZooZap.java |  114 -
 .../server/util/time/BaseRelativeTime.java      |   57 -
 .../accumulo/server/util/time/ProvidesTime.java |   25 -
 .../accumulo/server/util/time/RelativeTime.java |   44 -
 .../accumulo/server/util/time/SimpleTimer.java  |   71 -
 .../accumulo/server/util/time/SystemTime.java   |   30 -
 .../server/zookeeper/DistributedWorkQueue.java  |  253 -
 .../server/zookeeper/TransactionWatcher.java    |   73 -
 .../accumulo/server/zookeeper/ZooCache.java     |   35 -
 .../accumulo/server/zookeeper/ZooLock.java      |   34 -
 .../accumulo/server/zookeeper/ZooQueueLock.java |   53 -
 .../server/zookeeper/ZooReaderWriter.java       |   86 -
 .../src/main/resources/docs/administration.html |  148 -
 server/src/main/resources/docs/bulkIngest.html  |  114 -
 server/src/main/resources/docs/combiners.html   |   85 -
 server/src/main/resources/docs/constraints.html |   49 -
 .../main/resources/docs/distributedTracing.html |   99 -
 .../src/main/resources/docs/documentation.css   |  112 -
 server/src/main/resources/docs/examples/README  |   95 -
 .../main/resources/docs/examples/README.batch   |   55 -
 .../main/resources/docs/examples/README.bloom   |  218 -
 .../resources/docs/examples/README.bulkIngest   |   33 -
 .../resources/docs/examples/README.classpath    |   68 -
 .../main/resources/docs/examples/README.client  |   79 -
 .../resources/docs/examples/README.combiner     |   70 -
 .../resources/docs/examples/README.constraints  |   54 -
 .../main/resources/docs/examples/README.dirlist |  114 -
 .../main/resources/docs/examples/README.export  |   90 -
 .../resources/docs/examples/README.filedata     |   47 -
 .../main/resources/docs/examples/README.filter  |  110 -
 .../resources/docs/examples/README.helloworld   |   47 -
 .../resources/docs/examples/README.isolation    |   50 -
 .../main/resources/docs/examples/README.mapred  |   97 -
 .../resources/docs/examples/README.maxmutation  |   47 -
 .../main/resources/docs/examples/README.regex   |   58 -
 .../main/resources/docs/examples/README.rowhash |   59 -
 .../main/resources/docs/examples/README.shard   |   67 -
 .../resources/docs/examples/README.tabletofile  |   59 -
 .../resources/docs/examples/README.terasort     |   50 -
 .../resources/docs/examples/README.visibility   |  131 -
 server/src/main/resources/docs/index.html       |   41 -
 server/src/main/resources/docs/isolation.html   |   39 -
 server/src/main/resources/docs/lgroups.html     |   42 -
 server/src/main/resources/docs/metrics.html     |  182 -
 server/src/main/resources/docs/timestamps.html  |  160 -
 server/src/main/resources/web/down.gif          |  Bin 164 -> 0 bytes
 server/src/main/resources/web/favicon.png       |  Bin 2195 -> 0 bytes
 server/src/main/resources/web/flot/LICENSE.txt  |   22 -
 server/src/main/resources/web/flot/excanvas.js  | 1427 ---
 .../src/main/resources/web/flot/excanvas.min.js |    1 -
 .../resources/web/flot/jquery.colorhelpers.js   |  179 -
 .../web/flot/jquery.colorhelpers.min.js         |    1 -
 .../resources/web/flot/jquery.flot.crosshair.js |  167 -
 .../web/flot/jquery.flot.crosshair.min.js       |    1 -
 .../web/flot/jquery.flot.fillbetween.js         |  183 -
 .../web/flot/jquery.flot.fillbetween.min.js     |    1 -
 .../resources/web/flot/jquery.flot.image.js     |  238 -
 .../resources/web/flot/jquery.flot.image.min.js |    1 -
 .../src/main/resources/web/flot/jquery.flot.js  | 2599 ------
 .../main/resources/web/flot/jquery.flot.min.js  |    6 -
 .../resources/web/flot/jquery.flot.navigate.js  |  336 -
 .../web/flot/jquery.flot.navigate.min.js        |    1 -
 .../main/resources/web/flot/jquery.flot.pie.js  |  750 --
 .../resources/web/flot/jquery.flot.pie.min.js   |    1 -
 .../resources/web/flot/jquery.flot.resize.js    |   60 -
 .../web/flot/jquery.flot.resize.min.js          |    1 -
 .../resources/web/flot/jquery.flot.selection.js |  344 -
 .../web/flot/jquery.flot.selection.min.js       |    1 -
 .../resources/web/flot/jquery.flot.stack.js     |  184 -
 .../resources/web/flot/jquery.flot.stack.min.js |    1 -
 .../resources/web/flot/jquery.flot.symbol.js    |   70 -
 .../web/flot/jquery.flot.symbol.min.js          |    1 -
 .../resources/web/flot/jquery.flot.threshold.js |  103 -
 .../web/flot/jquery.flot.threshold.min.js       |    1 -
 server/src/main/resources/web/flot/jquery.js    | 8316 ------------------
 .../src/main/resources/web/flot/jquery.min.js   |   23 -
 server/src/main/resources/web/functions.js      |   21 -
 server/src/main/resources/web/screen.css        |  392 -
 server/src/main/resources/web/up.gif            |  Bin 165 -> 0 bytes
 server/src/main/resources/web/vis.js            |  409 -
 .../server/client/BulkImporterTest.java         |  155 -
 .../constraints/MetadataConstraintsTest.java    |  239 -
 .../server/data/ServerMutationTest.java         |   79 -
 .../server/fs/TabletServerSyncCheckTest.java    |  243 -
 .../server/gc/GarbageCollectionTest.java        |  464 -
 .../iterators/MetadataBulkLoadFilterTest.java   |  143 -
 .../accumulo/server/logger/LogFileTest.java     |  121 -
 .../accumulo/server/master/DefaultMapTest.java  |   36 -
 .../accumulo/server/master/TestMergeState.java  |  196 -
 .../balancer/ChaoticLoadBalancerTest.java       |  166 -
 .../balancer/DefaultLoadBalancerTest.java       |  283 -
 .../master/balancer/TableLoadBalancerTest.java  |  165 -
 .../server/master/state/MergeInfoTest.java      |   76 -
 .../master/state/RootTabletStateStoreTest.java  |  213 -
 .../server/monitor/ShowTraceLinkTypeTest.java   |   62 -
 .../server/monitor/ZooKeeperStatusTest.java     |   56 -
 .../server/security/SystemCredentialsTest.java  |   65 -
 .../security/handler/ZKAuthenticatorTest.java   |   87 -
 .../tabletserver/CheckTabletMetadataTest.java   |  122 -
 .../tabletserver/CountingIteratorTest.java      |   63 -
 .../server/tabletserver/InMemoryMapTest.java    |  513 --
 .../DefaultCompactionStrategyTest.java          |  221 -
 .../SizeLimitCompactionStrategyTest.java        |   69 -
 .../tabletserver/log/MultiReaderTest.java       |  151 -
 .../tabletserver/log/SortedLogRecoveryTest.java |  604 --
 .../log/TestUpgradePathForWALogs.java           |  154 -
 .../apache/accumulo/server/util/CloneTest.java  |  375 -
 .../accumulo/server/util/DefaultMapTest.java    |   47 -
 .../server/util/TabletIteratorTest.java         |  107 -
 .../server/util/time/BaseRelativeTimeTest.java  |   89 -
 server/src/test/resources/accumulo-site.xml     |   32 -
 server/src/test/resources/log4j.properties      |   21 -
 server/src/test/resources/walog-from-15.walog   |  Bin 25608 -> 0 bytes
 server/src/test/resources/walog-from-16.walog   |  Bin 8170 -> 0 bytes
 server/tracer/pom.xml                           |  131 +
 .../org/apache/accumulo/tracer/TraceServer.java |  292 +
 server/tserver/pom.xml                          |  131 +
 .../tserver/BulkFailedCopyProcessor.java        |   72 +
 .../accumulo/tserver/CompactionQueue.java       |  148 +
 .../accumulo/tserver/CompactionStats.java       |   59 +
 .../accumulo/tserver/CompactionWatcher.java     |  110 +
 .../org/apache/accumulo/tserver/Compactor.java  |  546 ++
 .../tserver/ConditionalMutationSet.java         |   89 +
 .../accumulo/tserver/EndOfTableException.java   |   26 +
 .../apache/accumulo/tserver/FileManager.java    |  562 ++
 .../accumulo/tserver/HoldTimeoutException.java  |   25 +
 .../apache/accumulo/tserver/InMemoryMap.java    |  760 ++
 .../org/apache/accumulo/tserver/MemKey.java     |   77 +
 .../org/apache/accumulo/tserver/MemValue.java   |   93 +
 .../apache/accumulo/tserver/MinorCompactor.java |  146 +
 .../org/apache/accumulo/tserver/NativeMap.java  |  717 ++
 .../java/org/apache/accumulo/tserver/Rate.java  |   60 +
 .../org/apache/accumulo/tserver/RowLocks.java   |  162 +
 .../org/apache/accumulo/tserver/TLevel.java     |   36 +
 .../org/apache/accumulo/tserver/Tablet.java     | 3870 ++++++++
 .../tserver/TabletIteratorEnvironment.java      |  111 +
 .../accumulo/tserver/TabletMutations.java       |   47 +
 .../apache/accumulo/tserver/TabletServer.java   | 3880 ++++++++
 .../accumulo/tserver/TabletServerConstants.java |   28 +
 .../tserver/TabletServerResourceManager.java    |  717 ++
 .../accumulo/tserver/TabletStatsKeeper.java     |  113 +
 .../accumulo/tserver/TooManyFilesException.java |   28 +
 .../tserver/compaction/CompactionPlan.java      |   55 +
 .../tserver/compaction/CompactionStrategy.java  |   71 +
 .../compaction/DefaultCompactionStrategy.java   |  146 +
 .../compaction/MajorCompactionReason.java       |   26 +
 .../compaction/MajorCompactionRequest.java      |  103 +
 .../compaction/SizeLimitCompactionStrategy.java |   70 +
 .../tserver/compaction/WriteParameters.java     |   65 +
 .../tserver/constraints/ConstraintChecker.java  |  166 +
 .../tserver/constraints/SystemConstraint.java   |   21 +
 .../constraints/UnsatisfiableConstraint.java    |   43 +
 .../tserver/data/ServerConditionalMutation.java |   59 +
 .../apache/accumulo/tserver/log/DfsLogger.java  |  543 ++
 .../apache/accumulo/tserver/log/LogSorter.java  |  236 +
 .../accumulo/tserver/log/MultiReader.java       |  168 +
 .../accumulo/tserver/log/MutationReceiver.java  |   23 +
 .../accumulo/tserver/log/SortedLogRecovery.java |  246 +
 .../tserver/log/TabletServerLogger.java         |  430 +
 .../accumulo/tserver/logger/LogEvents.java      |   27 +
 .../accumulo/tserver/logger/LogFileKey.java     |  190 +
 .../accumulo/tserver/logger/LogFileValue.java   |   94 +
 .../accumulo/tserver/logger/LogReader.java      |  170 +
 .../tserver/mastermessage/MasterMessage.java    |   28 +
 .../mastermessage/SplitReportMessage.java       |   55 +
 .../mastermessage/TabletStatusMessage.java      |   40 +
 .../tserver/metrics/TabletServerMBean.java      |   50 +
 .../metrics/TabletServerMinCMetrics.java        |   88 +
 .../metrics/TabletServerMinCMetricsMBean.java   |   42 +
 .../metrics/TabletServerScanMetrics.java        |   88 +
 .../metrics/TabletServerScanMetricsMBean.java   |   42 +
 .../metrics/TabletServerUpdateMetrics.java      |  134 +
 .../metrics/TabletServerUpdateMetricsMBean.java |   66 +
 .../tserver/CheckTabletMetadataTest.java        |  123 +
 .../accumulo/tserver/CountingIteratorTest.java  |   63 +
 .../accumulo/tserver/InMemoryMapTest.java       |  513 ++
 .../tserver/TabletServerSyncCheckTest.java      |  249 +
 .../DefaultCompactionStrategyTest.java          |  213 +
 .../SizeLimitCompactionStrategyTest.java        |   69 +
 .../accumulo/tserver/log/MultiReaderTest.java   |  151 +
 .../tserver/log/SortedLogRecoveryTest.java      |  604 ++
 .../tserver/log/TestUpgradePathForWALogs.java   |  154 +
 .../accumulo/tserver/logger/LogFileTest.java    |  124 +
 .../src/test/resources/walog-from-15.walog      |  Bin 0 -> 25608 bytes
 .../src/test/resources/walog-from-16.walog      |  Bin 0 -> 8170 bytes
 server/utils/pom.xml                            |  135 +
 .../accumulo/utils/metanalysis/FilterMeta.java  |   93 +
 .../accumulo/utils/metanalysis/FindTablet.java  |   66 +
 .../accumulo/utils/metanalysis/IndexMeta.java   |  177 +
 .../utils/metanalysis/LogFileInputFormat.java   |  116 +
 .../utils/metanalysis/LogFileOutputFormat.java  |   66 +
 .../accumulo/utils/metanalysis/PrintEvents.java |   99 +
 .../utils/metanalysis/package-info.java         |   34 +
 .../java/org/apache/accumulo/start/Main.java    |   10 +-
 test/pom.xml                                    |   10 +-
 .../accumulo/test/EstimateInMemMapOverhead.java |    2 +-
 .../apache/accumulo/test/GetMasterStats.java    |    4 +-
 .../accumulo/test/NativeMapConcurrencyTest.java |    2 +-
 .../accumulo/test/NativeMapPerformanceTest.java |    2 +-
 .../accumulo/test/NativeMapStressTest.java      |    2 +-
 .../continuous/ContinuousStatsCollector.java    |    6 +-
 .../accumulo/test/functional/NativeMapTest.java |    2 +-
 .../test/randomwalk/concurrent/Shutdown.java    |    2 +-
 .../test/randomwalk/concurrent/StartAll.java    |    2 +-
 .../test/ConfigurableMajorCompactionIT.java     |   30 +-
 .../org/apache/accumulo/test/ShellServerIT.java |    2 +-
 .../functional/ConfigurableCompactionIT.java    |   39 +-
 .../accumulo/test/functional/ExamplesIT.java    |  232 +-
 .../test/functional/GarbageCollectorIT.java     |    2 +-
 .../test/functional/HalfDeadTServerIT.java      |    6 +-
 .../test/functional/MasterFailoverIT.java       |    2 +-
 .../accumulo/test/functional/ReadWriteIT.java   |    2 +-
 .../accumulo/test/functional/RestartIT.java     |    8 +-
 .../test/functional/SplitRecoveryIT.java        |    7 +-
 798 files changed, 78203 insertions(+), 77320 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/accumulo/blob/598821cd/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
index 8759447..7af5fb8 100644
--- a/LICENSE
+++ b/LICENSE
@@ -216,7 +216,7 @@ a "3-clause BSD" license. For details, see
 
 This product bundles JQuery and Flot, which are each available under
 The MIT License (MIT). For details, see
-  server/src/main/resources/web/flot/
+  server/monitor/src/main/resources/web/flot/
 
 The binary distribution of this product bundles jline, which is available
 under the following "3-clause BSD" license:

http://git-wip-us.apache.org/repos/asf/accumulo/blob/598821cd/assemble/pom.xml
----------------------------------------------------------------------
diff --git a/assemble/pom.xml b/assemble/pom.xml
index db40b65..32dd7e4 100644
--- a/assemble/pom.xml
+++ b/assemble/pom.xml
@@ -64,11 +64,12 @@
     </dependency>
     <dependency>
       <groupId>org.apache.accumulo</groupId>
-      <artifactId>accumulo-proxy</artifactId>
+      <artifactId>accumulo-native</artifactId>
+      <type>tar.gz</type>
     </dependency>
     <dependency>
       <groupId>org.apache.accumulo</groupId>
-      <artifactId>accumulo-server</artifactId>
+      <artifactId>accumulo-proxy</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.accumulo</groupId>
@@ -368,7 +369,7 @@
                   <classifier>native</classifier>
                   <needarch>x86_64</needarch>
                   <provides>
-                    <provide>accumulo-native</provide>
+                    <provide>libaccumulo</provide>
                   </provides>
                   <requires>
                     <require>accumulo</require>
@@ -604,19 +605,11 @@
                       <excludes>**/.svn/**</excludes>
                     </data>
                     <data>
-                      <src>${accumulo-top}/server/src/main/java/org/apache/accumulo/server/tabletserver/MLock.java</src>
-                      <type>file</type>
-                      <mapper>
-                        <type>perm</type>
-                        <prefix>/usr/lib/accumulo/server/src/main/java/org/apache/accumulo/server/tabletserver/MLock.java</prefix>
-                      </mapper>
-                    </data>
-                    <data>
-                      <src>${accumulo-top}/server/src/main/java/org/apache/accumulo/server/tabletserver/NativeMap.java</src>
+                      <src>${accumulo-top}/server/src/main/java/org/apache/accumulo/tserver/NativeMap.java</src>
                       <type>file</type>
                       <mapper>
                         <type>perm</type>
-                        <prefix>/usr/lib/accumulo/server/src/main/java/org/apache/accumulo/server/tabletserver/NativeMap.java</prefix>
+                        <prefix>/usr/lib/accumulo/server/src/main/java/org/apache/accumulo/tserver/NativeMap.java</prefix>
                       </mapper>
                     </data>
                   </dataSet>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/598821cd/assemble/scripts/init.d/accumulo-master
----------------------------------------------------------------------
diff --git a/assemble/scripts/init.d/accumulo-master b/assemble/scripts/init.d/accumulo-master
index 8795df6..003d6cb 100755
--- a/assemble/scripts/init.d/accumulo-master
+++ b/assemble/scripts/init.d/accumulo-master
@@ -69,7 +69,7 @@ do_start()
 	
 	if [ "`jps -m | grep $ACCUMULO_PROC`" ] ; then return 1; fi
 	
-	su -s /bin/sh $TARGET_USER -c "/usr/lib/accumulo/bin/accumulo org.apache.accumulo.server.master.state.SetGoalState NORMAL"
+	su -s /bin/sh $TARGET_USER -c "/usr/lib/accumulo/bin/accumulo org.apache.accumulo.master.state.SetGoalState NORMAL"
 	su -s /bin/sh $TARGET_USER -c "$DAEMON $DAEMON_ARGS > /dev/null || return 1"
 
 	if [ "`jps -m | grep $ACCUMULO_PROC`" ] ; then return 0; fi

http://git-wip-us.apache.org/repos/asf/accumulo/blob/598821cd/bin/start-all.sh
----------------------------------------------------------------------
diff --git a/bin/start-all.sh b/bin/start-all.sh
index 8470a40..64347b2 100755
--- a/bin/start-all.sh
+++ b/bin/start-all.sh
@@ -53,7 +53,7 @@ if [ "$1" != "--notSlaves" ]; then
    ${bin}/tup.sh
 fi
 
-${bin}/accumulo org.apache.accumulo.server.master.state.SetGoalState NORMAL
+${bin}/accumulo org.apache.accumulo.master.state.SetGoalState NORMAL
 for master in `egrep -v '(^#|^\s*$)' "$ACCUMULO_CONF_DIR/masters"`; do
    ${bin}/start-server.sh $master master
 done

http://git-wip-us.apache.org/repos/asf/accumulo/blob/598821cd/bin/start-here.sh
----------------------------------------------------------------------
diff --git a/bin/start-here.sh b/bin/start-here.sh
index 2952975..fe79a89 100755
--- a/bin/start-here.sh
+++ b/bin/start-here.sh
@@ -50,7 +50,7 @@ done
 
 for host in $HOSTS; do
    if grep -q "^${host}\$" $ACCUMULO_CONF_DIR/masters; then
-      ${bin}/accumulo org.apache.accumulo.server.master.state.SetGoalState NORMAL
+      ${bin}/accumulo org.apache.accumulo.master.state.SetGoalState NORMAL
       ${bin}/start-server.sh $host master
       break
    fi

http://git-wip-us.apache.org/repos/asf/accumulo/blob/598821cd/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
index 28cb0bd..0a456ba 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/AccumuloConfiguration.java
@@ -25,6 +25,7 @@ import org.apache.accumulo.core.client.AccumuloException;
 import org.apache.accumulo.core.client.Connector;
 import org.apache.accumulo.core.client.TableNotFoundException;
 import org.apache.accumulo.core.client.impl.Tables;
+import org.apache.accumulo.start.classloader.vfs.AccumuloVFSClassLoader;
 import org.apache.log4j.Logger;
 
 public abstract class AccumuloConfiguration implements Iterable<Entry<String,String>> {
@@ -183,4 +184,24 @@ public abstract class AccumuloConfiguration implements Iterable<Entry<String,Str
   
   // overridden in ZooConfiguration
   public void invalidateCache() {}
+  
+  public <T> T instantiateClassProperty(Property property, Class<T> base, T defaultInstance) {
+    String clazzName = get(property);
+    T instance = null;
+    
+    try {
+      Class<? extends T> clazz = AccumuloVFSClassLoader.loadClass(clazzName, base);
+      instance = clazz.newInstance();
+      log.info("Loaded class : " + clazzName);
+    } catch (Exception e) {
+      log.warn("Failed to load class ", e);
+    }
+    
+    if (instance == null) {
+      log.info("Using " + defaultInstance.getClass().getName());
+      instance = defaultInstance;
+    }
+    return instance;
+  }
+  
 }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/598821cd/core/src/main/java/org/apache/accumulo/core/conf/Property.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/accumulo/core/conf/Property.java b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
index bee4265..a89dff8 100644
--- a/core/src/main/java/org/apache/accumulo/core/conf/Property.java
+++ b/core/src/main/java/org/apache/accumulo/core/conf/Property.java
@@ -69,14 +69,14 @@ public enum Property {
       "The path relative to the top level instance directory (instance.dfs.dir) where to store the key encryption key within HDFS."),
   @Experimental
   CRYPTO_DEFAULT_KEY_STRATEGY_CIPHER_SUITE("crypto.default.key.strategy.cipher.suite", "NullCipher", PropertyType.STRING,
-      "The cipher suite to use when encrypting session keys with a key encryption key.  This should be set to match the overall encryption algorithm  " +
-      "but with ECB mode and no padding unless you really know what you're doing and are sure you won't break internal file formats"),
+      "The cipher suite to use when encrypting session keys with a key encryption key.  This should be set to match the overall encryption algorithm  "
+          + "but with ECB mode and no padding unless you really know what you're doing and are sure you won't break internal file formats"),
   @Experimental
   CRYPTO_OVERRIDE_KEY_STRATEGY_WITH_CONFIGURED_STRATEGY("crypto.override.key.strategy.with.configured.strategy", "false", PropertyType.BOOLEAN,
-          "The default behavior is to record the key encryption strategy with the encrypted file, and continue to use that strategy for the life " +
-          "of that file.  Sometimes, you change your strategy and want to use the new strategy, not the old one.  (Most commonly, this will be " +
-          "because you have moved key material from one spot to another.)  If you want to override the recorded key strategy with the one in " +
-          "the configuration file, set this property to true."),
+      "The default behavior is to record the key encryption strategy with the encrypted file, and continue to use that strategy for the life "
+          + "of that file.  Sometimes, you change your strategy and want to use the new strategy, not the old one.  (Most commonly, this will be "
+          + "because you have moved key material from one spot to another.)  If you want to override the recorded key strategy with the one in "
+          + "the configuration file, set this property to true."),
   // instance properties (must be the same for every node in an instance)
   INSTANCE_PREFIX("instance.", null, PropertyType.PREFIX,
       "Properties in this category must be consistent throughout a cloud. This is enforced and servers won't be able to communicate if these differ."),
@@ -121,7 +121,8 @@ public enum Property {
   GENERAL_KERBEROS_PRINCIPAL("general.kerberos.principal", "", PropertyType.STRING, "Name of the kerberos principal to use. _HOST will automatically be "
       + "replaced by the machines hostname in the hostname portion of the principal. Leave blank if not using kerberoized hdfs"),
   GENERAL_MAX_MESSAGE_SIZE("general.server.message.size.max", "1G", PropertyType.MEMORY, "The maximum size of a message that can be sent to a server."),
-  GENERAL_VOLUME_CHOOSER("general.volume.chooser", "org.apache.accumulo.server.fs.RandomVolumeChooser", PropertyType.CLASSNAME, "The class that will be used to select which volume will be used to create new files."),
+  GENERAL_VOLUME_CHOOSER("general.volume.chooser", "org.apache.accumulo.server.fs.RandomVolumeChooser", PropertyType.CLASSNAME,
+      "The class that will be used to select which volume will be used to create new files."),
 
   // properties that are specific to master server behavior
   MASTER_PREFIX("master.", null, PropertyType.PREFIX, "Properties in this category affect the behavior of the master server"),
@@ -139,7 +140,7 @@ public enum Property {
       "When a tablet server's lock is deleted, it takes time for it to completely quit. This delay gives it time before log recoveries begin."),
   MASTER_LEASE_RECOVERY_WAITING_PERIOD("master.lease.recovery.interval", "5s", PropertyType.TIMEDURATION,
       "The amount of time to wait after requesting a WAL file to be recovered"),
-  MASTER_WALOG_CLOSER_IMPLEMETATION("master.walog.closer.implementation", "org.apache.accumulo.server.master.recovery.HadoopLogCloser", PropertyType.CLASSNAME,
+  MASTER_WALOG_CLOSER_IMPLEMETATION("master.walog.closer.implementation", "org.apache.accumulo.master.recovery.HadoopLogCloser", PropertyType.CLASSNAME,
       "A class that implements a mechansim to steal write access to a file"),
   MASTER_FATE_THREADPOOL_SIZE("master.fate.threadpool.size", "4", PropertyType.COUNT,
       "The number of threads used to run FAult-Tolerant Executions.  These are primarily table operations like merge."),
@@ -264,7 +265,7 @@ public enum Property {
   @Experimental
   @Sensitive
   MONITOR_SSL_TRUSTSTOREPASS("monitor.ssl.trustStorePassword", "", PropertyType.STRING, "The truststore password for enabling monitor SSL."),
-  
+
   TRACE_PREFIX("trace.", null, PropertyType.PREFIX, "Properties in this category affect the behavior of distributed tracing."),
   TRACE_PORT("trace.port.client", "12234", PropertyType.PORT, "The listening port for the trace server"),
   TRACE_TABLE("trace.table", "trace", PropertyType.STRING, "The name of the table to store distributed traces"),
@@ -370,7 +371,8 @@ public enum Property {
   TABLE_INTERPRETER_CLASS("table.interepreter", DefaultScanInterpreter.class.getName(), PropertyType.STRING,
       "The ScanInterpreter class to apply on scan arguments in the shell"),
   TABLE_CLASSPATH("table.classpath.context", "", PropertyType.STRING, "Per table classpath context"),
-  TABLE_COMPACTION_STRATEGY("table.majc.compaction.strategy", "org.apache.accumulo.server.tabletserver.compaction.DefaultCompactionStrategy", PropertyType.CLASSNAME, "A customizable major compaction strategy."),
+  TABLE_COMPACTION_STRATEGY("table.majc.compaction.strategy", "org.apache.accumulo.tserver.compaction.DefaultCompactionStrategy", PropertyType.CLASSNAME,
+      "A customizable major compaction strategy."),
   TABLE_COMPACTION_STRATEGY_PREFIX("table.majc.compaction.strategy.opts.", null, PropertyType.PREFIX,
       "Properties in this category are used to configure the compaction strategy."),
 
@@ -388,19 +390,18 @@ public enum Property {
   VFS_CLASSLOADER_CACHE_DIR(AccumuloVFSClassLoader.VFS_CACHE_DIR, "${java.io.tmpdir}" + File.separator + "accumulo-vfs-cache-${user.name}",
       PropertyType.ABSOLUTEPATH, "Directory to use for the vfs cache. The cache will keep a soft reference to all of the classes loaded in the VM."
           + " This should be on local disk on each node with sufficient space. It defaults to ${java.io.tmpdir}/accumulo-vfs-cache-${user.name}"),
-  
+
   @Interpolated
   @Experimental
   GENERAL_MAVEN_PROJECT_BASEDIR(AccumuloClassLoader.MAVEN_PROJECT_BASEDIR_PROPERTY_NAME, AccumuloClassLoader.DEFAULT_MAVEN_PROJECT_BASEDIR_VALUE,
       PropertyType.ABSOLUTEPATH, "Set this to automatically add maven target/classes directories to your dynamic classpath"),
-  
+
   ;
-  
 
   private String key, defaultValue, description;
   private PropertyType type;
   static Logger log = Logger.getLogger(Property.class);
-  
+
   private Property(String name, String defaultValue, PropertyType type, String description) {
     this.key = name;
     this.defaultValue = defaultValue;
@@ -451,19 +452,19 @@ public enum Property {
   public boolean isExperimental() {
     return hasAnnotation(Experimental.class) || hasPrefixWithAnnotation(getKey(), Experimental.class);
   }
-  
+
   public boolean isDeprecated() {
     return hasAnnotation(Deprecated.class) || hasPrefixWithAnnotation(getKey(), Deprecated.class);
   }
-  
+
   public boolean isSensitive() {
     return hasAnnotation(Sensitive.class) || hasPrefixWithAnnotation(getKey(), Sensitive.class);
   }
-  
+
   public static boolean isSensitive(String key) {
     return hasPrefixWithAnnotation(key, Sensitive.class);
   }
-  
+
   private <T extends Annotation> boolean hasAnnotation(Class<T> annotationType) {
     Logger log = Logger.getLogger(getClass());
     try {
@@ -477,7 +478,7 @@ public enum Property {
     }
     return false;
   }
-  
+
   private static <T extends Annotation> boolean hasPrefixWithAnnotation(String key, Class<T> annotationType) {
     // relies on side-effects of isValidPropertyKey to populate validPrefixes
     if (isValidPropertyKey(key)) {
@@ -599,7 +600,7 @@ public enum Property {
 
   public static Map<String,String> getCompactionStrategyOptions(AccumuloConfiguration tableConf) {
     Map<String,String> longNames = tableConf.getAllPropertiesWithPrefix(Property.TABLE_COMPACTION_STRATEGY_PREFIX);
-    Map<String,String> result = new HashMap<String, String>();
+    Map<String,String> result = new HashMap<String,String>();
     for (Entry<String,String> entry : longNames.entrySet()) {
       result.put(entry.getKey().substring(Property.TABLE_COMPACTION_STRATEGY_PREFIX.getKey().length()), entry.getValue());
     }

http://git-wip-us.apache.org/repos/asf/accumulo/blob/598821cd/minicluster/pom.xml
----------------------------------------------------------------------
diff --git a/minicluster/pom.xml b/minicluster/pom.xml
index c35e7a5..24c47c9 100644
--- a/minicluster/pom.xml
+++ b/minicluster/pom.xml
@@ -35,15 +35,15 @@
     </dependency>
     <dependency>
       <groupId>org.apache.accumulo</groupId>
-      <artifactId>accumulo-core</artifactId>
+      <artifactId>accumulo-gc</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.accumulo</groupId>
-      <artifactId>accumulo-server</artifactId>
+      <artifactId>accumulo-master</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.accumulo</groupId>
-      <artifactId>accumulo-start</artifactId>
+      <artifactId>accumulo-tserver</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.hadoop</groupId>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/598821cd/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
----------------------------------------------------------------------
diff --git a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
index a0cc8b1..42882bb 100644
--- a/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
+++ b/minicluster/src/main/java/org/apache/accumulo/minicluster/MiniAccumuloCluster.java
@@ -53,15 +53,15 @@ import org.apache.accumulo.core.master.thrift.MasterGoalState;
 import org.apache.accumulo.core.util.Daemon;
 import org.apache.accumulo.core.util.Pair;
 import org.apache.accumulo.core.util.UtilWaitThread;
-import org.apache.accumulo.server.gc.SimpleGarbageCollector;
-import org.apache.accumulo.server.master.Master;
-import org.apache.accumulo.server.master.state.SetGoalState;
-import org.apache.accumulo.server.tabletserver.TabletServer;
-import org.apache.accumulo.server.util.Initialize;
+import org.apache.accumulo.gc.SimpleGarbageCollector;
+import org.apache.accumulo.master.Master;
+import org.apache.accumulo.master.state.SetGoalState;
+import org.apache.accumulo.server.init.Initialize;
 import org.apache.accumulo.server.util.PortUtils;
 import org.apache.accumulo.server.util.time.SimpleTimer;
 import org.apache.accumulo.start.Main;
 import org.apache.accumulo.start.classloader.vfs.MiniDFSUtil;
+import org.apache.accumulo.tserver.TabletServer;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.vfs2.FileObject;
 import org.apache.commons.vfs2.impl.VFSClassLoader;

http://git-wip-us.apache.org/repos/asf/accumulo/blob/598821cd/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 2f22e73..cd555fc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -75,7 +75,6 @@
     <module>trace</module>
     <module>core</module>
     <module>fate</module>
-    <module>server</module>
     <module>start</module>
     <module>examples/simple</module>
     <module>assemble</module>
@@ -84,6 +83,14 @@
     <module>minicluster</module>
     <module>docs</module>
     <module>maven-plugin</module>
+    <module>server/base</module>
+    <module>server/gc</module>
+    <module>server/master</module>
+    <module>server/monitor</module>
+    <module>server/native</module>
+    <module>server/tracer</module>
+    <module>server/tserver</module>
+    <module>server/utils</module>
   </modules>
   <scm>
     <connection>scm:git:git://git.apache.org/accumulo.git</connection>
@@ -225,6 +232,16 @@
       </dependency>
       <dependency>
         <groupId>org.apache.accumulo</groupId>
+        <artifactId>accumulo-gc</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.accumulo</groupId>
+        <artifactId>accumulo-master</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.accumulo</groupId>
         <artifactId>accumulo-maven-plugin</artifactId>
         <version>${project.version}</version>
       </dependency>
@@ -235,12 +252,23 @@
       </dependency>
       <dependency>
         <groupId>org.apache.accumulo</groupId>
+        <artifactId>accumulo-monitor</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.accumulo</groupId>
+        <artifactId>accumulo-native</artifactId>
+        <version>${project.version}</version>
+        <type>tar.gz</type>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.accumulo</groupId>
         <artifactId>accumulo-proxy</artifactId>
         <version>${project.version}</version>
       </dependency>
       <dependency>
         <groupId>org.apache.accumulo</groupId>
-        <artifactId>accumulo-server</artifactId>
+        <artifactId>accumulo-server-base</artifactId>
         <version>${project.version}</version>
       </dependency>
       <dependency>
@@ -259,6 +287,16 @@
         <version>${project.version}</version>
       </dependency>
       <dependency>
+        <groupId>org.apache.accumulo</groupId>
+        <artifactId>accumulo-tracer</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.accumulo</groupId>
+        <artifactId>accumulo-tserver</artifactId>
+        <version>${project.version}</version>
+      </dependency>
+      <dependency>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-jci-core</artifactId>
         <version>1.0</version>
@@ -393,6 +431,11 @@
           </configuration>
         </plugin>
         <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>native-maven-plugin</artifactId>
+          <version>1.0-alpha-7</version>
+        </plugin>
+        <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-assembly-plugin</artifactId>
           <configuration>
@@ -434,7 +477,7 @@
             <source>1.6</source>
             <target>1.6</target>
             <optimize>true</optimize>
-            <encoding>UTF-8</encoding>
+            <encoding>${project.build.sourceEncoding}</encoding>
           </configuration>
         </plugin>
         <plugin>
@@ -458,7 +501,7 @@
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-javadoc-plugin</artifactId>
           <configuration>
-            <encoding>UTF-8</encoding>
+            <encoding>${project.reporting.outputEncoding}</encoding>
             <quiet>true</quiet>
             <reportOutputDirectory>docs</reportOutputDirectory>
             <javadocVersion>1.6</javadocVersion>
@@ -469,7 +512,7 @@
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-release-plugin</artifactId>
           <configuration>
-            <arguments>-P apache-release,thrift,native,assemble,docs,rpm,deb</arguments>
+            <arguments>-P apache-release,thrift,assemble,docs,rpm,deb</arguments>
             <autoVersionSubmodules>true</autoVersionSubmodules>
             <goals>clean compile javadoc:aggregate deploy</goals>
             <preparationGoals>clean compile javadoc:aggregate verify</preparationGoals>
@@ -569,6 +612,23 @@
                 <pluginExecution>
                   <pluginExecutionFilter>
                     <groupId>org.codehaus.mojo</groupId>
+                    <artifactId>native-maven-plugin</artifactId>
+                    <versionRange>[1.0-alpha-7,)</versionRange>
+                    <goals>
+                      <goal>compile</goal>
+                      <goal>initialize</goal>
+                      <goal>javah</goal>
+                      <goal>link</goal>
+                      <goal>unzipinc</goal>
+                    </goals>
+                  </pluginExecutionFilter>
+                  <action>
+                    <ignore />
+                  </action>
+                </pluginExecution>
+                <pluginExecution>
+                  <pluginExecutionFilter>
+                    <groupId>org.codehaus.mojo</groupId>
                     <artifactId>exec-maven-plugin</artifactId>
                     <versionRange>[1.0,)</versionRange>
                     <goals>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/598821cd/proxy/pom.xml
----------------------------------------------------------------------
diff --git a/proxy/pom.xml b/proxy/pom.xml
index ce9e747..aefd0cf 100644
--- a/proxy/pom.xml
+++ b/proxy/pom.xml
@@ -42,10 +42,6 @@
       <artifactId>accumulo-minicluster</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.accumulo</groupId>
-      <artifactId>accumulo-server</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.apache.thrift</groupId>
       <artifactId>libthrift</artifactId>
     </dependency>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/598821cd/server/base/pom.xml
----------------------------------------------------------------------
diff --git a/server/base/pom.xml b/server/base/pom.xml
new file mode 100644
index 0000000..409e884
--- /dev/null
+++ b/server/base/pom.xml
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+      http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.accumulo</groupId>
+    <artifactId>accumulo-project</artifactId>
+    <version>1.6.0-SNAPSHOT</version>
+    <relativePath>../../pom.xml</relativePath>
+  </parent>
+  <artifactId>accumulo-server-base</artifactId>
+  <name>Server Base</name>
+  <dependencies>
+    <dependency>
+      <groupId>com.beust</groupId>
+      <artifactId>jcommander</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.google.code.gson</groupId>
+      <artifactId>gson</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>jline</groupId>
+      <artifactId>jline</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.accumulo</groupId>
+      <artifactId>accumulo-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.accumulo</groupId>
+      <artifactId>accumulo-fate</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.accumulo</groupId>
+      <artifactId>accumulo-start</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.accumulo</groupId>
+      <artifactId>accumulo-trace</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.thrift</groupId>
+      <artifactId>libthrift</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-configuration</groupId>
+      <artifactId>commons-configuration</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-io</groupId>
+      <artifactId>commons-io</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>javax.servlet</groupId>
+      <artifactId>servlet-api</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>log4j</groupId>
+      <artifactId>log4j</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.hadoop</groupId>
+      <artifactId>hadoop-client</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.zookeeper</groupId>
+      <artifactId>zookeeper</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-log4j12</artifactId>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+  <build>
+    <testResources>
+      <testResource>
+        <filtering>true</filtering>
+        <directory>src/test/resources</directory>
+      </testResource>
+    </testResources>
+  </build>
+</project>

http://git-wip-us.apache.org/repos/asf/accumulo/blob/598821cd/server/base/src/main/java/org/apache/accumulo/server/Accumulo.java
----------------------------------------------------------------------
diff --git a/server/base/src/main/java/org/apache/accumulo/server/Accumulo.java b/server/base/src/main/java/org/apache/accumulo/server/Accumulo.java
new file mode 100644
index 0000000..57c4e2a
--- /dev/null
+++ b/server/base/src/main/java/org/apache/accumulo/server/Accumulo.java
@@ -0,0 +1,264 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.accumulo.server;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.Map.Entry;
+import java.util.TreeMap;
+
+import org.apache.accumulo.core.Constants;
+import org.apache.accumulo.core.conf.Property;
+import org.apache.accumulo.core.trace.DistributedTrace;
+import org.apache.accumulo.core.util.UtilWaitThread;
+import org.apache.accumulo.core.util.Version;
+import org.apache.accumulo.core.zookeeper.ZooUtil;
+import org.apache.accumulo.server.client.HdfsZooInstance;
+import org.apache.accumulo.server.conf.ServerConfiguration;
+import org.apache.accumulo.server.fs.VolumeManager;
+import org.apache.accumulo.server.util.time.SimpleTimer;
+import org.apache.accumulo.server.zookeeper.ZooReaderWriter;
+import org.apache.hadoop.fs.FileStatus;
+import org.apache.hadoop.fs.Path;
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
+import org.apache.log4j.helpers.FileWatchdog;
+import org.apache.log4j.helpers.LogLog;
+import org.apache.log4j.xml.DOMConfigurator;
+import org.apache.zookeeper.KeeperException;
+import org.apache.zookeeper.WatchedEvent;
+import org.apache.zookeeper.Watcher;
+
+public class Accumulo {
+  
+  private static final Logger log = Logger.getLogger(Accumulo.class);
+  
+  public static synchronized void updateAccumuloVersion(VolumeManager fs) {
+    try {
+      if (getAccumuloPersistentVersion(fs) == ServerConstants.PREV_DATA_VERSION) {
+        fs.create(new Path(ServerConstants.getDataVersionLocation() + "/" + ServerConstants.DATA_VERSION));
+        fs.delete(new Path(ServerConstants.getDataVersionLocation() + "/" + ServerConstants.PREV_DATA_VERSION));
+      }
+    } catch (IOException e) {
+      throw new RuntimeException("Unable to set accumulo version: an error occurred.", e);
+    }
+  }
+  
+  public static synchronized int getAccumuloPersistentVersion(VolumeManager fs) {
+    int dataVersion;
+    try {
+      FileStatus[] files = fs.getDefaultVolume().listStatus(ServerConstants.getDataVersionLocation());
+      if (files == null || files.length == 0) {
+        dataVersion = -1; // assume it is 0.5 or earlier
+      } else {
+        dataVersion = Integer.parseInt(files[0].getPath().getName());
+      }
+      return dataVersion;
+    } catch (IOException e) {
+      throw new RuntimeException("Unable to read accumulo version: an error occurred.", e);
+    }
+  }
+  
+  public static void enableTracing(String address, String application) {
+    try {
+      DistributedTrace.enable(HdfsZooInstance.getInstance(), ZooReaderWriter.getInstance(), application, address);
+    } catch (Exception ex) {
+      log.error("creating remote sink for trace spans", ex);
+    }
+  }
+  
+  private static class LogMonitor extends FileWatchdog implements Watcher {
+    String path;
+    
+    protected LogMonitor(String instance, String filename, int delay) {
+      super(filename);
+      setDelay(delay);
+      this.path = ZooUtil.getRoot(instance) + Constants.ZMONITOR_LOG4J_PORT;
+    }
+    
+    private void setMonitorPort() {
+      try {
+        String port = new String(ZooReaderWriter.getInstance().getData(path, null));
+        System.setProperty("org.apache.accumulo.core.host.log.port", port);
+        log.info("Changing monitor log4j port to "+port);
+        doOnChange();
+      } catch (Exception e) {
+        log.error("Error reading zookeeper data for monitor log4j port", e);
+      }
+    }
+    
+    @Override
+    public void run() {
+      try {
+        if (ZooReaderWriter.getInstance().getZooKeeper().exists(path, this) != null)
+          setMonitorPort();
+        log.info("Set watch for monitor log4j port");
+      } catch (Exception e) {
+        log.error("Unable to set watch for monitor log4j port " + path);
+      }
+      super.run();
+    }
+    
+    @Override
+    protected void doOnChange() {
+      LogManager.resetConfiguration();
+      new DOMConfigurator().doConfigure(filename, LogManager.getLoggerRepository());
+    }
+    
+    @Override
+    public void process(WatchedEvent event) {
+      setMonitorPort();
+      if (event.getPath() != null) {
+        try {
+          ZooReaderWriter.getInstance().exists(event.getPath(), this);
+        } catch (Exception ex) {
+          log.error("Unable to reset watch for monitor log4j port", ex);
+        }
+      }
+    }
+  }
+  
+  public static void init(VolumeManager fs, ServerConfiguration config, String application) throws UnknownHostException {
+    
+    System.setProperty("org.apache.accumulo.core.application", application);
+    
+    if (System.getenv("ACCUMULO_LOG_DIR") != null)
+      System.setProperty("org.apache.accumulo.core.dir.log", System.getenv("ACCUMULO_LOG_DIR"));
+    else
+      System.setProperty("org.apache.accumulo.core.dir.log", System.getenv("ACCUMULO_HOME") + "/logs/");
+    
+    String localhost = InetAddress.getLocalHost().getHostName();
+    System.setProperty("org.apache.accumulo.core.ip.localhost.hostname", localhost);
+    
+    if (System.getenv("ACCUMULO_LOG_HOST") != null)
+      System.setProperty("org.apache.accumulo.core.host.log", System.getenv("ACCUMULO_LOG_HOST"));
+    else
+      System.setProperty("org.apache.accumulo.core.host.log", localhost);
+    
+    int logPort = config.getConfiguration().getPort(Property.MONITOR_LOG4J_PORT);
+    System.setProperty("org.apache.accumulo.core.host.log.port", Integer.toString(logPort));
+    
+    // Use a specific log config, if it exists
+    String logConfig = String.format("%s/%s_logger.xml", System.getenv("ACCUMULO_CONF_DIR"), application);
+    if (!new File(logConfig).exists()) {
+      // otherwise, use the generic config
+      logConfig = String.format("%s/generic_logger.xml", System.getenv("ACCUMULO_CONF_DIR"));
+    }
+    // Turn off messages about not being able to reach the remote logger... we protect against that.
+    LogLog.setQuietMode(true);
+    
+    // Configure logging
+    if (logPort==0)
+      new LogMonitor(config.getInstance().getInstanceID(), logConfig, 5000).start();
+    else
+      DOMConfigurator.configureAndWatch(logConfig, 5000);
+    
+    // Read the auditing config
+    String auditConfig = String.format("%s/conf/auditLog.xml", System.getenv("ACCUMULO_HOME"), application);
+    
+    DOMConfigurator.configureAndWatch(auditConfig, 5000);
+    
+    log.info(application + " starting");
+    log.info("Instance " + config.getInstance().getInstanceID());
+    int dataVersion = Accumulo.getAccumuloPersistentVersion(fs);
+    log.info("Data Version " + dataVersion);
+    Accumulo.waitForZookeeperAndHdfs(fs);
+    
+    Version codeVersion = new Version(Constants.VERSION);
+    if (dataVersion != ServerConstants.DATA_VERSION && dataVersion != ServerConstants.PREV_DATA_VERSION) {
+      throw new RuntimeException("This version of accumulo (" + codeVersion + ") is not compatible with files stored using data version " + dataVersion);
+    }
+    
+    TreeMap<String,String> sortedProps = new TreeMap<String,String>();
+    for (Entry<String,String> entry : config.getConfiguration())
+      sortedProps.put(entry.getKey(), entry.getValue());
+    
+    for (Entry<String,String> entry : sortedProps.entrySet()) {
+      String key = entry.getKey();
+      log.info(key + " = " + (Property.isSensitive(key) ? "<hidden>" : entry.getValue()));
+    }
+    
+    monitorSwappiness();
+  }
+  
+  /**
+   * 
+   */
+  public static void monitorSwappiness() {
+    SimpleTimer.getInstance().schedule(new Runnable() {
+      @Override
+      public void run() {
+        try {
+          String procFile = "/proc/sys/vm/swappiness";
+          File swappiness = new File(procFile);
+          if (swappiness.exists() && swappiness.canRead()) {
+            InputStream is = new FileInputStream(procFile);
+            try {
+              byte[] buffer = new byte[10];
+              int bytes = is.read(buffer);
+              String setting = new String(buffer, 0, bytes);
+              setting = setting.trim();
+              if (bytes > 0 && Integer.parseInt(setting) > 10) {
+                log.warn("System swappiness setting is greater than ten (" + setting + ") which can cause time-sensitive operations to be delayed. "
+                    + " Accumulo is time sensitive because it needs to maintain distributed lock agreement.");
+              }
+            } finally {
+              is.close();
+            }
+          }
+        } catch (Throwable t) {
+          log.error(t, t);
+        }
+      }
+    }, 1000, 10 * 60 * 1000);
+  }
+  
+  public static void waitForZookeeperAndHdfs(VolumeManager fs) {
+    log.info("Attempting to talk to zookeeper");
+    while (true) {
+      try {
+        ZooReaderWriter.getInstance().getChildren(Constants.ZROOT);
+        break;
+      } catch (InterruptedException e) {
+        // ignored
+      } catch (KeeperException ex) {
+        log.info("Waiting for accumulo to be initialized");
+        UtilWaitThread.sleep(1000);
+      }
+    }
+    log.info("Zookeeper connected and initialized, attemping to talk to HDFS");
+    long sleep = 1000;
+    while (true) {
+      try {
+        if (fs.isReady())
+          break;
+        log.warn("Waiting for the NameNode to leave safemode");
+      } catch (IOException ex) {
+        log.warn("Unable to connect to HDFS");
+      }
+      log.info("Sleeping " + sleep / 1000. + " seconds");
+      UtilWaitThread.sleep(sleep);
+      sleep = Math.min(60 * 1000, sleep * 2);
+    }
+    log.info("Connected to HDFS");
+  }
+  
+}


Mime
View raw message