You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by ct...@apache.org on 2013/11/01 01:56:30 UTC
[51/54] [partial] git commit: ACCUMULO-658,
ACCUMULO-656 Split server into separate modules
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 <ct...@apache.org>
Authored: Tue Jul 30 12:08:43 2013 -0400
Committer: Christopher Tubbs <ct...@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");
+ }
+
+}