├── .asf.yaml ├── .gitattributes ├── .github ├── CONTRIBUTING.md ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── feature_request.md │ ├── post_vote_checklist.md │ ├── question.md │ └── test_failure.md └── workflows │ ├── maven-full-its.yaml │ ├── maven-on-demand.yaml │ ├── maven.yaml │ └── scripts.yaml ├── .gitignore ├── DEPENDENCIES ├── LICENSE ├── NOTICE ├── README.md ├── TESTING.md ├── assemble ├── .gitignore ├── bin │ ├── accumulo │ ├── accumulo-cluster │ ├── accumulo-service │ └── accumulo-util ├── conf │ ├── accumulo-env.sh │ ├── accumulo.properties │ ├── log4j2-service.properties │ └── log4j2.properties ├── pom.xml └── src │ └── main │ ├── assemblies │ ├── binary-release.xml │ └── component.xml │ ├── resources │ ├── LICENSE │ └── NOTICE │ └── scripts │ ├── compute-assembly-components.sh │ └── create-jshell.sh ├── core ├── .gitignore ├── pom.xml └── src │ ├── main │ ├── appended-resources │ │ └── META-INF │ │ │ └── LICENSE │ ├── flatbuffers-gen-java │ │ └── org │ │ │ └── apache │ │ │ └── accumulo │ │ │ └── core │ │ │ └── metrics │ │ │ └── flatbuffers │ │ │ ├── FMetric.java │ │ │ └── FTag.java │ ├── flatbuffers │ │ └── metric.fbs │ ├── java-filtered │ │ └── org │ │ │ └── apache │ │ │ └── accumulo │ │ │ └── core │ │ │ └── FilteredConstants.java │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── accumulo │ │ │ └── core │ │ │ ├── Constants.java │ │ │ ├── bloomfilter │ │ │ ├── BloomFilter.java │ │ │ ├── DynamicBloomFilter.java │ │ │ └── Filter.java │ │ │ ├── classloader │ │ │ ├── ClassLoaderUtil.java │ │ │ └── URLContextClassLoaderFactory.java │ │ │ ├── cli │ │ │ ├── ClientOpts.java │ │ │ ├── ConfigOpts.java │ │ │ └── Help.java │ │ │ ├── client │ │ │ ├── Accumulo.java │ │ │ ├── AccumuloClient.java │ │ │ ├── AccumuloException.java │ │ │ ├── AccumuloSecurityException.java │ │ │ ├── BatchDeleter.java │ │ │ ├── BatchScanner.java │ │ │ ├── BatchWriter.java │ │ │ ├── BatchWriterConfig.java │ │ │ ├── ClientSideIteratorScanner.java │ │ │ ├── ConditionalWriter.java │ │ │ ├── ConditionalWriterConfig.java │ │ │ ├── Durability.java │ │ │ ├── InvalidTabletHostingRequestException.java │ │ │ ├── IsolatedScanner.java │ │ │ ├── IteratorSetting.java │ │ │ ├── MultiTableBatchWriter.java │ │ │ ├── MutationsRejectedException.java │ │ │ ├── NamespaceExistsException.java │ │ │ ├── NamespaceNotEmptyException.java │ │ │ ├── NamespaceNotFoundException.java │ │ │ ├── PluginEnvironment.java │ │ │ ├── RowIterator.java │ │ │ ├── SampleNotPresentException.java │ │ │ ├── Scanner.java │ │ │ ├── ScannerBase.java │ │ │ ├── TableDeletedException.java │ │ │ ├── TableExistsException.java │ │ │ ├── TableNotFoundException.java │ │ │ ├── TableOfflineException.java │ │ │ ├── TimedOutException.java │ │ │ ├── admin │ │ │ │ ├── ActiveCompaction.java │ │ │ │ ├── ActiveScan.java │ │ │ │ ├── CloneConfiguration.java │ │ │ │ ├── CompactionConfig.java │ │ │ │ ├── DelegationTokenConfig.java │ │ │ │ ├── DiskUsage.java │ │ │ │ ├── FindMax.java │ │ │ │ ├── ImportConfiguration.java │ │ │ │ ├── InitialTableState.java │ │ │ │ ├── InstanceOperations.java │ │ │ │ ├── Locations.java │ │ │ │ ├── NamespaceOperations.java │ │ │ │ ├── NewTableConfiguration.java │ │ │ │ ├── PluginConfig.java │ │ │ │ ├── ScanState.java │ │ │ │ ├── ScanType.java │ │ │ │ ├── SecurityOperations.java │ │ │ │ ├── SummaryRetriever.java │ │ │ │ ├── TableOperations.java │ │ │ │ ├── TabletAvailability.java │ │ │ │ ├── TabletInformation.java │ │ │ │ ├── TabletMergeability.java │ │ │ │ ├── TabletMergeabilityInfo.java │ │ │ │ ├── TimeType.java │ │ │ │ ├── compaction │ │ │ │ │ ├── CompactableFile.java │ │ │ │ │ ├── CompactionConfigurer.java │ │ │ │ │ ├── CompactionSelector.java │ │ │ │ │ ├── CompressionConfigurer.java │ │ │ │ │ └── TooManyDeletesSelector.java │ │ │ │ └── servers │ │ │ │ │ └── ServerId.java │ │ │ ├── lexicoder │ │ │ │ ├── AbstractEncoder.java │ │ │ │ ├── AbstractLexicoder.java │ │ │ │ ├── BigIntegerLexicoder.java │ │ │ │ ├── BytesLexicoder.java │ │ │ │ ├── DateLexicoder.java │ │ │ │ ├── DoubleLexicoder.java │ │ │ │ ├── Encoder.java │ │ │ │ ├── FloatLexicoder.java │ │ │ │ ├── IntegerLexicoder.java │ │ │ │ ├── Lexicoder.java │ │ │ │ ├── ListLexicoder.java │ │ │ │ ├── LongLexicoder.java │ │ │ │ ├── PairLexicoder.java │ │ │ │ ├── ReverseLexicoder.java │ │ │ │ ├── SequenceLexicoder.java │ │ │ │ ├── StringLexicoder.java │ │ │ │ ├── TextLexicoder.java │ │ │ │ ├── UIntegerLexicoder.java │ │ │ │ ├── ULongLexicoder.java │ │ │ │ └── UUIDLexicoder.java │ │ │ ├── rfile │ │ │ │ ├── FSConfArgs.java │ │ │ │ ├── LoadPlanCollector.java │ │ │ │ ├── RFile.java │ │ │ │ ├── RFileScanner.java │ │ │ │ ├── RFileScannerBuilder.java │ │ │ │ ├── RFileSource.java │ │ │ │ ├── RFileSummariesRetriever.java │ │ │ │ ├── RFileWriter.java │ │ │ │ └── RFileWriterBuilder.java │ │ │ ├── sample │ │ │ │ ├── AbstractHashSampler.java │ │ │ │ ├── RowColumnSampler.java │ │ │ │ ├── RowSampler.java │ │ │ │ ├── Sampler.java │ │ │ │ └── SamplerConfiguration.java │ │ │ ├── security │ │ │ │ ├── SecurityErrorCode.java │ │ │ │ └── tokens │ │ │ │ │ ├── AuthenticationToken.java │ │ │ │ │ ├── CredentialProviderToken.java │ │ │ │ │ ├── DelegationToken.java │ │ │ │ │ ├── KerberosToken.java │ │ │ │ │ ├── NullToken.java │ │ │ │ │ └── PasswordToken.java │ │ │ └── summary │ │ │ │ ├── CounterSummary.java │ │ │ │ ├── CountingSummarizer.java │ │ │ │ ├── Summarizer.java │ │ │ │ ├── SummarizerConfiguration.java │ │ │ │ ├── Summary.java │ │ │ │ └── summarizers │ │ │ │ ├── AuthorizationSummarizer.java │ │ │ │ ├── DeletesSummarizer.java │ │ │ │ ├── EntryLengthSummarizer.java │ │ │ │ ├── FamilySummarizer.java │ │ │ │ └── VisibilitySummarizer.java │ │ │ ├── clientImpl │ │ │ ├── AcceptableThriftTableOperationException.java │ │ │ ├── AccumuloBulkMergeException.java │ │ │ ├── AccumuloServerException.java │ │ │ ├── ActiveCompactionImpl.java │ │ │ ├── ActiveScanImpl.java │ │ │ ├── AuthenticationTokenIdentifier.java │ │ │ ├── BatchWriterImpl.java │ │ │ ├── ClientConfConverter.java │ │ │ ├── ClientContext.java │ │ │ ├── ClientInfo.java │ │ │ ├── ClientInfoImpl.java │ │ │ ├── ClientServiceEnvironmentImpl.java │ │ │ ├── ClientTabletCache.java │ │ │ ├── ClientTabletCacheImpl.java │ │ │ ├── CloneConfigurationImpl.java │ │ │ ├── CompressedIterators.java │ │ │ ├── ConditionalWriterImpl.java │ │ │ ├── Credentials.java │ │ │ ├── DelegationTokenConfigSerializer.java │ │ │ ├── DelegationTokenImpl.java │ │ │ ├── DurabilityImpl.java │ │ │ ├── ImportConfigurationImpl.java │ │ │ ├── InstanceOperationsImpl.java │ │ │ ├── IsolationException.java │ │ │ ├── MultiTableBatchWriterImpl.java │ │ │ ├── Namespace.java │ │ │ ├── NamespaceMapping.java │ │ │ ├── NamespaceOperationsHelper.java │ │ │ ├── NamespaceOperationsImpl.java │ │ │ ├── OfflineIterator.java │ │ │ ├── OfflineScanner.java │ │ │ ├── RootClientTabletCache.java │ │ │ ├── ScanServerAttemptImpl.java │ │ │ ├── ScanServerAttemptReporter.java │ │ │ ├── ScanServerAttemptsImpl.java │ │ │ ├── ScannerImpl.java │ │ │ ├── ScannerIterator.java │ │ │ ├── ScannerOptions.java │ │ │ ├── SecurityOperationsImpl.java │ │ │ ├── SyncingClientTabletCache.java │ │ │ ├── TableOperationsHelper.java │ │ │ ├── TableOperationsImpl.java │ │ │ ├── TabletAvailabilityUtil.java │ │ │ ├── TabletInformationImpl.java │ │ │ ├── TabletMergeabilityUtil.java │ │ │ ├── TabletServerBatchDeleter.java │ │ │ ├── TabletServerBatchReader.java │ │ │ ├── TabletServerBatchReaderIterator.java │ │ │ ├── TabletServerBatchWriter.java │ │ │ ├── TabletType.java │ │ │ ├── ThriftScanner.java │ │ │ ├── ThriftTransportKey.java │ │ │ ├── ThriftTransportPool.java │ │ │ ├── TimeoutClientTabletCache.java │ │ │ ├── UserCompactionUtils.java │ │ │ ├── ZookeeperLockChecker.java │ │ │ ├── bulk │ │ │ │ ├── Bulk.java │ │ │ │ ├── BulkImport.java │ │ │ │ ├── BulkSerialize.java │ │ │ │ ├── ConcurrentKeyExtentCache.java │ │ │ │ └── LoadMappingIterator.java │ │ │ └── lexicoder │ │ │ │ ├── ByteUtils.java │ │ │ │ └── FixedByteArrayOutputStream.java │ │ │ ├── compaction │ │ │ ├── CompactionSettings.java │ │ │ ├── NullType.java │ │ │ ├── PatternType.java │ │ │ ├── ShellCompactCommandConfigurer.java │ │ │ ├── ShellCompactCommandSelector.java │ │ │ ├── SizeType.java │ │ │ ├── StringType.java │ │ │ ├── Type.java │ │ │ └── UIntType.java │ │ │ ├── conf │ │ │ ├── AccumuloConfiguration.java │ │ │ ├── ClientConfigGenerate.java │ │ │ ├── ClientProperty.java │ │ │ ├── ConfigCheckUtil.java │ │ │ ├── ConfigurationCopy.java │ │ │ ├── ConfigurationDocGen.java │ │ │ ├── ConfigurationTypeHelper.java │ │ │ ├── DefaultConfiguration.java │ │ │ ├── DeprecatedPropertyUtil.java │ │ │ ├── Experimental.java │ │ │ ├── HadoopCredentialProvider.java │ │ │ ├── Property.java │ │ │ ├── PropertyType.java │ │ │ ├── ReplacedBy.java │ │ │ ├── Sensitive.java │ │ │ ├── SiteConfiguration.java │ │ │ └── cluster │ │ │ │ └── ClusterConfigParser.java │ │ │ ├── constraints │ │ │ └── Violations.java │ │ │ ├── crypto │ │ │ ├── CryptoEnvironmentImpl.java │ │ │ ├── CryptoFactoryLoader.java │ │ │ ├── CryptoUtils.java │ │ │ └── streams │ │ │ │ ├── BlockedInputStream.java │ │ │ │ ├── BlockedOutputStream.java │ │ │ │ ├── DiscardCloseOutputStream.java │ │ │ │ ├── NoFlushOutputStream.java │ │ │ │ └── RFileCipherOutputStream.java │ │ │ ├── data │ │ │ ├── AbstractId.java │ │ │ ├── ArrayByteSequence.java │ │ │ ├── ByteSequence.java │ │ │ ├── Column.java │ │ │ ├── ColumnUpdate.java │ │ │ ├── Condition.java │ │ │ ├── ConditionalMutation.java │ │ │ ├── ConstraintViolationSummary.java │ │ │ ├── InstanceId.java │ │ │ ├── Key.java │ │ │ ├── KeyBuilder.java │ │ │ ├── KeyValue.java │ │ │ ├── LoadPlan.java │ │ │ ├── Mutation.java │ │ │ ├── NamespaceId.java │ │ │ ├── PartialKey.java │ │ │ ├── Range.java │ │ │ ├── TableId.java │ │ │ ├── TabletId.java │ │ │ ├── Value.java │ │ │ ├── constraints │ │ │ │ ├── Constraint.java │ │ │ │ ├── DefaultKeySizeConstraint.java │ │ │ │ ├── NoDeleteConstraint.java │ │ │ │ └── VisibilityConstraint.java │ │ │ └── doc-files │ │ │ │ └── mutation-serialization.html │ │ │ ├── dataImpl │ │ │ ├── ComparableBytes.java │ │ │ ├── KeyExtent.java │ │ │ └── TabletIdImpl.java │ │ │ ├── fate │ │ │ ├── AbstractFateStore.java │ │ │ ├── AcceptableException.java │ │ │ ├── AdminUtil.java │ │ │ ├── Fate.java │ │ │ ├── FateCleaner.java │ │ │ ├── FateExecutor.java │ │ │ ├── FateId.java │ │ │ ├── FateInstanceType.java │ │ │ ├── FateKey.java │ │ │ ├── FateStore.java │ │ │ ├── ReadOnlyFateStore.java │ │ │ ├── ReadOnlyRepo.java │ │ │ ├── Repo.java │ │ │ ├── SignalCount.java │ │ │ ├── StackOverflowException.java │ │ │ ├── WrappedFateTxStore.java │ │ │ ├── user │ │ │ │ ├── FateKeyFilter.java │ │ │ │ ├── FateMutator.java │ │ │ │ ├── FateMutatorImpl.java │ │ │ │ ├── RowExistsIterator.java │ │ │ │ ├── RowFateStatusFilter.java │ │ │ │ ├── StatusMappingIterator.java │ │ │ │ ├── UserFateStore.java │ │ │ │ └── schema │ │ │ │ │ └── FateSchema.java │ │ │ └── zookeeper │ │ │ │ ├── DistributedReadWriteLock.java │ │ │ │ ├── FateLock.java │ │ │ │ ├── MetaFateStore.java │ │ │ │ ├── ZooReader.java │ │ │ │ ├── ZooReaderWriter.java │ │ │ │ ├── ZooReservation.java │ │ │ │ └── ZooUtil.java │ │ │ ├── file │ │ │ ├── BloomFilterLayer.java │ │ │ ├── DispatchingFileFactory.java │ │ │ ├── FileOperations.java │ │ │ ├── FilePrefix.java │ │ │ ├── FileSKVIterator.java │ │ │ ├── FileSKVWriter.java │ │ │ ├── NoSuchMetaStoreException.java │ │ │ ├── blockfile │ │ │ │ ├── cache │ │ │ │ │ ├── impl │ │ │ │ │ │ ├── BlockCacheConfiguration.java │ │ │ │ │ │ ├── BlockCacheManagerFactory.java │ │ │ │ │ │ ├── ClassSize.java │ │ │ │ │ │ ├── NoopCache.java │ │ │ │ │ │ └── SizeConstants.java │ │ │ │ │ ├── lru │ │ │ │ │ │ ├── CachedBlock.java │ │ │ │ │ │ ├── CachedBlockQueue.java │ │ │ │ │ │ ├── HeapSize.java │ │ │ │ │ │ ├── LruBlockCache.java │ │ │ │ │ │ ├── LruBlockCacheConfiguration.java │ │ │ │ │ │ ├── LruBlockCacheManager.java │ │ │ │ │ │ └── SynchronousLoadingBlockCache.java │ │ │ │ │ └── tinylfu │ │ │ │ │ │ ├── TinyLfuBlockCache.java │ │ │ │ │ │ └── TinyLfuBlockCacheManager.java │ │ │ │ └── impl │ │ │ │ │ ├── BasicCacheProvider.java │ │ │ │ │ ├── CachableBlockFile.java │ │ │ │ │ ├── CacheProvider.java │ │ │ │ │ ├── OpportunisticBlockCache.java │ │ │ │ │ ├── ScanCacheProvider.java │ │ │ │ │ └── SeekableByteArrayInputStream.java │ │ │ ├── keyfunctor │ │ │ │ ├── ColumnFamilyFunctor.java │ │ │ │ ├── ColumnQualifierFunctor.java │ │ │ │ ├── KeyFunctor.java │ │ │ │ └── RowFunctor.java │ │ │ ├── rfile │ │ │ │ ├── BlockIndex.java │ │ │ │ ├── GenerateSplits.java │ │ │ │ ├── IndexIterator.java │ │ │ │ ├── KeyShortener.java │ │ │ │ ├── MetricsGatherer.java │ │ │ │ ├── MultiIndexIterator.java │ │ │ │ ├── MultiLevelIndex.java │ │ │ │ ├── PrintInfo.java │ │ │ │ ├── RFile.java │ │ │ │ ├── RFileOperations.java │ │ │ │ ├── RelativeKey.java │ │ │ │ ├── RollingStats.java │ │ │ │ ├── SplitLarge.java │ │ │ │ ├── VisMetricsGatherer.java │ │ │ │ ├── VisibilityMetric.java │ │ │ │ └── bcfile │ │ │ │ │ ├── BCFile.java │ │ │ │ │ ├── Compression.java │ │ │ │ │ ├── CompressionAlgorithm.java │ │ │ │ │ ├── IdentityCodec.java │ │ │ │ │ ├── MetaBlockAlreadyExists.java │ │ │ │ │ ├── MetaBlockDoesNotExist.java │ │ │ │ │ ├── PrintBCInfo.java │ │ │ │ │ ├── SimpleBufferedOutputStream.java │ │ │ │ │ └── Utils.java │ │ │ └── streams │ │ │ │ ├── BoundedRangeFileInputStream.java │ │ │ │ └── SeekableDataInputStream.java │ │ │ ├── gc │ │ │ ├── GcCandidate.java │ │ │ ├── Reference.java │ │ │ └── ReferenceFile.java │ │ │ ├── iterators │ │ │ ├── ColumnFamilyCounter.java │ │ │ ├── Combiner.java │ │ │ ├── DebugIterator.java │ │ │ ├── DevNull.java │ │ │ ├── Filter.java │ │ │ ├── FirstEntryInRowIterator.java │ │ │ ├── IteratorAdapter.java │ │ │ ├── IteratorEnvironment.java │ │ │ ├── IteratorUtil.java │ │ │ ├── LongCombiner.java │ │ │ ├── OptionDescriber.java │ │ │ ├── OrIterator.java │ │ │ ├── ServerFilter.java │ │ │ ├── ServerSkippingIterator.java │ │ │ ├── ServerWrappingIterator.java │ │ │ ├── SkippingIterator.java │ │ │ ├── SortedFilesIterator.java │ │ │ ├── SortedKeyIterator.java │ │ │ ├── SortedKeyValueIterator.java │ │ │ ├── SynchronizedServerFilter.java │ │ │ ├── TypedValueCombiner.java │ │ │ ├── ValueFormatException.java │ │ │ ├── WrappingIterator.java │ │ │ ├── YieldCallback.java │ │ │ ├── YieldingKeyValueIterator.java │ │ │ └── user │ │ │ │ ├── AgeOffFilter.java │ │ │ │ ├── BigDecimalCombiner.java │ │ │ │ ├── CfCqSliceFilter.java │ │ │ │ ├── CfCqSliceOpts.java │ │ │ │ ├── CfCqSliceSeekingFilter.java │ │ │ │ ├── ColumnAgeOffFilter.java │ │ │ │ ├── ColumnSliceFilter.java │ │ │ │ ├── GrepIterator.java │ │ │ │ ├── IndexedDocIterator.java │ │ │ │ ├── IntersectingIterator.java │ │ │ │ ├── LargeRowFilter.java │ │ │ │ ├── MaxCombiner.java │ │ │ │ ├── MinCombiner.java │ │ │ │ ├── RegExFilter.java │ │ │ │ ├── ReqVisFilter.java │ │ │ │ ├── RowDeletingIterator.java │ │ │ │ ├── RowEncodingIterator.java │ │ │ │ ├── RowFilter.java │ │ │ │ ├── SeekingFilter.java │ │ │ │ ├── SummingArrayCombiner.java │ │ │ │ ├── SummingCombiner.java │ │ │ │ ├── TimestampFilter.java │ │ │ │ ├── TransformingIterator.java │ │ │ │ ├── VersioningIterator.java │ │ │ │ ├── VisibilityFilter.java │ │ │ │ ├── WholeColumnFamilyIterator.java │ │ │ │ └── WholeRowIterator.java │ │ │ ├── iteratorsImpl │ │ │ ├── ClientIteratorEnvironment.java │ │ │ ├── IteratorBuilder.java │ │ │ ├── IteratorBuilderImpl.java │ │ │ ├── IteratorConfigUtil.java │ │ │ ├── conf │ │ │ │ ├── ColumnSet.java │ │ │ │ ├── ColumnToClassMapping.java │ │ │ │ └── ColumnUtil.java │ │ │ └── system │ │ │ │ ├── ColumnFamilySkippingIterator.java │ │ │ │ ├── ColumnQualifierFilter.java │ │ │ │ ├── CountingIterator.java │ │ │ │ ├── DeletingIterator.java │ │ │ │ ├── EmptyIterator.java │ │ │ │ ├── HeapIterator.java │ │ │ │ ├── InterruptibleIterator.java │ │ │ │ ├── IterationInterruptedException.java │ │ │ │ ├── LocalityGroupIterator.java │ │ │ │ ├── MultiIterator.java │ │ │ │ ├── SampleIterator.java │ │ │ │ ├── SequenceFileIterator.java │ │ │ │ ├── SortedMapIterator.java │ │ │ │ ├── SourceSwitchingIterator.java │ │ │ │ ├── StatsIterator.java │ │ │ │ ├── SynchronizedIterator.java │ │ │ │ ├── SystemIteratorUtil.java │ │ │ │ ├── TimeSettingIterator.java │ │ │ │ └── VisibilityFilter.java │ │ │ ├── lock │ │ │ ├── ServiceLock.java │ │ │ ├── ServiceLockData.java │ │ │ ├── ServiceLockPaths.java │ │ │ └── ServiceLockSupport.java │ │ │ ├── logging │ │ │ ├── ConditionalLogger.java │ │ │ ├── FateLogger.java │ │ │ ├── Logging.java │ │ │ ├── LoggingBlockCache.java │ │ │ ├── TabletLogger.java │ │ │ └── package-info.java │ │ │ ├── manager │ │ │ ├── balancer │ │ │ │ ├── AssignmentParamsImpl.java │ │ │ │ ├── BalanceParamsImpl.java │ │ │ │ ├── TServerStatusImpl.java │ │ │ │ ├── TableStatisticsImpl.java │ │ │ │ ├── TabletServerIdImpl.java │ │ │ │ └── TabletStatisticsImpl.java │ │ │ └── state │ │ │ │ ├── TabletManagement.java │ │ │ │ └── tables │ │ │ │ └── TableState.java │ │ │ ├── metadata │ │ │ ├── AbstractTabletFile.java │ │ │ ├── CompactableFileImpl.java │ │ │ ├── MetadataCachedTabletObtainer.java │ │ │ ├── ReferencedTabletFile.java │ │ │ ├── RootTable.java │ │ │ ├── ScanServerRefStore.java │ │ │ ├── ScanServerRefTabletFile.java │ │ │ ├── StoredTabletFile.java │ │ │ ├── SuspendingTServer.java │ │ │ ├── SystemTables.java │ │ │ ├── TServerInstance.java │ │ │ ├── TabletFile.java │ │ │ ├── TabletState.java │ │ │ ├── UnreferencedTabletFile.java │ │ │ ├── ValidationUtil.java │ │ │ └── schema │ │ │ │ ├── Ample.java │ │ │ │ ├── AmpleImpl.java │ │ │ │ ├── CompactionMetadata.java │ │ │ │ ├── DataFileValue.java │ │ │ │ ├── ExternalCompactionId.java │ │ │ │ ├── LinkingIterator.java │ │ │ │ ├── MetadataSchema.java │ │ │ │ ├── MetadataTime.java │ │ │ │ ├── RootTabletMetadata.java │ │ │ │ ├── SelectedFiles.java │ │ │ │ ├── SortSkew.java │ │ │ │ ├── TabletDeletedException.java │ │ │ │ ├── TabletMergeabilityMetadata.java │ │ │ │ ├── TabletMetadata.java │ │ │ │ ├── TabletMetadataBuilder.java │ │ │ │ ├── TabletMetadataCheck.java │ │ │ │ ├── TabletMutatorBase.java │ │ │ │ ├── TabletOperationId.java │ │ │ │ ├── TabletOperationType.java │ │ │ │ ├── TabletsMetadata.java │ │ │ │ ├── UnSplittableMetadata.java │ │ │ │ └── filters │ │ │ │ ├── GcWalsFilter.java │ │ │ │ ├── HasCurrentFilter.java │ │ │ │ ├── HasExternalCompactionsFilter.java │ │ │ │ ├── HasMigrationFilter.java │ │ │ │ └── TabletMetadataFilter.java │ │ │ ├── metrics │ │ │ ├── Metric.java │ │ │ ├── MetricsDocGen.java │ │ │ ├── MetricsInfo.java │ │ │ ├── MetricsProducer.java │ │ │ └── MetricsUtil.java │ │ │ ├── rpc │ │ │ ├── AccumuloTFramedTransportFactory.java │ │ │ ├── FilterTransport.java │ │ │ ├── SaslClientDigestCallbackHandler.java │ │ │ ├── SaslConnectionParams.java │ │ │ ├── SaslDigestCallbackHandler.java │ │ │ ├── SslConnectionParams.java │ │ │ ├── TBufferedSocket.java │ │ │ ├── TTimeoutTransport.java │ │ │ ├── ThriftUtil.java │ │ │ ├── TraceProtocolFactory.java │ │ │ ├── UGIAssumingTransport.java │ │ │ ├── UGIAssumingTransportFactory.java │ │ │ └── clients │ │ │ │ ├── ClientServiceThriftClient.java │ │ │ │ ├── CompactionCoordinatorServiceThriftClient.java │ │ │ │ ├── CompactorServiceThriftClient.java │ │ │ │ ├── FateThriftClient.java │ │ │ │ ├── GCMonitorServiceThriftClient.java │ │ │ │ ├── ManagerClient.java │ │ │ │ ├── ManagerThriftClient.java │ │ │ │ ├── ServerProcessServiceThriftClient.java │ │ │ │ ├── TServerClient.java │ │ │ │ ├── TabletIngestClientServiceThriftClient.java │ │ │ │ ├── TabletManagementClientServiceThriftClient.java │ │ │ │ ├── TabletScanClientServiceThriftClient.java │ │ │ │ ├── TabletServerThriftClient.java │ │ │ │ └── ThriftClientTypes.java │ │ │ ├── sample │ │ │ └── impl │ │ │ │ ├── DataoutputHasher.java │ │ │ │ ├── SamplerConfigurationImpl.java │ │ │ │ └── SamplerFactory.java │ │ │ ├── schema │ │ │ └── Section.java │ │ │ ├── security │ │ │ ├── AuthorizationContainer.java │ │ │ ├── Authorizations.java │ │ │ ├── ColumnVisibility.java │ │ │ ├── NamespacePermission.java │ │ │ ├── SystemPermission.java │ │ │ ├── TablePermission.java │ │ │ └── VisibilityParseException.java │ │ │ ├── spi │ │ │ ├── balancer │ │ │ │ ├── BalancerEnvironment.java │ │ │ │ ├── DoNothingBalancer.java │ │ │ │ ├── GroupBalancer.java │ │ │ │ ├── HostRegexTableLoadBalancer.java │ │ │ │ ├── RegexGroupBalancer.java │ │ │ │ ├── SimpleLoadBalancer.java │ │ │ │ ├── TableLoadBalancer.java │ │ │ │ ├── TabletBalancer.java │ │ │ │ ├── data │ │ │ │ │ ├── TServerStatus.java │ │ │ │ │ ├── TableStatistics.java │ │ │ │ │ ├── TabletMigration.java │ │ │ │ │ ├── TabletServerId.java │ │ │ │ │ └── TabletStatistics.java │ │ │ │ └── util │ │ │ │ │ └── ThrottledBalancerProblemReporter.java │ │ │ ├── cache │ │ │ │ ├── BlockCache.java │ │ │ │ ├── BlockCacheManager.java │ │ │ │ ├── CacheEntry.java │ │ │ │ └── CacheType.java │ │ │ ├── common │ │ │ │ ├── ContextClassLoaderEnvironment.java │ │ │ │ ├── ContextClassLoaderFactory.java │ │ │ │ ├── IteratorConfiguration.java │ │ │ │ ├── ServiceEnvironment.java │ │ │ │ └── Stats.java │ │ │ ├── compaction │ │ │ │ ├── CompactionDispatch.java │ │ │ │ ├── CompactionDispatchBuilder.java │ │ │ │ ├── CompactionDispatchImpl.java │ │ │ │ ├── CompactionDispatcher.java │ │ │ │ ├── CompactionJob.java │ │ │ │ ├── CompactionKind.java │ │ │ │ ├── CompactionPlan.java │ │ │ │ ├── CompactionPlanner.java │ │ │ │ ├── CompactionServiceId.java │ │ │ │ ├── CompactionServices.java │ │ │ │ ├── CompactorGroupId.java │ │ │ │ ├── GroupManager.java │ │ │ │ ├── RatioBasedCompactionPlanner.java │ │ │ │ ├── SimpleCompactionDispatcher.java │ │ │ │ ├── doc-files │ │ │ │ │ └── compaction-spi-design.png │ │ │ │ └── package-info.java │ │ │ ├── crypto │ │ │ │ ├── AESCryptoService.java │ │ │ │ ├── CryptoEnvironment.java │ │ │ │ ├── CryptoService.java │ │ │ │ ├── CryptoServiceFactory.java │ │ │ │ ├── FileDecrypter.java │ │ │ │ ├── FileEncrypter.java │ │ │ │ ├── GenericCryptoServiceFactory.java │ │ │ │ ├── NoCryptoService.java │ │ │ │ ├── NoCryptoServiceFactory.java │ │ │ │ ├── NoFileDecrypter.java │ │ │ │ ├── NoFileEncrypter.java │ │ │ │ └── PerTableCryptoServiceFactory.java │ │ │ ├── file │ │ │ │ └── rfile │ │ │ │ │ └── compression │ │ │ │ │ ├── Bzip2.java │ │ │ │ │ ├── CompressionAlgorithmConfiguration.java │ │ │ │ │ ├── Gz.java │ │ │ │ │ ├── Lz4.java │ │ │ │ │ ├── Lzo.java │ │ │ │ │ ├── NoCompression.java │ │ │ │ │ ├── Snappy.java │ │ │ │ │ └── ZStandard.java │ │ │ ├── fs │ │ │ │ ├── DelegatingChooser.java │ │ │ │ ├── PreferredVolumeChooser.java │ │ │ │ ├── RandomVolumeChooser.java │ │ │ │ ├── SpaceAwareVolumeChooser.java │ │ │ │ ├── VolumeChooser.java │ │ │ │ └── VolumeChooserEnvironment.java │ │ │ ├── metrics │ │ │ │ ├── LoggingMeterRegistryFactory.java │ │ │ │ └── MeterRegistryFactory.java │ │ │ ├── ondemand │ │ │ │ ├── DefaultOnDemandTabletUnloader.java │ │ │ │ └── OnDemandTabletUnloader.java │ │ │ ├── package-info.java │ │ │ └── scan │ │ │ │ ├── ConfigurableScanServerHostSelector.java │ │ │ │ ├── ConfigurableScanServerSelector.java │ │ │ │ ├── DefaultScanDispatch.java │ │ │ │ ├── HintScanPrioritizer.java │ │ │ │ ├── IdleRatioScanPrioritizer.java │ │ │ │ ├── ScanDispatch.java │ │ │ │ ├── ScanDispatchImpl.java │ │ │ │ ├── ScanDispatcher.java │ │ │ │ ├── ScanExecutor.java │ │ │ │ ├── ScanInfo.java │ │ │ │ ├── ScanPrioritizer.java │ │ │ │ ├── ScanServerAttempt.java │ │ │ │ ├── ScanServerInfo.java │ │ │ │ ├── ScanServerSelections.java │ │ │ │ ├── ScanServerSelector.java │ │ │ │ └── SimpleScanDispatcher.java │ │ │ ├── summary │ │ │ ├── Gatherer.java │ │ │ ├── SummarizerConfigurationUtil.java │ │ │ ├── SummarizerFactory.java │ │ │ ├── SummaryCollection.java │ │ │ ├── SummaryInfo.java │ │ │ ├── SummaryReader.java │ │ │ ├── SummarySerializer.java │ │ │ └── SummaryWriter.java │ │ │ ├── tabletserver │ │ │ ├── UnloaderParamsImpl.java │ │ │ └── log │ │ │ │ └── LogEntry.java │ │ │ ├── trace │ │ │ ├── TraceUtil.java │ │ │ ├── TraceWrappedCallable.java │ │ │ └── TraceWrappedRunnable.java │ │ │ ├── util │ │ │ ├── AddressUtil.java │ │ │ ├── BadArgumentException.java │ │ │ ├── ByteArrayComparator.java │ │ │ ├── ByteArraySet.java │ │ │ ├── ByteBufferUtil.java │ │ │ ├── CancelFlagFuture.java │ │ │ ├── ClassUtil.java │ │ │ ├── ColumnFQ.java │ │ │ ├── ComparablePair.java │ │ │ ├── CompletableFutureUtil.java │ │ │ ├── ConfigurationImpl.java │ │ │ ├── CountDownTimer.java │ │ │ ├── CreateToken.java │ │ │ ├── DurationFormat.java │ │ │ ├── Encoding.java │ │ │ ├── FastFormat.java │ │ │ ├── Halt.java │ │ │ ├── Help.java │ │ │ ├── HostAndPortComparator.java │ │ │ ├── Interner.java │ │ │ ├── LazySingletons.java │ │ │ ├── LocalityGroupUtil.java │ │ │ ├── LockMap.java │ │ │ ├── MapCounter.java │ │ │ ├── Merge.java │ │ │ ├── MonitorUtil.java │ │ │ ├── NumUtil.java │ │ │ ├── Pair.java │ │ │ ├── PeekingIterator.java │ │ │ ├── PreAllocatedArray.java │ │ │ ├── Retry.java │ │ │ ├── RowRangeUtil.java │ │ │ ├── ShutdownUtil.java │ │ │ ├── Stat.java │ │ │ ├── StopWatch.java │ │ │ ├── TextUtil.java │ │ │ ├── ThriftMessageUtil.java │ │ │ ├── Timer.java │ │ │ ├── UnsynchronizedBuffer.java │ │ │ ├── UtilWaitThread.java │ │ │ ├── UuidUtil.java │ │ │ ├── Validator.java │ │ │ ├── Validators.java │ │ │ ├── Version.java │ │ │ ├── cache │ │ │ │ └── Caches.java │ │ │ ├── cleaner │ │ │ │ └── CleanerUtil.java │ │ │ ├── compaction │ │ │ │ ├── CompactionJobImpl.java │ │ │ │ ├── CompactionJobPrioritizer.java │ │ │ │ ├── CompactionPlanImpl.java │ │ │ │ ├── CompactionPlannerInitParams.java │ │ │ │ ├── CompactionServicesConfig.java │ │ │ │ ├── ExternalCompactionUtil.java │ │ │ │ ├── RunningCompaction.java │ │ │ │ └── RunningCompactionInfo.java │ │ │ ├── format │ │ │ │ ├── AggregatingFormatter.java │ │ │ │ ├── DateFormatSupplier.java │ │ │ │ ├── DefaultFormatter.java │ │ │ │ ├── Formatter.java │ │ │ │ ├── FormatterConfig.java │ │ │ │ ├── FormatterFactory.java │ │ │ │ ├── ShardedTableDistributionFormatter.java │ │ │ │ └── StatisticsDisplayFormatter.java │ │ │ ├── json │ │ │ │ └── ByteArrayToBase64TypeAdapter.java │ │ │ ├── tables │ │ │ │ ├── TableMapping.java │ │ │ │ └── TableNameUtil.java │ │ │ ├── threads │ │ │ │ ├── AccumuloUncaughtExceptionHandler.java │ │ │ │ ├── NamedRunnable.java │ │ │ │ ├── NamedThreadFactory.java │ │ │ │ ├── ThreadPoolNames.java │ │ │ │ ├── ThreadPools.java │ │ │ │ └── Threads.java │ │ │ └── time │ │ │ │ └── SteadyTime.java │ │ │ ├── volume │ │ │ ├── Volume.java │ │ │ ├── VolumeConfiguration.java │ │ │ └── VolumeImpl.java │ │ │ └── zookeeper │ │ │ ├── ZcNode.java │ │ │ ├── ZcStat.java │ │ │ ├── ZooCache.java │ │ │ └── ZooSession.java │ ├── scripts │ │ ├── generate-flatbuffers.sh │ │ ├── generate-thrift.sh │ │ └── mkdirs.sh │ ├── spotbugs │ │ └── exclude-filter.xml │ ├── thrift-gen-java │ │ └── org │ │ │ └── apache │ │ │ └── accumulo │ │ │ └── core │ │ │ ├── clientImpl │ │ │ └── thrift │ │ │ │ ├── ClientService.java │ │ │ │ ├── ConfigurationType.java │ │ │ │ ├── SecurityErrorCode.java │ │ │ │ ├── TDiskUsage.java │ │ │ │ ├── TInfo.java │ │ │ │ ├── TTabletAvailability.java │ │ │ │ ├── TVersionedProperties.java │ │ │ │ ├── TableOperation.java │ │ │ │ ├── TableOperationExceptionType.java │ │ │ │ ├── ThriftConcurrentModificationException.java │ │ │ │ ├── ThriftNotActiveServiceException.java │ │ │ │ ├── ThriftSecurityException.java │ │ │ │ ├── ThriftTableOperationException.java │ │ │ │ └── ThriftTest.java │ │ │ ├── compaction │ │ │ └── thrift │ │ │ │ ├── CompactionCoordinatorService.java │ │ │ │ ├── CompactorService.java │ │ │ │ ├── TCompactionState.java │ │ │ │ ├── TCompactionStatusUpdate.java │ │ │ │ ├── TExternalCompaction.java │ │ │ │ ├── TExternalCompactionList.java │ │ │ │ ├── TExternalCompactionMap.java │ │ │ │ ├── TNextCompactionJob.java │ │ │ │ └── UnknownCompactionIdException.java │ │ │ ├── dataImpl │ │ │ └── thrift │ │ │ │ ├── InitialMultiScan.java │ │ │ │ ├── InitialScan.java │ │ │ │ ├── IterInfo.java │ │ │ │ ├── MultiScanResult.java │ │ │ │ ├── ScanResult.java │ │ │ │ ├── TCMResult.java │ │ │ │ ├── TCMStatus.java │ │ │ │ ├── TColumn.java │ │ │ │ ├── TCondition.java │ │ │ │ ├── TConditionalMutation.java │ │ │ │ ├── TConditionalSession.java │ │ │ │ ├── TConstraintViolationSummary.java │ │ │ │ ├── TKey.java │ │ │ │ ├── TKeyExtent.java │ │ │ │ ├── TKeyValue.java │ │ │ │ ├── TMutation.java │ │ │ │ ├── TRange.java │ │ │ │ ├── TRowRange.java │ │ │ │ ├── TSummaries.java │ │ │ │ ├── TSummarizerConfiguration.java │ │ │ │ ├── TSummary.java │ │ │ │ ├── TSummaryRequest.java │ │ │ │ └── UpdateErrors.java │ │ │ ├── gc │ │ │ └── thrift │ │ │ │ ├── GCMonitorService.java │ │ │ │ ├── GCStatus.java │ │ │ │ └── GcCycleStats.java │ │ │ ├── manager │ │ │ └── thrift │ │ │ │ ├── BulkImportState.java │ │ │ │ ├── BulkImportStatus.java │ │ │ │ ├── Compacting.java │ │ │ │ ├── DeadServer.java │ │ │ │ ├── FateService.java │ │ │ │ ├── ManagerClientService.java │ │ │ │ ├── ManagerGoalState.java │ │ │ │ ├── ManagerMonitorInfo.java │ │ │ │ ├── ManagerState.java │ │ │ │ ├── RecoveryStatus.java │ │ │ │ ├── TFateId.java │ │ │ │ ├── TFateInstanceType.java │ │ │ │ ├── TFateOperation.java │ │ │ │ ├── TTabletMergeability.java │ │ │ │ ├── TableInfo.java │ │ │ │ ├── TabletLoadState.java │ │ │ │ ├── TabletServerStatus.java │ │ │ │ ├── TabletSplit.java │ │ │ │ └── ThriftPropertyException.java │ │ │ ├── process │ │ │ └── thrift │ │ │ │ ├── MetricResponse.java │ │ │ │ ├── MetricSource.java │ │ │ │ └── ServerProcessService.java │ │ │ ├── securityImpl │ │ │ └── thrift │ │ │ │ ├── TAuthenticationKey.java │ │ │ │ ├── TAuthenticationTokenIdentifier.java │ │ │ │ ├── TCredentials.java │ │ │ │ ├── TDelegationToken.java │ │ │ │ └── TDelegationTokenConfig.java │ │ │ ├── tablet │ │ │ └── thrift │ │ │ │ ├── TUnloadTabletGoal.java │ │ │ │ └── TabletManagementClientService.java │ │ │ ├── tabletingest │ │ │ └── thrift │ │ │ │ ├── ConstraintViolationException.java │ │ │ │ ├── DataFileInfo.java │ │ │ │ ├── TDurability.java │ │ │ │ └── TabletIngestClientService.java │ │ │ ├── tabletscan │ │ │ └── thrift │ │ │ │ ├── ActiveScan.java │ │ │ │ ├── ScanServerBusyException.java │ │ │ │ ├── ScanState.java │ │ │ │ ├── ScanType.java │ │ │ │ ├── TSampleNotPresentException.java │ │ │ │ ├── TSamplerConfiguration.java │ │ │ │ ├── TabletScanClientService.java │ │ │ │ └── TooManyFilesException.java │ │ │ └── tabletserver │ │ │ └── thrift │ │ │ ├── ActionStats.java │ │ │ ├── ActiveCompaction.java │ │ │ ├── InputFile.java │ │ │ ├── IteratorConfig.java │ │ │ ├── NoSuchScanIDException.java │ │ │ ├── NotServingTabletException.java │ │ │ ├── TCompactionGroupSummary.java │ │ │ ├── TCompactionKind.java │ │ │ ├── TCompactionReason.java │ │ │ ├── TCompactionStats.java │ │ │ ├── TCompactionType.java │ │ │ ├── TExternalCompactionJob.java │ │ │ ├── TIteratorSetting.java │ │ │ ├── TabletServerClientService.java │ │ │ └── TabletStats.java │ └── thrift │ │ ├── client.thrift │ │ ├── compaction-coordinator.thrift │ │ ├── data.thrift │ │ ├── gc.thrift │ │ ├── manager.thrift │ │ ├── process.thrift │ │ ├── security.thrift │ │ ├── tabletingest.thrift │ │ ├── tabletmgmt.thrift │ │ ├── tabletscan.thrift │ │ └── tabletserver.thrift │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── accumulo │ │ └── core │ │ ├── WithTestNames.java │ │ ├── classloader │ │ └── ContextClassLoaderFactoryTest.java │ │ ├── cli │ │ ├── ConfigOptsTest.java │ │ ├── PasswordConverterTest.java │ │ ├── TestClientOpts.java │ │ └── TestHelp.java │ │ ├── client │ │ ├── BatchWriterConfigTest.java │ │ ├── ClientPropertiesTest.java │ │ ├── IteratorSettingTest.java │ │ ├── RowIteratorTest.java │ │ ├── TestThrift1474.java │ │ ├── admin │ │ │ ├── DelegationTokenConfigTest.java │ │ │ ├── ImportConfigurationTest.java │ │ │ ├── NewTableConfigurationTest.java │ │ │ └── TabletMergeabilityInfoTest.java │ │ ├── lexicoder │ │ │ ├── BigIntegerLexicoderTest.java │ │ │ ├── BytesLexicoderTest.java │ │ │ ├── DateLexicoderTest.java │ │ │ ├── DoubleLexicoderTest.java │ │ │ ├── FloatLexicoderTest.java │ │ │ ├── IntegerLexicoderTest.java │ │ │ ├── LexicoderTest.java │ │ │ ├── ListLexicoderTest.java │ │ │ ├── LongLexicoderTest.java │ │ │ ├── PairLexicoderTest.java │ │ │ ├── ReverseLexicoderTest.java │ │ │ ├── SequenceLexicoderTest.java │ │ │ ├── StringLexicoderTest.java │ │ │ ├── TextLexicoderTest.java │ │ │ ├── UIntegerLexicoderTest.java │ │ │ ├── ULongLexicoderTest.java │ │ │ └── UUIDLexicoderTest.java │ │ ├── rfile │ │ │ └── RFileClientTest.java │ │ ├── security │ │ │ ├── SecurityErrorCodeTest.java │ │ │ └── tokens │ │ │ │ ├── CredentialProviderTokenTest.java │ │ │ │ ├── DelegationTokenImplTest.java │ │ │ │ ├── KerberosTokenTest.java │ │ │ │ └── PasswordTokenTest.java │ │ └── summary │ │ │ ├── CountingSummarizerTest.java │ │ │ └── summarizers │ │ │ ├── AuthorizationSummarizerTest.java │ │ │ └── EntryLengthSummarizersTest.java │ │ ├── clientImpl │ │ ├── ClientConfConverterTest.java │ │ ├── ClientContextTest.java │ │ ├── ClientTabletCacheImplTest.java │ │ ├── ConditionalComparatorTest.java │ │ ├── DelegationTokenConfigSerializerTest.java │ │ ├── NamespaceMappingTest.java │ │ ├── RootClientTabletCacheTest.java │ │ ├── ScanAttemptsImplTest.java │ │ ├── ScannerBaseTest.java │ │ ├── ScannerImplTest.java │ │ ├── ScannerOptionsTest.java │ │ ├── TableOperationsHelperTest.java │ │ ├── TabletMergeabilityUtilTest.java │ │ ├── TabletServerBatchReaderTest.java │ │ ├── ThriftScannerTest.java │ │ ├── ThriftTransportKeyTest.java │ │ ├── ZookeeperLockCheckerTest.java │ │ ├── bulk │ │ │ ├── BulkImportFilterInvalidTest.java │ │ │ ├── BulkImportTest.java │ │ │ ├── BulkSerializeTest.java │ │ │ └── ConcurrentKeyExtentCacheTest.java │ │ └── lexicoder │ │ │ ├── AbstractLexicoderTest.java │ │ │ └── ByteUtilsTest.java │ │ ├── compaction │ │ ├── ShellCompactCommandConfigurerTest.java │ │ └── ShellCompactCommandSelectorTest.java │ │ ├── conf │ │ ├── AccumuloConfigurationTest.java │ │ ├── ClientPropertyTest.java │ │ ├── ConfigCheckUtilTest.java │ │ ├── ConfigurationTypeHelperTest.java │ │ ├── DefaultConfigurationTest.java │ │ ├── DeprecatedPropertyUtilTest.java │ │ ├── HadoopCredentialProviderTest.java │ │ ├── PropertyTest.java │ │ ├── PropertyTypeTest.java │ │ ├── SiteConfigurationTest.java │ │ └── cluster │ │ │ └── ClusterConfigParserTest.java │ │ ├── crypto │ │ ├── BlockedIOStreamTest.java │ │ └── CryptoTest.java │ │ ├── data │ │ ├── ArrayByteSequenceTest.java │ │ ├── ByteSequenceTest.java │ │ ├── ColumnTest.java │ │ ├── ConditionTest.java │ │ ├── ConditionalMutationTest.java │ │ ├── ConstraintViolationSummaryTest.java │ │ ├── KeyBuilderTest.java │ │ ├── KeyExtentTest.java │ │ ├── KeyTest.java │ │ ├── LoadPlanTest.java │ │ ├── MutationTest.java │ │ ├── NamespaceIdTest.java │ │ ├── OldMutation.java │ │ ├── RangeTest.java │ │ ├── TableIdTest.java │ │ ├── ValueTest.java │ │ └── constraints │ │ │ ├── DefaultKeySizeConstraintTest.java │ │ │ ├── NoDeleteConstraintTest.java │ │ │ └── VisibilityConstraintTest.java │ │ ├── fate │ │ ├── FateCleanerTest.java │ │ ├── FateIdTest.java │ │ ├── FateOperationTest.java │ │ ├── TestStore.java │ │ └── zookeeper │ │ │ ├── DistributedReadWriteLockTest.java │ │ │ ├── FateLockTest.java │ │ │ ├── LockIdTest.java │ │ │ ├── ZooReaderWriterTest.java │ │ │ └── ZooUtilTest.java │ │ ├── file │ │ ├── BloomFilterLayerLookupTest.java │ │ ├── FileOperationsTest.java │ │ ├── FilePrefixTest.java │ │ ├── blockfile │ │ │ └── cache │ │ │ │ ├── BlockCacheFactoryTest.java │ │ │ │ ├── TestCachedBlockQueue.java │ │ │ │ └── TestLruBlockCache.java │ │ └── rfile │ │ │ ├── AbstractRFileTest.java │ │ │ ├── BlockIndexTest.java │ │ │ ├── CreateCompatTestFile.java │ │ │ ├── FencedRFileTest.java │ │ │ ├── GenerateSplitsTest.java │ │ │ ├── KeyShortenerTest.java │ │ │ ├── MultiLevelIndexTest.java │ │ │ ├── MultiThreadedRFileTest.java │ │ │ ├── RFileMetricsTest.java │ │ │ ├── RFileTest.java │ │ │ ├── RelativeKeyTest.java │ │ │ ├── RollingStatsTest.java │ │ │ └── bcfile │ │ │ ├── CompressionTest.java │ │ │ └── DummyCodec.java │ │ ├── iterators │ │ ├── CombinerTestUtil.java │ │ ├── FirstEntryInRowIteratorTest.java │ │ ├── FirstEntryInRowTest.java │ │ ├── SortedMapIteratorTest.java │ │ ├── system │ │ │ ├── ColumnFamilySkippingIteratorTest.java │ │ │ ├── ColumnFilterTest.java │ │ │ ├── DeletingIteratorTest.java │ │ │ ├── MultiIteratorTest.java │ │ │ ├── SourceSwitchingIteratorTest.java │ │ │ ├── TimeSettingIteratorTest.java │ │ │ └── VisibilityFilterTest.java │ │ └── user │ │ │ ├── BigDecimalCombinerTest.java │ │ │ ├── ColumnSliceFilterTest.java │ │ │ ├── CombinerTest.java │ │ │ ├── FilterTest.java │ │ │ ├── GrepIteratorTest.java │ │ │ ├── IndexedDocIteratorTest.java │ │ │ ├── IntersectingIteratorTest.java │ │ │ ├── LargeRowFilterTest.java │ │ │ ├── RegExFilterTest.java │ │ │ ├── RowDeletingIteratorTest.java │ │ │ ├── RowEncodingIteratorTest.java │ │ │ ├── RowFilterTest.java │ │ │ ├── TestCfCqSlice.java │ │ │ ├── TestCfCqSliceFilter.java │ │ │ ├── TestCfCqSliceSeekingFilter.java │ │ │ ├── TransformingIteratorTest.java │ │ │ ├── VersioningIteratorTest.java │ │ │ ├── VisibilityFilterTest.java │ │ │ ├── WholeColumnFamilyIteratorTest.java │ │ │ └── WholeRowIteratorTest.java │ │ ├── iteratorsImpl │ │ └── IteratorConfigUtilTest.java │ │ ├── lock │ │ ├── ServiceLockDataTest.java │ │ ├── ServiceLockPathsTest.java │ │ └── ServiceLockTest.java │ │ ├── logging │ │ ├── DeduplicatingLoggerTest.java │ │ └── EscalatingLoggerTest.java │ │ ├── metadata │ │ ├── StoredTabletFileTest.java │ │ ├── SuspendingTServerTest.java │ │ ├── ValidationUtilTest.java │ │ └── schema │ │ │ ├── DataLevelOrderTest.java │ │ │ ├── DeleteMetadataTest.java │ │ │ ├── ExternalCopmactionIdTest.java │ │ │ ├── LinkingIteratorTest.java │ │ │ ├── MetadataSchemaTest.java │ │ │ ├── MetadataTimeTest.java │ │ │ ├── ReferencedTabletFileTest.java │ │ │ ├── SelectedFilesTest.java │ │ │ ├── SortSkewTest.java │ │ │ ├── TabletMetadataCheckTest.java │ │ │ └── TabletMetadataTest.java │ │ ├── metrics │ │ └── MetricsUtilTest.java │ │ ├── rpc │ │ ├── SaslClientDigestCallbackHandlerTest.java │ │ ├── SaslConnectionParamsTest.java │ │ ├── TTimeoutTransportTest.java │ │ └── ThriftUtilTest.java │ │ ├── security │ │ ├── AuthenticationTokenIdentifierTest.java │ │ ├── AuthenticationTokenTest.java │ │ ├── AuthorizationsTest.java │ │ ├── ColumnVisibilityTest.java │ │ ├── CredentialsTest.java │ │ └── NamespacePermissionsTest.java │ │ ├── spi │ │ ├── balancer │ │ │ ├── BaseHostRegexTableLoadBalancerTest.java │ │ │ ├── GroupBalancerTest.java │ │ │ ├── HostRegexTableLoadBalancerReconfigurationTest.java │ │ │ ├── HostRegexTableLoadBalancerTest.java │ │ │ ├── SimpleLoadBalancerTest.java │ │ │ └── TableLoadBalancerTest.java │ │ ├── compaction │ │ │ └── RatioBasedCompactionPlannerTest.java │ │ ├── fs │ │ │ ├── DelegatingChooserTest.java │ │ │ ├── PreferredVolumeChooserTest.java │ │ │ └── SpaceAwareVolumeChooserTest.java │ │ ├── metrics │ │ │ └── LoggingMeterRegistryFactoryTest.java │ │ └── scan │ │ │ ├── ConfigurableScanServerHostSelectorTest.java │ │ │ ├── ConfigurableScanServerSelectorTest.java │ │ │ ├── HintScanPrioritizerTest.java │ │ │ ├── IdleRatioScanPrioritizerTest.java │ │ │ ├── SimpleScanDispatcherTest.java │ │ │ └── TestScanInfo.java │ │ ├── summary │ │ └── SummaryCollectionTest.java │ │ ├── tabletserver │ │ └── log │ │ │ └── LogEntryTest.java │ │ ├── util │ │ ├── AddressUtilTest.java │ │ ├── ByteBufferUtilTest.java │ │ ├── CompletableFutureUtilTest.java │ │ ├── ConfigurationImplTest.java │ │ ├── CountDownTimerTest.java │ │ ├── FastFormatTest.java │ │ ├── HostAndPortComparatorTest.java │ │ ├── InternerTest.java │ │ ├── LocalityGroupUtilTest.java │ │ ├── LockMapTest.java │ │ ├── MergeTest.java │ │ ├── MonitorUtilTest.java │ │ ├── NumUtilTest.java │ │ ├── PairTest.java │ │ ├── PartitionerTest.java │ │ ├── PeekingIteratorTest.java │ │ ├── PreAllocatedArrayTest.java │ │ ├── RetryTest.java │ │ ├── StatTest.java │ │ ├── TextUtilTest.java │ │ ├── ThriftMessageUtilTest.java │ │ ├── TimerTest.java │ │ ├── UnsynchronizedBufferTest.java │ │ ├── ValidatorTest.java │ │ ├── ValidatorsTest.java │ │ ├── compaction │ │ │ ├── CompactionPrioritizerTest.java │ │ │ └── CompactionServicesConfigTest.java │ │ ├── format │ │ │ ├── DateFormatSupplierTest.java │ │ │ ├── DefaultFormatterTest.java │ │ │ ├── FormatterConfigTest.java │ │ │ ├── FormatterFactoryTest.java │ │ │ ├── ShardedTableDistributionFormatterTest.java │ │ │ └── StatisticsDisplayFormatterTest.java │ │ ├── json │ │ │ └── ByteArrayToBase64TypeAdapterTest.java │ │ ├── threads │ │ │ ├── AccumuloUncaughtExceptionHandlerTest.java │ │ │ └── ThreadPoolExecutorBuilderTest.java │ │ └── time │ │ │ └── SteadyTimeTest.java │ │ ├── volume │ │ ├── VolumeConfigurationTest.java │ │ └── VolumeImplTest.java │ │ └── zookeeper │ │ ├── ZooCacheTest.java │ │ └── ZooSessionTest.java │ └── resources │ ├── accumulo.jceks │ ├── accumulo.properties │ ├── accumulo2.properties │ ├── empty.jceks │ ├── log4j2-test.properties │ ├── org │ └── apache │ │ └── accumulo │ │ └── core │ │ ├── conf │ │ └── cluster │ │ │ ├── 2_1_cluster.yaml │ │ │ ├── bad-group-name.yaml │ │ │ ├── bad-group-suffix.yaml │ │ │ ├── bad-server-name.yaml │ │ │ ├── cluster-missing-compactor-group.yaml │ │ │ ├── cluster-missing-tserver-group.yaml │ │ │ ├── cluster.yaml │ │ │ └── too-many-levels.yaml │ │ └── file │ │ └── rfile │ │ ├── ver_3.rf │ │ ├── ver_4.rf │ │ ├── ver_6.rf │ │ └── ver_7.rf │ ├── passwords.jceks │ └── site-cfg.jceks ├── hadoop-mapreduce ├── .gitignore ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── accumulo │ │ │ ├── hadoop │ │ │ ├── mapred │ │ │ │ ├── AccumuloFileOutputFormat.java │ │ │ │ ├── AccumuloInputFormat.java │ │ │ │ ├── AccumuloOutputFormat.java │ │ │ │ └── AccumuloRowInputFormat.java │ │ │ └── mapreduce │ │ │ │ ├── AccumuloFileOutputFormat.java │ │ │ │ ├── AccumuloInputFormat.java │ │ │ │ ├── AccumuloOutputFormat.java │ │ │ │ ├── AccumuloRowInputFormat.java │ │ │ │ ├── FileOutputFormatBuilder.java │ │ │ │ ├── InputFormatBuilder.java │ │ │ │ ├── OutputFormatBuilder.java │ │ │ │ └── partition │ │ │ │ ├── KeyRangePartitioner.java │ │ │ │ └── RangePartitioner.java │ │ │ └── hadoopImpl │ │ │ ├── mapred │ │ │ ├── AccumuloRecordReader.java │ │ │ ├── AccumuloRecordWriter.java │ │ │ ├── BatchInputSplit.java │ │ │ └── RangeInputSplit.java │ │ │ └── mapreduce │ │ │ ├── AccumuloRecordReader.java │ │ │ ├── AccumuloRecordWriter.java │ │ │ ├── BatchInputSplit.java │ │ │ ├── FileOutputFormatBuilderImpl.java │ │ │ ├── InputFormatBuilderImpl.java │ │ │ ├── InputTableConfig.java │ │ │ ├── OutputFormatBuilderImpl.java │ │ │ ├── RangeInputSplit.java │ │ │ ├── SplitUtils.java │ │ │ └── lib │ │ │ ├── ConfiguratorBase.java │ │ │ ├── DistributedCacheHelper.java │ │ │ ├── FileOutputConfigurator.java │ │ │ ├── InputConfigurator.java │ │ │ └── OutputConfigurator.java │ └── spotbugs │ │ └── exclude-filter.xml │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── accumulo │ │ ├── hadoop │ │ ├── its │ │ │ ├── WithTestNames.java │ │ │ ├── mapred │ │ │ │ ├── AccumuloFileOutputFormatIT.java │ │ │ │ ├── AccumuloInputFormatIT.java │ │ │ │ ├── AccumuloOutputFormatIT.java │ │ │ │ ├── AccumuloRowInputFormatIT.java │ │ │ │ ├── MultiTableInputFormatIT.java │ │ │ │ └── TokenFileIT.java │ │ │ └── mapreduce │ │ │ │ ├── AccumuloFileOutputFormatIT.java │ │ │ │ ├── AccumuloInputFormatIT.java │ │ │ │ ├── AccumuloOutputFormatIT.java │ │ │ │ ├── AccumuloRowInputFormatIT.java │ │ │ │ ├── MapReduceIT.java │ │ │ │ ├── MultiTableInputFormatIT.java │ │ │ │ ├── RowHashIT.java │ │ │ │ └── TokenFileIT.java │ │ ├── mapred │ │ │ ├── AccumuloFileOutputFormatTest.java │ │ │ ├── AccumuloInputFormatTest.java │ │ │ ├── AccumuloOutputFormatTest.java │ │ │ └── MultiTableInputFormatTest.java │ │ └── mapreduce │ │ │ ├── AccumuloFileOutputFormatTest.java │ │ │ ├── AccumuloInputFormatTest.java │ │ │ ├── AccumuloOutputFormatTest.java │ │ │ ├── MultiTableInputFormatTest.java │ │ │ └── partition │ │ │ └── RangePartitionerTest.java │ │ └── hadoopImpl │ │ ├── mapred │ │ └── RangeInputSplitTest.java │ │ └── mapreduce │ │ ├── BatchInputSplitTest.java │ │ ├── InputFormatBuilderTest.java │ │ ├── InputTableConfigTest.java │ │ ├── RangeInputSplitTest.java │ │ └── lib │ │ └── ConfiguratorBaseTest.java │ └── resources │ └── log4j2-test.properties ├── iterator-test-harness ├── .gitignore ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── accumulo │ │ └── iteratortest │ │ ├── IteratorTestBase.java │ │ ├── IteratorTestCase.java │ │ ├── IteratorTestInput.java │ │ ├── IteratorTestOutput.java │ │ ├── IteratorTestParameters.java │ │ └── testcases │ │ ├── DeepCopyTestCase.java │ │ ├── InstantiationTestCase.java │ │ ├── IsolatedDeepCopiesTestCase.java │ │ ├── IteratorTestUtil.java │ │ ├── MultipleHasTopCalls.java │ │ ├── ReSeekTestCase.java │ │ ├── SimpleKVReusingIterator.java │ │ └── YieldingTestCase.java │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── accumulo │ │ └── iteratortest │ │ └── framework │ │ └── JUnitFrameworkTest.java │ └── resources │ └── log4j2-test.properties ├── minicluster ├── .gitignore ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── accumulo │ │ ├── cluster │ │ ├── AccumuloCluster.java │ │ ├── ClusterControl.java │ │ ├── ClusterUser.java │ │ ├── ClusterUsers.java │ │ ├── RemoteShell.java │ │ ├── RemoteShellOptions.java │ │ └── standalone │ │ │ ├── StandaloneAccumuloCluster.java │ │ │ └── StandaloneClusterControl.java │ │ ├── minicluster │ │ ├── MemoryUnit.java │ │ ├── MiniAccumuloCluster.java │ │ ├── MiniAccumuloConfig.java │ │ ├── MiniAccumuloRunner.java │ │ └── ServerType.java │ │ └── miniclusterImpl │ │ ├── ClusterServerConfiguration.java │ │ ├── MiniAccumuloClusterControl.java │ │ ├── MiniAccumuloClusterImpl.java │ │ ├── MiniAccumuloConfigImpl.java │ │ ├── MiniClusterExecutable.java │ │ ├── ProcessNotFoundException.java │ │ ├── ProcessReference.java │ │ └── ZooKeeperBindException.java │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── accumulo │ │ ├── cluster │ │ └── standalone │ │ │ ├── StandaloneAccumuloClusterTest.java │ │ │ └── StandaloneClusterControlTest.java │ │ ├── minicluster │ │ ├── MiniAccumuloClusterClasspathTest.java │ │ ├── MiniAccumuloClusterExistingZooKeepersTest.java │ │ ├── MiniAccumuloClusterStartStopTest.java │ │ ├── MiniAccumuloClusterTest.java │ │ └── WithTestNames.java │ │ └── miniclusterImpl │ │ ├── CleanShutdownMacTest.java │ │ ├── MiniAccumuloClusterImplTest.java │ │ └── MiniAccumuloConfigImplTest.java │ └── resources │ ├── FooFilter.jar │ └── log4j2-test.properties ├── pom.xml ├── server ├── base │ ├── .gitignore │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── accumulo │ │ │ └── server │ │ │ ├── AbstractServer.java │ │ │ ├── AccumuloDataVersion.java │ │ │ ├── ServerContext.java │ │ │ ├── ServerDirs.java │ │ │ ├── ServerInfo.java │ │ │ ├── ServiceEnvironmentImpl.java │ │ │ ├── TabletLevel.java │ │ │ ├── cli │ │ │ └── ServerUtilOpts.java │ │ │ ├── client │ │ │ └── ClientServiceHandler.java │ │ │ ├── compaction │ │ │ ├── CompactionConfigStorage.java │ │ │ ├── CompactionInfo.java │ │ │ ├── CompactionJobGenerator.java │ │ │ ├── CompactionPluginUtils.java │ │ │ ├── CompactionStats.java │ │ │ ├── CompactionWatcher.java │ │ │ ├── CountingIterator.java │ │ │ ├── FileCompactor.java │ │ │ ├── PausedCompactionMetrics.java │ │ │ ├── ProvisionalCompactionPlanner.java │ │ │ ├── RetryableThriftCall.java │ │ │ └── RetryableThriftFunction.java │ │ │ ├── conf │ │ │ ├── CheckAccumuloProperties.java │ │ │ ├── CheckCompactionConfig.java │ │ │ ├── CheckServerConfig.java │ │ │ ├── NamespaceConfiguration.java │ │ │ ├── RuntimeFixedProperties.java │ │ │ ├── ServerConfiguration.java │ │ │ ├── ServerConfigurationFactory.java │ │ │ ├── SystemConfiguration.java │ │ │ ├── TableConfiguration.java │ │ │ ├── ZooBasedConfiguration.java │ │ │ ├── codec │ │ │ │ ├── EncodingOptions.java │ │ │ │ ├── VersionedPropCodec.java │ │ │ │ ├── VersionedPropGzipCodec.java │ │ │ │ └── VersionedProperties.java │ │ │ ├── store │ │ │ │ ├── IdBasedPropStoreKey.java │ │ │ │ ├── NamespacePropKey.java │ │ │ │ ├── PropCache.java │ │ │ │ ├── PropChangeListener.java │ │ │ │ ├── PropStore.java │ │ │ │ ├── PropStoreKey.java │ │ │ │ ├── SystemPropKey.java │ │ │ │ ├── TablePropKey.java │ │ │ │ └── impl │ │ │ │ │ ├── PropCacheCaffeineImpl.java │ │ │ │ │ ├── PropStoreEventTask.java │ │ │ │ │ ├── PropStoreWatcher.java │ │ │ │ │ ├── ReadyMonitor.java │ │ │ │ │ ├── ZooPropLoader.java │ │ │ │ │ └── ZooPropStore.java │ │ │ └── util │ │ │ │ ├── PropSnapshot.java │ │ │ │ ├── ZooInfoViewer.java │ │ │ │ └── ZooPropEditor.java │ │ │ ├── constraints │ │ │ ├── BulkFileColData.java │ │ │ ├── MetadataConstraints.java │ │ │ └── SystemEnvironment.java │ │ │ ├── data │ │ │ ├── ServerColumnUpdate.java │ │ │ ├── ServerConditionalMutation.java │ │ │ └── ServerMutation.java │ │ │ ├── fs │ │ │ ├── FileManager.java │ │ │ ├── InterfaceEvolutionWarner.java │ │ │ ├── TooManyFilesException.java │ │ │ ├── VolumeChooserEnvironmentImpl.java │ │ │ ├── VolumeManager.java │ │ │ ├── VolumeManagerImpl.java │ │ │ └── VolumeUtil.java │ │ │ ├── gc │ │ │ ├── AllVolumesDirectory.java │ │ │ └── GcVolumeUtil.java │ │ │ ├── init │ │ │ ├── FileSystemInitializer.java │ │ │ ├── InitialConfiguration.java │ │ │ ├── Initialize.java │ │ │ └── ZooKeeperInitializer.java │ │ │ ├── iterators │ │ │ ├── SystemIteratorEnvironment.java │ │ │ └── SystemIteratorEnvironmentImpl.java │ │ │ ├── log │ │ │ ├── SortedLogState.java │ │ │ └── WalStateManager.java │ │ │ ├── manager │ │ │ ├── LiveTServerSet.java │ │ │ ├── balancer │ │ │ │ └── BalancerEnvironmentImpl.java │ │ │ ├── recovery │ │ │ │ ├── HadoopLogCloser.java │ │ │ │ ├── LogCloser.java │ │ │ │ ├── NoOpLogCloser.java │ │ │ │ └── RecoveryPath.java │ │ │ └── state │ │ │ │ ├── AbstractTabletStateStore.java │ │ │ │ ├── Assignment.java │ │ │ │ ├── ClosableIterable.java │ │ │ │ ├── ClosableIterator.java │ │ │ │ ├── DeadServerList.java │ │ │ │ ├── DistributedStoreException.java │ │ │ │ ├── LoggingTabletStateStore.java │ │ │ │ ├── MetaDataStateStore.java │ │ │ │ ├── RootTabletStateStore.java │ │ │ │ ├── TabletGoalState.java │ │ │ │ ├── TabletManagementIterator.java │ │ │ │ ├── TabletManagementParameters.java │ │ │ │ ├── TabletManagementScanner.java │ │ │ │ ├── TabletServerState.java │ │ │ │ ├── TabletStateStore.java │ │ │ │ ├── UnassignedTablet.java │ │ │ │ └── ZooTabletStateStore.java │ │ │ ├── mem │ │ │ └── LowMemoryDetector.java │ │ │ ├── metadata │ │ │ ├── AsyncConditionalTabletsMutatorImpl.java │ │ │ ├── ConditionalTabletMutatorImpl.java │ │ │ ├── ConditionalTabletsMutatorImpl.java │ │ │ ├── RootConditionalWriter.java │ │ │ ├── RootGcCandidates.java │ │ │ ├── RootTabletMutatorImpl.java │ │ │ ├── ScanServerRefStoreImpl.java │ │ │ ├── ServerAmpleImpl.java │ │ │ ├── TabletMutatorImpl.java │ │ │ ├── TabletsMutatorImpl.java │ │ │ └── iterators │ │ │ │ ├── ColumnFamilySizeLimitIterator.java │ │ │ │ ├── ColumnFamilyTransformationIterator.java │ │ │ │ ├── CurrentLocationNotEqualToIterator.java │ │ │ │ ├── PresentIterator.java │ │ │ │ ├── SetEncodingIterator.java │ │ │ │ ├── TabletExistsIterator.java │ │ │ │ └── TabletMetadataCheckIterator.java │ │ │ ├── metrics │ │ │ ├── MeterRegistryEnvPropImpl.java │ │ │ ├── MetricResponseWrapper.java │ │ │ ├── MetricsInfoImpl.java │ │ │ ├── NoopMetrics.java │ │ │ ├── ProcessMetrics.java │ │ │ └── ThriftMetrics.java │ │ │ ├── problems │ │ │ └── ProblemReportingIterator.java │ │ │ ├── rpc │ │ │ ├── ClientInfoProcessorFactory.java │ │ │ ├── CustomNonBlockingServer.java │ │ │ ├── CustomThreadedSelectorServer.java │ │ │ ├── SaslServerConnectionParams.java │ │ │ ├── SaslServerDigestCallbackHandler.java │ │ │ ├── ServerAddress.java │ │ │ ├── TCredentialsUpdatingInvocationHandler.java │ │ │ ├── TCredentialsUpdatingWrapper.java │ │ │ ├── TServerUtils.java │ │ │ ├── ThriftProcessorTypes.java │ │ │ ├── ThriftServerType.java │ │ │ ├── TimedProcessor.java │ │ │ └── UGIAssumingProcessor.java │ │ │ ├── security │ │ │ ├── AuditedSecurityOperation.java │ │ │ ├── SecurityOperation.java │ │ │ ├── SecurityUtil.java │ │ │ ├── SystemCredentials.java │ │ │ ├── UserImpersonation.java │ │ │ ├── delegation │ │ │ │ ├── AuthenticationKey.java │ │ │ │ ├── AuthenticationTokenKeyManager.java │ │ │ │ ├── AuthenticationTokenSecretManager.java │ │ │ │ ├── ZooAuthenticationKeyDistributor.java │ │ │ │ └── ZooAuthenticationKeyWatcher.java │ │ │ └── handler │ │ │ │ ├── Authenticator.java │ │ │ │ ├── Authorizor.java │ │ │ │ ├── KerberosAuthenticator.java │ │ │ │ ├── KerberosAuthorizor.java │ │ │ │ ├── KerberosPermissionHandler.java │ │ │ │ ├── PermissionHandler.java │ │ │ │ ├── ZKAuthenticator.java │ │ │ │ ├── ZKAuthorizor.java │ │ │ │ ├── ZKPermHandler.java │ │ │ │ └── ZKSecurityTool.java │ │ │ ├── split │ │ │ └── SplitUtils.java │ │ │ ├── tables │ │ │ ├── IllegalTableTransitionException.java │ │ │ └── TableManager.java │ │ │ ├── tablets │ │ │ ├── ConditionCheckerContext.java │ │ │ ├── TabletNameGenerator.java │ │ │ ├── TabletTime.java │ │ │ └── UniqueNameAllocator.java │ │ │ ├── util │ │ │ ├── AccumuloStatus.java │ │ │ ├── ActionStatsUpdator.java │ │ │ ├── Admin.java │ │ │ ├── ChangeSecret.java │ │ │ ├── CheckForMetadataProblems.java │ │ │ ├── DeleteZooInstance.java │ │ │ ├── DumpZookeeper.java │ │ │ ├── ECAdmin.java │ │ │ ├── FindCompactionTmpFiles.java │ │ │ ├── FindOfflineTablets.java │ │ │ ├── Info.java │ │ │ ├── ListInstances.java │ │ │ ├── ListOnlineOnDemandTablets.java │ │ │ ├── ListVolumesUsed.java │ │ │ ├── LoginProperties.java │ │ │ ├── MetadataTableUtil.java │ │ │ ├── PortUtils.java │ │ │ ├── PropUtil.java │ │ │ ├── RandomWriter.java │ │ │ ├── RemoveEntriesForMissingFiles.java │ │ │ ├── RestoreZookeeper.java │ │ │ ├── ScanServerMetadataEntries.java │ │ │ ├── ServerBulkImportStatus.java │ │ │ ├── ServiceStatusCmd.java │ │ │ ├── SystemPropUtil.java │ │ │ ├── TableDiskUsage.java │ │ │ ├── TableInfoUtil.java │ │ │ ├── TabletServerLocks.java │ │ │ ├── UpgradeUtil.java │ │ │ ├── VerifyTabletAssignments.java │ │ │ ├── ZooKeeperMain.java │ │ │ ├── ZooZap.java │ │ │ ├── checkCommand │ │ │ │ ├── CheckRunner.java │ │ │ │ ├── MetadataCheckRunner.java │ │ │ │ ├── MetadataTableCheckRunner.java │ │ │ │ ├── RootMetadataCheckRunner.java │ │ │ │ ├── RootTableCheckRunner.java │ │ │ │ ├── SystemConfigCheckRunner.java │ │ │ │ ├── SystemFilesCheckRunner.java │ │ │ │ ├── TableLocksCheckRunner.java │ │ │ │ └── UserFilesCheckRunner.java │ │ │ ├── fateCommand │ │ │ │ ├── FateSummaryReport.java │ │ │ │ └── FateTxnDetails.java │ │ │ ├── serviceStatus │ │ │ │ ├── ServiceStatusReport.java │ │ │ │ └── StatusSummary.java │ │ │ ├── time │ │ │ │ ├── BaseRelativeTime.java │ │ │ │ ├── ProvidesTime.java │ │ │ │ ├── RelativeTime.java │ │ │ │ └── SystemTime.java │ │ │ └── upgrade │ │ │ │ ├── PreUpgradeValidation.java │ │ │ │ ├── UpgradeProgress.java │ │ │ │ └── UpgradeProgressTracker.java │ │ │ └── zookeeper │ │ │ ├── DistributedWorkQueue.java │ │ │ └── ZooAclUtil.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── accumulo │ │ │ └── server │ │ │ ├── MockServerContext.java │ │ │ ├── ServerContextTest.java │ │ │ ├── ServerDirsTest.java │ │ │ ├── ServiceEnvironmentImplTest.java │ │ │ ├── SetEncodingIteratorTest.java │ │ │ ├── WithTestNames.java │ │ │ ├── conf │ │ │ ├── AccumuloConfigurationIsPropertySetTest.java │ │ │ ├── CheckCompactionConfigTest.java │ │ │ ├── NamespaceConfigurationTest.java │ │ │ ├── RuntimeFixedPropertiesTest.java │ │ │ ├── ServerConfigurationFactoryTest.java │ │ │ ├── SystemConfigurationTest.java │ │ │ ├── TableConfigurationTest.java │ │ │ ├── ZooBasedConfigurationTest.java │ │ │ ├── codec │ │ │ │ ├── VersionedPropCodecTest.java │ │ │ │ ├── VersionedPropEncryptCodec.java │ │ │ │ ├── VersionedPropEncryptCodecTest.java │ │ │ │ ├── VersionedPropGzipCodecTest.java │ │ │ │ └── VersionedPropertiesTest.java │ │ │ ├── store │ │ │ │ ├── PropStoreKeyTest.java │ │ │ │ └── impl │ │ │ │ │ ├── PropCacheCaffeineImplTest.java │ │ │ │ │ ├── PropStoreEventTest.java │ │ │ │ │ ├── ReadyMonitorTest.java │ │ │ │ │ ├── ZooPropLoaderTest.java │ │ │ │ │ └── ZooPropStoreTest.java │ │ │ └── util │ │ │ │ ├── PropSnapshotTest.java │ │ │ │ ├── ZooInfoViewerTest.java │ │ │ │ └── ZooPropEditorTest.java │ │ │ ├── constraints │ │ │ └── MetadataConstraintsTest.java │ │ │ ├── data │ │ │ └── ServerMutationTest.java │ │ │ ├── fs │ │ │ ├── FileTypeTest.java │ │ │ ├── VolumeManagerImplTest.java │ │ │ └── VolumeUtilTest.java │ │ │ ├── init │ │ │ └── InitializeTest.java │ │ │ ├── manager │ │ │ ├── LiveTServerSetTest.java │ │ │ └── state │ │ │ │ ├── AbstractTabletStateStoreTest.java │ │ │ │ ├── TabletManagementIteratorTest.java │ │ │ │ ├── TabletManagementParametersTest.java │ │ │ │ ├── TabletManagementTest.java │ │ │ │ └── ZooTabletStateStoreTest.java │ │ │ ├── metadata │ │ │ └── ConditionalTabletsMutatorImplTest.java │ │ │ ├── metrics │ │ │ ├── MeterRegistryEnvPropImplTest.java │ │ │ ├── MetricsInfoImplTest.java │ │ │ ├── NoopMetricsTest.java │ │ │ └── ThriftMetricsTest.java │ │ │ ├── problems │ │ │ └── ProblemReportingIteratorTest.java │ │ │ ├── rpc │ │ │ ├── SaslDigestCallbackHandlerTest.java │ │ │ ├── SaslServerConnectionParamsTest.java │ │ │ ├── TCredentialsUpdatingInvocationHandlerTest.java │ │ │ ├── TServerUtilsTest.java │ │ │ └── ThriftServerTypeTest.java │ │ │ ├── security │ │ │ ├── SystemCredentialsTest.java │ │ │ ├── UserImpersonationTest.java │ │ │ ├── delegation │ │ │ │ ├── AuthenticationKeyTest.java │ │ │ │ ├── AuthenticationTokenKeyManagerTest.java │ │ │ │ ├── AuthenticationTokenSecretManagerTest.java │ │ │ │ ├── ZooAuthenticationKeyDistributorTest.java │ │ │ │ └── ZooAuthenticationKeyWatcherTest.java │ │ │ └── handler │ │ │ │ ├── ZKAuthenticatorTest.java │ │ │ │ └── ZKSecurityToolTest.java │ │ │ ├── split │ │ │ └── SplitUtilsTest.java │ │ │ ├── tables │ │ │ └── IllegalTableTransitionExceptionTest.java │ │ │ ├── tablets │ │ │ ├── LogicalTimeTest.java │ │ │ ├── MillisTimeTest.java │ │ │ ├── TabletNameGeneratorTest.java │ │ │ └── TabletTimeTest.java │ │ │ ├── util │ │ │ ├── AdminCommandsTest.java │ │ │ ├── AdminTest.java │ │ │ ├── PropUtilTest.java │ │ │ ├── ServiceStatusCmdTest.java │ │ │ ├── TableDiskUsageTest.java │ │ │ ├── fateCommand │ │ │ │ ├── SummaryReportTest.java │ │ │ │ └── TxnDetailsTest.java │ │ │ ├── serviceStatus │ │ │ │ └── ServiceStatusReportTest.java │ │ │ └── time │ │ │ │ └── BaseRelativeTimeTest.java │ │ │ └── zookeeper │ │ │ └── ZooAclUtilTest.java │ │ └── resources │ │ ├── accumulo.properties │ │ └── log4j2-test.properties ├── compactor │ ├── .gitignore │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── apache │ │ └── accumulo │ │ └── compactor │ │ ├── CompactionJobHolder.java │ │ ├── Compactor.java │ │ ├── CompactorExecutable.java │ │ └── ExtCEnv.java ├── gc │ ├── .gitignore │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── accumulo │ │ │ └── gc │ │ │ ├── GCExecutable.java │ │ │ ├── GCRun.java │ │ │ ├── GarbageCollectWriteAheadLogs.java │ │ │ ├── GarbageCollectionAlgorithm.java │ │ │ ├── GarbageCollectionEnvironment.java │ │ │ ├── SimpleGarbageCollector.java │ │ │ └── metrics │ │ │ ├── GcCycleMetrics.java │ │ │ └── GcMetrics.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── accumulo │ │ │ └── gc │ │ │ ├── GarbageCollectWriteAheadLogsTest.java │ │ │ ├── GarbageCollectionTest.java │ │ │ └── SimpleGarbageCollectorTest.java │ │ └── resources │ │ ├── accumulo.properties │ │ └── log4j2-test.properties ├── manager │ ├── .gitignore │ ├── pom.xml │ └── src │ │ ├── main │ │ └── java │ │ │ └── org │ │ │ └── apache │ │ │ └── accumulo │ │ │ └── manager │ │ │ ├── EventCoordinator.java │ │ │ ├── FateServiceHandler.java │ │ │ ├── Manager.java │ │ │ ├── ManagerClientServiceHandler.java │ │ │ ├── ManagerExecutable.java │ │ │ ├── ManagerTime.java │ │ │ ├── TableStateWatcher.java │ │ │ ├── TabletGroupWatcher.java │ │ │ ├── compaction │ │ │ ├── coordinator │ │ │ │ ├── CompactionCoordinator.java │ │ │ │ ├── CompactionReservationCheck.java │ │ │ │ ├── DeadCompactionDetector.java │ │ │ │ ├── QueueMetrics.java │ │ │ │ └── commit │ │ │ │ │ ├── CommitCompaction.java │ │ │ │ │ ├── CompactionCommitData.java │ │ │ │ │ ├── PutGcCandidates.java │ │ │ │ │ ├── RefreshTablet.java │ │ │ │ │ └── RenameCompactionFile.java │ │ │ └── queue │ │ │ │ ├── CompactionJobPriorityQueue.java │ │ │ │ ├── CompactionJobQueues.java │ │ │ │ ├── ResolvedCompactionJob.java │ │ │ │ └── SizeTrackingTreeMap.java │ │ │ ├── merge │ │ │ └── FindMergeableRangeTask.java │ │ │ ├── metrics │ │ │ ├── BalancerMetrics.java │ │ │ ├── ManagerMetrics.java │ │ │ └── fate │ │ │ │ ├── FateMetricValues.java │ │ │ │ ├── FateMetrics.java │ │ │ │ ├── meta │ │ │ │ ├── MetaFateMetricValues.java │ │ │ │ └── MetaFateMetrics.java │ │ │ │ └── user │ │ │ │ ├── UserFateMetricValues.java │ │ │ │ └── UserFateMetrics.java │ │ │ ├── recovery │ │ │ └── RecoveryManager.java │ │ │ ├── split │ │ │ └── Splitter.java │ │ │ ├── state │ │ │ ├── SetGoalState.java │ │ │ ├── TableCounts.java │ │ │ └── TableStats.java │ │ │ ├── tableOps │ │ │ ├── ChangeTableState.java │ │ │ ├── ManagerRepo.java │ │ │ ├── TableInfo.java │ │ │ ├── TraceRepo.java │ │ │ ├── Utils.java │ │ │ ├── availability │ │ │ │ ├── LockTable.java │ │ │ │ └── SetTabletAvailability.java │ │ │ ├── bulkVer2 │ │ │ │ ├── BulkImportMove.java │ │ │ │ ├── BulkInfo.java │ │ │ │ ├── CleanUpBulkImport.java │ │ │ │ ├── LoadFiles.java │ │ │ │ ├── PrepBulkImport.java │ │ │ │ ├── RefreshTablets.java │ │ │ │ └── TabletRefresher.java │ │ │ ├── clone │ │ │ │ ├── CloneInfo.java │ │ │ │ ├── CloneMetadata.java │ │ │ │ ├── ClonePermissions.java │ │ │ │ ├── CloneTable.java │ │ │ │ ├── CloneZookeeper.java │ │ │ │ └── FinishCloneTable.java │ │ │ ├── compact │ │ │ │ ├── CleanUp.java │ │ │ │ ├── CompactRange.java │ │ │ │ ├── CompactionDriver.java │ │ │ │ ├── RefreshTablets.java │ │ │ │ └── cancel │ │ │ │ │ ├── CancelCompactions.java │ │ │ │ │ └── FinishCancelCompaction.java │ │ │ ├── create │ │ │ │ ├── ChooseDir.java │ │ │ │ ├── CreateTable.java │ │ │ │ ├── FinishCreateTable.java │ │ │ │ ├── PopulateMetadata.java │ │ │ │ ├── PopulateZookeeper.java │ │ │ │ └── SetupPermissions.java │ │ │ ├── delete │ │ │ │ ├── CleanUp.java │ │ │ │ ├── DeleteTable.java │ │ │ │ ├── PreDeleteTable.java │ │ │ │ └── ReserveTablets.java │ │ │ ├── merge │ │ │ │ ├── CountFiles.java │ │ │ │ ├── DeleteRows.java │ │ │ │ ├── DeleteTablets.java │ │ │ │ ├── FinishTableRangeOp.java │ │ │ │ ├── MergeInfo.java │ │ │ │ ├── MergeTablets.java │ │ │ │ ├── ReserveTablets.java │ │ │ │ ├── TableRangeOp.java │ │ │ │ ├── UnreserveAndError.java │ │ │ │ ├── UnreserveSystemMerge.java │ │ │ │ └── VerifyMergeability.java │ │ │ ├── namespace │ │ │ │ ├── create │ │ │ │ │ ├── CreateNamespace.java │ │ │ │ │ ├── FinishCreateNamespace.java │ │ │ │ │ ├── NamespaceInfo.java │ │ │ │ │ ├── PopulateZookeeperWithNamespace.java │ │ │ │ │ └── SetupNamespacePermissions.java │ │ │ │ ├── delete │ │ │ │ │ ├── DeleteNamespace.java │ │ │ │ │ └── NamespaceCleanUp.java │ │ │ │ └── rename │ │ │ │ │ └── RenameNamespace.java │ │ │ ├── rename │ │ │ │ └── RenameTable.java │ │ │ ├── split │ │ │ │ ├── AllocateDirsAndEnsureOnline.java │ │ │ │ ├── DeleteOperationIds.java │ │ │ │ ├── FindSplits.java │ │ │ │ ├── PreSplit.java │ │ │ │ ├── SplitInfo.java │ │ │ │ └── UpdateTablets.java │ │ │ ├── tableExport │ │ │ │ ├── ExportInfo.java │ │ │ │ ├── ExportTable.java │ │ │ │ └── WriteExportFiles.java │ │ │ └── tableImport │ │ │ │ ├── CreateImportDir.java │ │ │ │ ├── FinishImportTable.java │ │ │ │ ├── ImportPopulateZookeeper.java │ │ │ │ ├── ImportSetupPermissions.java │ │ │ │ ├── ImportTable.java │ │ │ │ ├── ImportedTableInfo.java │ │ │ │ ├── MapImportFileNames.java │ │ │ │ ├── MoveExportedFiles.java │ │ │ │ └── PopulateMetadataTable.java │ │ │ ├── tserverOps │ │ │ └── ShutdownTServer.java │ │ │ └── upgrade │ │ │ ├── SplitRecovery12to13.java │ │ │ ├── UpgradeCoordinator.java │ │ │ ├── Upgrader.java │ │ │ ├── Upgrader10to11.java │ │ │ ├── Upgrader11to12.java │ │ │ └── Upgrader12to13.java │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── accumulo │ │ │ └── manager │ │ │ ├── ManagerTimeTest.java │ │ │ ├── WithTestNames.java │ │ │ ├── compaction │ │ │ ├── CompactionCoordinatorTest.java │ │ │ ├── CompactionReservationCheckTest.java │ │ │ ├── coordinator │ │ │ │ └── commit │ │ │ │ │ └── CommitCompactionTest.java │ │ │ └── queue │ │ │ │ ├── CompactionJobPriorityQueueTest.java │ │ │ │ ├── CompactionJobQueuesTest.java │ │ │ │ └── SizeTrackingTreeMapTest.java │ │ │ ├── metrics │ │ │ └── fate │ │ │ │ └── meta │ │ │ │ └── MetaFateMetricValuesTest.java │ │ │ ├── tableOps │ │ │ ├── ShutdownTServerTest.java │ │ │ ├── bulkVer2 │ │ │ │ ├── LoadFilesTest.java │ │ │ │ └── PrepBulkImportTest.java │ │ │ ├── compact │ │ │ │ └── CompactionDriverTest.java │ │ │ ├── merge │ │ │ │ ├── DeleteRowsTest.java │ │ │ │ └── MergeTabletsTest.java │ │ │ ├── split │ │ │ │ ├── FileInfoTest.java │ │ │ │ └── UpdateTabletsTest.java │ │ │ └── tableImport │ │ │ │ └── ImportTableTest.java │ │ │ └── upgrade │ │ │ ├── AccumuloTest.java │ │ │ ├── UpgradeProgressTest.java │ │ │ ├── Upgrader10to11Test.java │ │ │ ├── Upgrader11to12Test.java │ │ │ └── Upgrader12to13Test.java │ │ └── resources │ │ ├── accumulo.properties │ │ └── log4j2-test.properties ├── monitor │ ├── .gitignore │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── appended-resources │ │ │ └── META-INF │ │ │ │ └── LICENSE │ │ ├── java │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── accumulo │ │ │ │ └── monitor │ │ │ │ ├── EmbeddedWebServer.java │ │ │ │ ├── Monitor.java │ │ │ │ ├── MonitorExecutable.java │ │ │ │ ├── next │ │ │ │ ├── CustomObjectMapper.java │ │ │ │ ├── Endpoints.java │ │ │ │ ├── InformationFetcher.java │ │ │ │ ├── SystemInformation.java │ │ │ │ ├── WebApplicationExceptionMapper.java │ │ │ │ └── serializers │ │ │ │ │ ├── CumulativeDistributionSummarySerializer.java │ │ │ │ │ ├── FMetricSerializer.java │ │ │ │ │ ├── IdSerializer.java │ │ │ │ │ ├── MetricResponseSerializer.java │ │ │ │ │ ├── TabletIdSerializer.java │ │ │ │ │ └── ThriftSerializer.java │ │ │ │ ├── rest │ │ │ │ ├── SummaryInformation.java │ │ │ │ ├── Totals.java │ │ │ │ ├── XMLResource.java │ │ │ │ ├── bulkImports │ │ │ │ │ ├── BulkImport.java │ │ │ │ │ ├── BulkImportInformation.java │ │ │ │ │ ├── BulkImportResource.java │ │ │ │ │ └── TabletServerBulkImportInformation.java │ │ │ │ ├── compactions │ │ │ │ │ ├── CompactionInfo.java │ │ │ │ │ ├── Compactions.java │ │ │ │ │ ├── CompactionsResource.java │ │ │ │ │ └── external │ │ │ │ │ │ ├── CompactionInputFile.java │ │ │ │ │ │ ├── CompactorInfo.java │ │ │ │ │ │ ├── Compactors.java │ │ │ │ │ │ ├── CoordinatorInfo.java │ │ │ │ │ │ ├── ECResource.java │ │ │ │ │ │ ├── ExternalCompactionInfo.java │ │ │ │ │ │ ├── RunningCompactions.java │ │ │ │ │ │ └── RunningCompactorDetails.java │ │ │ │ ├── gc │ │ │ │ │ ├── GarbageCollectorResource.java │ │ │ │ │ ├── GarbageCollectorStats.java │ │ │ │ │ └── GarbageCollectorStatus.java │ │ │ │ ├── logs │ │ │ │ │ ├── DeadLoggerInformation.java │ │ │ │ │ └── DeadLoggerList.java │ │ │ │ ├── manager │ │ │ │ │ ├── ManagerInformation.java │ │ │ │ │ └── ManagerResource.java │ │ │ │ ├── scans │ │ │ │ │ ├── ScanInformation.java │ │ │ │ │ ├── Scans.java │ │ │ │ │ └── ScansResource.java │ │ │ │ ├── statistics │ │ │ │ │ └── StatisticsResource.java │ │ │ │ ├── status │ │ │ │ │ ├── StatusInformation.java │ │ │ │ │ └── StatusResource.java │ │ │ │ ├── tables │ │ │ │ │ ├── CompactionsList.java │ │ │ │ │ ├── CompactionsTypes.java │ │ │ │ │ ├── TableInformation.java │ │ │ │ │ ├── TableInformationList.java │ │ │ │ │ ├── TableNamespace.java │ │ │ │ │ ├── TablesList.java │ │ │ │ │ └── TablesResource.java │ │ │ │ ├── trace │ │ │ │ │ └── RecoveryStatusInformation.java │ │ │ │ └── tservers │ │ │ │ │ ├── AllTimeTabletResults.java │ │ │ │ │ ├── BadTabletServerInformation.java │ │ │ │ │ ├── BadTabletServers.java │ │ │ │ │ ├── CurrentOperations.java │ │ │ │ │ ├── CurrentTabletResults.java │ │ │ │ │ ├── DeadServerInformation.java │ │ │ │ │ ├── DeadServerList.java │ │ │ │ │ ├── ServerShuttingDownInformation.java │ │ │ │ │ ├── ServerStat.java │ │ │ │ │ ├── ServerStats.java │ │ │ │ │ ├── ServersShuttingDown.java │ │ │ │ │ ├── TabletServer.java │ │ │ │ │ ├── TabletServerDetailInformation.java │ │ │ │ │ ├── TabletServerInformation.java │ │ │ │ │ ├── TabletServerRecoveryInformation.java │ │ │ │ │ ├── TabletServerResource.java │ │ │ │ │ ├── TabletServerSummary.java │ │ │ │ │ ├── TabletServerWithTableInformation.java │ │ │ │ │ ├── TabletServers.java │ │ │ │ │ └── TabletServersRecovery.java │ │ │ │ ├── util │ │ │ │ ├── JaxbAbstractIdSerializer.java │ │ │ │ └── ParameterValidator.java │ │ │ │ └── view │ │ │ │ └── WebViews.java │ │ ├── javadoc │ │ │ └── META-INF │ │ │ │ └── LICENSE │ │ ├── resources │ │ │ └── org │ │ │ │ └── apache │ │ │ │ └── accumulo │ │ │ │ └── monitor │ │ │ │ ├── resources │ │ │ │ ├── css │ │ │ │ │ └── screen.css │ │ │ │ ├── external │ │ │ │ │ ├── bootstrap │ │ │ │ │ │ ├── css │ │ │ │ │ │ │ ├── bootstrap-icons.css │ │ │ │ │ │ │ └── bootstrap.css │ │ │ │ │ │ ├── fonts │ │ │ │ │ │ │ ├── bootstrap-icons.woff │ │ │ │ │ │ │ └── bootstrap-icons.woff2 │ │ │ │ │ │ └── js │ │ │ │ │ │ │ └── bootstrap.bundle.js │ │ │ │ │ ├── datatables │ │ │ │ │ │ ├── css │ │ │ │ │ │ │ └── dataTables.bootstrap5.css │ │ │ │ │ │ └── js │ │ │ │ │ │ │ ├── dataTables.bootstrap5.js │ │ │ │ │ │ │ └── jquery.dataTables.js │ │ │ │ │ └── jquery │ │ │ │ │ │ └── jquery-3.7.1.js │ │ │ │ ├── images │ │ │ │ │ ├── accumulo-avatar.png │ │ │ │ │ ├── accumulo-logo.png │ │ │ │ │ ├── details_close.png │ │ │ │ │ ├── details_open.png │ │ │ │ │ └── favicon.png │ │ │ │ └── js │ │ │ │ │ ├── bulkImport.js │ │ │ │ │ ├── compactions.js │ │ │ │ │ ├── ec.js │ │ │ │ │ ├── functions.js │ │ │ │ │ ├── gc.js │ │ │ │ │ ├── global.js │ │ │ │ │ ├── manager.js │ │ │ │ │ ├── modals.js │ │ │ │ │ ├── navbar.js │ │ │ │ │ ├── overview.js │ │ │ │ │ ├── scans.js │ │ │ │ │ ├── server.js │ │ │ │ │ ├── systemAlert.js │ │ │ │ │ ├── table.js │ │ │ │ │ └── tservers.js │ │ │ │ └── templates │ │ │ │ ├── bulkImport.ftl │ │ │ │ ├── compactions.ftl │ │ │ │ ├── default.ftl │ │ │ │ ├── ec.ftl │ │ │ │ ├── gc.ftl │ │ │ │ ├── manager.ftl │ │ │ │ ├── modals.ftl │ │ │ │ ├── navbar.ftl │ │ │ │ ├── overview.ftl │ │ │ │ ├── scans.ftl │ │ │ │ ├── server.ftl │ │ │ │ ├── systemAlert.ftl │ │ │ │ ├── table.ftl │ │ │ │ ├── tables.ftl │ │ │ │ └── tservers.ftl │ │ └── scripts │ │ │ └── format-js.sh │ │ └── test │ │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── accumulo │ │ │ └── monitor │ │ │ ├── it │ │ │ ├── TagNameConstants.java │ │ │ └── WebViewsIT.java │ │ │ ├── rest │ │ │ └── tservers │ │ │ │ └── TabletServerInformationTest.java │ │ │ └── util │ │ │ └── ParameterValidatorTest.java │ │ └── resources │ │ └── log4j2-test.properties ├── native │ ├── .gitignore │ ├── pom.xml │ └── src │ │ ├── main │ │ ├── assemblies │ │ │ ├── component.xml │ │ │ ├── native-dir.xml │ │ │ └── native-tarball.xml │ │ ├── c++ │ │ │ └── nativeMap │ │ │ │ ├── BlockAllocator.h │ │ │ │ ├── Field.h │ │ │ │ ├── Key.h │ │ │ │ ├── NativeMap.h │ │ │ │ ├── SubKey.h │ │ │ │ └── org_apache_accumulo_tserver_NativeMap.cc │ │ └── resources │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ └── NOTICE │ │ └── test │ │ └── c++ │ │ └── nativeMap │ │ ├── test.cc │ │ ├── util.cc │ │ └── util.h └── tserver │ ├── .gitignore │ ├── pom.xml │ └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── accumulo │ │ └── tserver │ │ ├── ActiveAssignmentRunnable.java │ │ ├── AssignmentHandler.java │ │ ├── BlockCacheMetrics.java │ │ ├── BusiestTracker.java │ │ ├── ConditionalMutationSet.java │ │ ├── HoldTimeoutException.java │ │ ├── InMemoryMap.java │ │ ├── MemKey.java │ │ ├── MemKeyComparator.java │ │ ├── MemKeyConversionIterator.java │ │ ├── MemValue.java │ │ ├── MinorCompactionReason.java │ │ ├── NativeMap.java │ │ ├── NativeMapCleanerUtil.java │ │ ├── OnlineTablets.java │ │ ├── PartialMutationSkippingIterator.java │ │ ├── RowLocks.java │ │ ├── RunnableStartedAt.java │ │ ├── ScanServer.java │ │ ├── ScanServerExecutable.java │ │ ├── ScanServerMetrics.java │ │ ├── TServerExecutable.java │ │ ├── TabletClientHandler.java │ │ ├── TabletHostingServer.java │ │ ├── TabletMutations.java │ │ ├── TabletServer.java │ │ ├── TabletServerResourceManager.java │ │ ├── TabletStatsKeeper.java │ │ ├── ThriftScanClientHandler.java │ │ ├── TservConstraintEnv.java │ │ ├── UnloadTabletHandler.java │ │ ├── WriteTracker.java │ │ ├── constraints │ │ ├── ConstraintChecker.java │ │ ├── SystemConstraint.java │ │ └── UnsatisfiableConstraint.java │ │ ├── log │ │ ├── CloseableIterator.java │ │ ├── DfsLogger.java │ │ ├── LogSorter.java │ │ ├── MutationReceiver.java │ │ ├── RecoveryLogsIterator.java │ │ ├── ResolvedSortedLog.java │ │ ├── SortedLogRecovery.java │ │ └── TabletServerLogger.java │ │ ├── logger │ │ ├── LogEvents.java │ │ ├── LogFileKey.java │ │ ├── LogFileValue.java │ │ └── LogReader.java │ │ ├── managermessage │ │ ├── ManagerMessage.java │ │ └── TabletStatusMessage.java │ │ ├── memory │ │ ├── LargestFirstMemoryManager.java │ │ ├── NativeMapLoader.java │ │ └── TabletMemoryReport.java │ │ ├── metrics │ │ ├── TabletServerMetrics.java │ │ ├── TabletServerMetricsUtil.java │ │ ├── TabletServerMinCMetrics.java │ │ ├── TabletServerScanMetrics.java │ │ └── TabletServerUpdateMetrics.java │ │ ├── scan │ │ ├── LookupTask.java │ │ ├── NextBatchTask.java │ │ ├── ScanParameters.java │ │ ├── ScanRunState.java │ │ └── ScanTask.java │ │ ├── session │ │ ├── ConditionalSession.java │ │ ├── MultiScanSession.java │ │ ├── ScanSession.java │ │ ├── Session.java │ │ ├── SessionManager.java │ │ ├── SingleScanSession.java │ │ ├── SummarySession.java │ │ └── UpdateSession.java │ │ ├── tablet │ │ ├── Batch.java │ │ ├── CommitSession.java │ │ ├── KVEntry.java │ │ ├── MinCEnv.java │ │ ├── MinorCompactionTask.java │ │ ├── MinorCompactor.java │ │ ├── PreparedMutations.java │ │ ├── Rate.java │ │ ├── ScanBatch.java │ │ ├── ScanDataSource.java │ │ ├── ScanfileManager.java │ │ ├── Scanner.java │ │ ├── SnapshotTablet.java │ │ ├── Tablet.java │ │ ├── TabletBase.java │ │ ├── TabletClosedException.java │ │ └── TabletMemory.java │ │ └── util │ │ └── CreateEmpty.java │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── accumulo │ │ └── tserver │ │ ├── AssignmentWatcherTest.java │ │ ├── BusiestTrackerTest.java │ │ ├── CheckTabletMetadataTest.java │ │ ├── CountingIteratorTest.java │ │ ├── DefaultOnDemandTabletUnloaderTest.java │ │ ├── InMemoryMapTest.java │ │ ├── MemValueTest.java │ │ ├── ScanServerTest.java │ │ ├── TabletResourceManagerTest.java │ │ ├── TabletServerSyncCheckTest.java │ │ ├── TservConstraintEnvTest.java │ │ ├── WalRemovalOrderTest.java │ │ ├── WithTestNames.java │ │ ├── compaction │ │ └── CompactableUtilsTest.java │ │ ├── constraints │ │ └── ConstraintCheckerTest.java │ │ ├── log │ │ ├── DfsLoggerTest.java │ │ ├── LogEventsTest.java │ │ ├── LogFileKeyTest.java │ │ ├── RecoveryLogsIteratorTest.java │ │ ├── SortedLogRecoveryTest.java │ │ └── TestUpgradePathForWALogs.java │ │ ├── logger │ │ └── LogFileTest.java │ │ ├── memory │ │ └── LargestFirstMemoryManagerTest.java │ │ ├── session │ │ └── SessionManagerTest.java │ │ ├── tablet │ │ └── TabletMutationPrepAttemptTest.java │ │ └── util │ │ └── CreateEmptyTest.java │ └── resources │ ├── log4j2-test.properties │ ├── walog-from-14 │ └── 550e8400-e29b-41d4-a716-446655440000 │ ├── walog-from-15.walog │ ├── walog-from-16.walog │ └── walog-from-20.walog ├── shell ├── .gitignore ├── pom.xml └── src │ ├── main │ └── java │ │ └── org │ │ └── apache │ │ └── accumulo │ │ └── shell │ │ ├── Shell.java │ │ ├── ShellCommandException.java │ │ ├── ShellCompletor.java │ │ ├── ShellExtension.java │ │ ├── ShellOptions.java │ │ ├── ShellOptionsJC.java │ │ ├── ShellUtil.java │ │ ├── Token.java │ │ ├── commands │ │ ├── AboutCommand.java │ │ ├── ActiveCompactionHelper.java │ │ ├── AddAuthsCommand.java │ │ ├── AddSplitsCommand.java │ │ ├── AuthenticateCommand.java │ │ ├── BulkImportListIterator.java │ │ ├── ByeCommand.java │ │ ├── ClasspathCommand.java │ │ ├── ClearCommand.java │ │ ├── CloneTableCommand.java │ │ ├── ClsCommand.java │ │ ├── CompactCommand.java │ │ ├── ConfigCommand.java │ │ ├── ConstraintCommand.java │ │ ├── CreateNamespaceCommand.java │ │ ├── CreateTableCommand.java │ │ ├── CreateUserCommand.java │ │ ├── DUCommand.java │ │ ├── DeleteAuthsCommand.java │ │ ├── DeleteCommand.java │ │ ├── DeleteIterCommand.java │ │ ├── DeleteManyCommand.java │ │ ├── DeleteNamespaceCommand.java │ │ ├── DeleteRowsCommand.java │ │ ├── DeleteShellIterCommand.java │ │ ├── DeleteTableCommand.java │ │ ├── DeleteUserCommand.java │ │ ├── DropTableCommand.java │ │ ├── DropUserCommand.java │ │ ├── EGrepCommand.java │ │ ├── ExecfileCommand.java │ │ ├── ExitCommand.java │ │ ├── ExportTableCommand.java │ │ ├── ExtensionCommand.java │ │ ├── FlushCommand.java │ │ ├── FormatterCommand.java │ │ ├── GetAuthsCommand.java │ │ ├── GetAvailabilityCommand.java │ │ ├── GetGroupsCommand.java │ │ ├── GetSplitsCommand.java │ │ ├── GrantCommand.java │ │ ├── GrepCommand.java │ │ ├── HelpCommand.java │ │ ├── HiddenCommand.java │ │ ├── HistoryCommand.java │ │ ├── ImportDirectoryCommand.java │ │ ├── ImportTableCommand.java │ │ ├── InfoCommand.java │ │ ├── InsertCommand.java │ │ ├── ListBulkCommand.java │ │ ├── ListCompactionsCommand.java │ │ ├── ListIterCommand.java │ │ ├── ListScansCommand.java │ │ ├── ListShellIterCommand.java │ │ ├── ListTabletsCommand.java │ │ ├── MaxRowCommand.java │ │ ├── MergeCommand.java │ │ ├── NamespacePermissionsCommand.java │ │ ├── NamespacesCommand.java │ │ ├── NoTableCommand.java │ │ ├── OfflineCommand.java │ │ ├── OnlineCommand.java │ │ ├── OptUtil.java │ │ ├── PasswdCommand.java │ │ ├── PingCommand.java │ │ ├── PingIterator.java │ │ ├── QuestionCommand.java │ │ ├── QuitCommand.java │ │ ├── QuotedStringTokenizer.java │ │ ├── RenameNamespaceCommand.java │ │ ├── RenameTableCommand.java │ │ ├── RevokeCommand.java │ │ ├── ScanCommand.java │ │ ├── SetAuthsCommand.java │ │ ├── SetAvailabilityCommand.java │ │ ├── SetGroupsCommand.java │ │ ├── SetIterCommand.java │ │ ├── SetShellIterCommand.java │ │ ├── ShellPluginConfigurationCommand.java │ │ ├── SleepCommand.java │ │ ├── SummariesCommand.java │ │ ├── SystemPermissionsCommand.java │ │ ├── TableCommand.java │ │ ├── TableOperation.java │ │ ├── TablePermissionsCommand.java │ │ ├── TablesCommand.java │ │ ├── TraceCommand.java │ │ ├── UserCommand.java │ │ ├── UserPermissionsCommand.java │ │ ├── UsersCommand.java │ │ └── WhoAmICommand.java │ │ └── format │ │ └── DeleterFormatter.java │ └── test │ ├── java │ └── org │ │ └── apache │ │ └── accumulo │ │ └── shell │ │ ├── ShellConfigTest.java │ │ ├── ShellOptionsJCTest.java │ │ ├── ShellUtilTest.java │ │ ├── commands │ │ ├── CompactCommandTest.java │ │ ├── DeleteAuthsCommandTest.java │ │ ├── DeleteManyCommandTest.java │ │ ├── DeleteRowsCommandTest.java │ │ ├── DeleteTableCommandTest.java │ │ ├── DropUserCommandTest.java │ │ ├── FlushCommandTest.java │ │ ├── GetAuthsCommandTest.java │ │ ├── HistoryCommandTest.java │ │ ├── ImportDirectoryCommandTest.java │ │ ├── ListBulkCommandTest.java │ │ ├── ListCompactionsCommandTest.java │ │ ├── ListScansCommandTest.java │ │ ├── ListTabletsCommandTest.java │ │ ├── MergeCommandTest.java │ │ ├── ScanCommandTest.java │ │ └── SetIterCommandTest.java │ │ └── format │ │ └── DeleterFormatterTest.java │ └── resources │ └── log4j2-test.properties ├── src └── build │ ├── ci │ ├── find-startMini-without-stopMini.sh │ ├── find-unapproved-abstract-ITs.sh │ ├── find-unapproved-chars.sh │ ├── find-unapproved-junit.sh │ ├── install-shfmt.sh │ ├── install-thrift.sh │ ├── it-matrix.sh │ ├── run-shellcheck.sh │ ├── run-shfmt.sh │ └── run-thrift.sh │ ├── create-release-candidate.sh │ ├── eclipse-codestyle.xml │ └── license-header.txt ├── start ├── .gitignore ├── pom.xml └── src │ ├── main │ ├── java │ │ └── org │ │ │ └── apache │ │ │ └── accumulo │ │ │ └── start │ │ │ ├── Main.java │ │ │ ├── TestMain.java │ │ │ ├── spi │ │ │ └── KeywordExecutable.java │ │ │ └── util │ │ │ └── MiniDFSUtil.java │ └── spotbugs │ │ └── exclude-filter.xml │ └── test │ ├── java │ └── test │ │ ├── HelloWorldTemplate │ │ ├── Test.java │ │ └── TestTemplate │ ├── resources │ └── log4j2-test.properties │ └── shell │ ├── makeHelloWorldJars.sh │ └── makeTestJars.sh └── test ├── .gitignore ├── pom.xml └── src ├── main ├── java │ └── org │ │ └── apache │ │ └── accumulo │ │ ├── harness │ │ ├── AccumuloClusterHarness.java │ │ ├── AccumuloITBase.java │ │ ├── MiniClusterConfigurationCallback.java │ │ ├── MiniClusterHarness.java │ │ ├── SharedMiniClusterBase.java │ │ ├── TestingKdc.java │ │ ├── Timeout.java │ │ ├── WithTestNames.java │ │ └── conf │ │ │ ├── AccumuloClusterConfiguration.java │ │ │ ├── AccumuloClusterPropertyConfiguration.java │ │ │ ├── AccumuloMiniClusterConfiguration.java │ │ │ └── StandaloneAccumuloClusterConfiguration.java │ │ ├── suites │ │ └── SimpleSharedMacTestSuiteIT.java │ │ └── test │ │ ├── AdminCheckIT_SimpleSuite.java │ │ ├── AmpleIT.java │ │ ├── AuditMessageIT.java │ │ ├── BadDeleteMarkersCreatedIT.java │ │ ├── BalanceIT.java │ │ ├── BalanceWithOfflineTableIT.java │ │ ├── BatchWriterIT.java │ │ ├── BatchWriterInTabletServerIT.java │ │ ├── BatchWriterIterator.java │ │ ├── BrokenBalancerIT.java │ │ ├── BulkImportSequentialRowsIT.java │ │ ├── ChaoticLoadBalancer.java │ │ ├── CleanWalIT.java │ │ ├── ClientSideIteratorIT.java │ │ ├── CloneIT_SimpleSuite.java │ │ ├── CloseScannerIT.java │ │ ├── ComprehensiveFlakyAmpleIT.java │ │ ├── ComprehensiveFlakyFateIT.java │ │ ├── ComprehensiveITBase.java │ │ ├── ComprehensiveIT_SimpleSuite.java │ │ ├── ConditionalWriterIT.java │ │ ├── CorruptMutationIT.java │ │ ├── CountNameNodeOpsBulkIT.java │ │ ├── CreateTableIT_SimpleSuite.java │ │ ├── DeprecatedPropertyUtilIT.java │ │ ├── DetectDeadTabletServersIT.java │ │ ├── DumpConfigIT.java │ │ ├── ECAdminIT.java │ │ ├── ExistingMacIT.java │ │ ├── FairVolumeChooser.java │ │ ├── FindMaxIT.java │ │ ├── GCRunIT_SimpleSuite.java │ │ ├── GarbageCollectWALIT.java │ │ ├── GenerateSequentialRFile.java │ │ ├── GetManagerStats.java │ │ ├── HardListIterator.java │ │ ├── ImportExportIT.java │ │ ├── InMemoryMapIT.java │ │ ├── InstanceOperationsIT.java │ │ ├── InterruptibleScannersIT.java │ │ ├── IsolationAndDeepCopyIT.java │ │ ├── IteratorEnvIT.java │ │ ├── KeyValueEqualityIT.java │ │ ├── LargeReadIT.java │ │ ├── LargeSplitRowIT.java │ │ ├── LocatorIT.java │ │ ├── MaxWalReferencedIT.java │ │ ├── MetaConstraintRetryIT.java │ │ ├── MetaGetsReadersIT.java │ │ ├── MetaRecoveryIT.java │ │ ├── MetaSplitIT.java │ │ ├── MissingWalHeaderCompletesRecoveryIT.java │ │ ├── MultiTableBatchWriterIT_SimpleSuite.java │ │ ├── MultiTableRecoveryIT.java │ │ ├── NamespacesIT_SimpleSuite.java │ │ ├── NewTableConfigurationIT_SimpleSuite.java │ │ ├── OfflineTableIT.java │ │ ├── OrIteratorIT_SimpleSuite.java │ │ ├── PrintInfoIT_SimpleSuite.java │ │ ├── RecoveryCompactionsAreFlushesIT.java │ │ ├── RecoveryIT.java │ │ ├── RootRecoveryIT.java │ │ ├── SampleIT_SimpleSuite.java │ │ ├── ScanConsistencyIT.java │ │ ├── ScanFlushWithTimeIT.java │ │ ├── ScanServerConcurrentTabletScanIT.java │ │ ├── ScanServerGroupConfigurationIT.java │ │ ├── ScanServerIT.java │ │ ├── ScanServerMaxLatencyIT.java │ │ ├── ScanServerMetadataEntriesCleanIT_SimpleSuite.java │ │ ├── ScanServerMetadataEntriesIT.java │ │ ├── ScanServerMultipleScansIT.java │ │ ├── ScanServerShutdownIT.java │ │ ├── ScanServer_NoServersIT.java │ │ ├── SelfStoppingScanServer.java │ │ ├── TableConfigurationUpdateIT.java │ │ ├── TableOperationsIT.java │ │ ├── TabletServerGivesUpIT.java │ │ ├── TabletServerHdfsRestartIT.java │ │ ├── TestBinaryRows.java │ │ ├── TestDualAssignment.java │ │ ├── TestIngest.java │ │ ├── TestMultiTableIngest.java │ │ ├── TestRandomDeletes.java │ │ ├── ThriftServerBindsBeforeZooKeeperLockIT.java │ │ ├── TotalQueuedIT.java │ │ ├── TransportCachingIT.java │ │ ├── UnusedWALIT.java │ │ ├── UsersIT.java │ │ ├── VerifyIngest.java │ │ ├── VerifySerialRecoveryIT.java │ │ ├── VolumeChooserIT.java │ │ ├── VolumeFlakyAmpleIT.java │ │ ├── VolumeIT.java │ │ ├── VolumeITBase.java │ │ ├── VolumeManagerIT.java │ │ ├── WaitForBalanceIT.java │ │ ├── WriteAfterCloseIT.java │ │ ├── YieldScannersIT.java │ │ ├── ZombieScanIT.java │ │ ├── ZooKeeperPropertiesIT_SimpleSuite.java │ │ ├── ample │ │ ├── FlakyAmpleManager.java │ │ ├── FlakyAmpleServerContext.java │ │ ├── FlakyAmpleTserver.java │ │ ├── FlakyInterceptor.java │ │ ├── TestAmpleIT_SimpleSuite.java │ │ ├── TestAmpleUtil.java │ │ ├── metadata │ │ │ ├── ConditionalWriterDelegator.java │ │ │ ├── ConditionalWriterInterceptor.java │ │ │ └── TestAmple.java │ │ └── usage │ │ │ └── TabletFileUpdateIT_SimpleSuite.java │ │ ├── compaction │ │ ├── BadCompactionServiceConfigIT.java │ │ ├── CompactionConfigChangeIT.java │ │ ├── CompactionExecutorIT.java │ │ ├── CompactionPriorityQueueMetricsIT.java │ │ ├── ExternalCompaction2ITBase.java │ │ ├── ExternalCompaction4_IT.java │ │ ├── ExternalCompactionMetricsIT.java │ │ ├── ExternalCompactionProgressIT.java │ │ ├── ExternalCompactionTestUtils.java │ │ ├── ExternalCompaction_1_IT.java │ │ ├── ExternalCompaction_2_IT.java │ │ ├── ExternalCompaction_3_IT.java │ │ ├── ExternalDoNothingCompactor.java │ │ ├── FlakyExternalCompaction2IT.java │ │ └── SplitCancelsMajCIT.java │ │ ├── conf │ │ ├── PropStoreConfigIT_SimpleSuite.java │ │ ├── store │ │ │ ├── PropCacheCaffeineImplZkIT.java │ │ │ ├── PropStoreZooKeeperIT.java │ │ │ └── ZooBasedConfigIT.java │ │ └── util │ │ │ └── ZooPropEditorIT_SimpleSuite.java │ │ ├── constraints │ │ ├── AlphaNumKeyConstraint.java │ │ ├── MaxMutationSize.java │ │ └── NumericValueConstraint.java │ │ ├── fate │ │ ├── FastFate.java │ │ ├── FateExecutionOrderITBase.java │ │ ├── FateITBase.java │ │ ├── FateOpsCommandsITBase.java │ │ ├── FatePoolsWatcherITBase.java │ │ ├── FateStatusEnforcementITBase.java │ │ ├── FateStoreITBase.java │ │ ├── FateTestRunner.java │ │ ├── FateTestUtil.java │ │ ├── FlakyFate.java │ │ ├── FlakyFateManager.java │ │ ├── ManagerRepoIT_SimpleSuite.java │ │ ├── MultipleStoresITBase.java │ │ ├── TestLock.java │ │ ├── meta │ │ │ ├── MetaFateExecutionOrderIT_SimpleSuite.java │ │ │ ├── MetaFateIT.java │ │ │ ├── MetaFateOpsCommandsIT.java │ │ │ ├── MetaFatePoolsWatcherIT.java │ │ │ ├── MetaFateStatusEnforcementIT.java │ │ │ ├── MetaFateStoreFateIT.java │ │ │ ├── MetaMultipleStoresIT.java │ │ │ └── ZooMutatorIT.java │ │ └── user │ │ │ ├── FateMutatorImplIT_SimpleSuite.java │ │ │ ├── UserFateExecutionOrderIT_SimpleSuite.java │ │ │ ├── UserFateIT_SimpleSuite.java │ │ │ ├── UserFateOpsCommandsIT.java │ │ │ ├── UserFatePoolsWatcherIT_SimpleSuite.java │ │ │ ├── UserFateStatusEnforcementIT_SimpleSuite.java │ │ │ ├── UserFateStoreFateIT_SimpleSuite.java │ │ │ └── UserMultipleStoresIT_SimpleSuite.java │ │ ├── functional │ │ ├── AccumuloClientIT.java │ │ ├── AccumuloConfigurationIT.java │ │ ├── AddSplitIT_SimpleSuite.java │ │ ├── AmpleConditionalWriterIT.java │ │ ├── AuthsIterator.java │ │ ├── BackupManagerIT.java │ │ ├── BadCombiner.java │ │ ├── BadIterator.java │ │ ├── BadIteratorMincIT.java │ │ ├── BadLocalityGroupMincIT.java │ │ ├── BalanceAfterCommsFailureIT.java │ │ ├── BalanceInPresenceOfOfflineTableIT.java │ │ ├── BasicSummarizer.java │ │ ├── BatchScanSplitIT.java │ │ ├── BatchWriterFlushIT.java │ │ ├── BigRootTabletIT.java │ │ ├── BinaryIT.java │ │ ├── BinaryStressIT.java │ │ ├── BloomFilterIT.java │ │ ├── BulkIT.java │ │ ├── BulkNewIT.java │ │ ├── BulkNewMetadataSkipIT.java │ │ ├── BulkSplitOptimizationIT.java │ │ ├── CacheTestClean.java │ │ ├── CacheTestReader.java │ │ ├── CacheTestWriter.java │ │ ├── ChaoticBalancerIT.java │ │ ├── CloneTestIT_SimpleSuite.java │ │ ├── CombinerIT.java │ │ ├── CompactionFlakyAmpleIT.java │ │ ├── CompactionIT.java │ │ ├── CompactionITBase.java │ │ ├── ConcurrencyIT.java │ │ ├── ConcurrentDeleteTableIT.java │ │ ├── ConfigurableMacBase.java │ │ ├── ConstraintIT.java │ │ ├── CreateAndUseIT.java │ │ ├── CreateInitialSplitsIT.java │ │ ├── CreateManyScannersIT.java │ │ ├── CredentialsIT.java │ │ ├── DebugClientConnectionIT.java │ │ ├── DeleteEverythingIT.java │ │ ├── DeleteFailIT.java │ │ ├── DeleteIT.java │ │ ├── DeleteRowsFlakyFateIT.java │ │ ├── DeleteRowsIT.java │ │ ├── DeleteRowsSplitIT.java │ │ ├── DeletedTablesDontFlushIT_SimpleSuite.java │ │ ├── DropModIter.java │ │ ├── DurabilityIT.java │ │ ├── ErrorThrowingIterator.java │ │ ├── FateConcurrencyIT.java │ │ ├── FateStarvationIT.java │ │ ├── FileMetadataIT.java │ │ ├── FileNormalizationIT_SimpleSuite.java │ │ ├── FindCompactionTmpFilesIT_SimpleSuite.java │ │ ├── FlushNoFileIT.java │ │ ├── FunctionalTestUtils.java │ │ ├── GarbageCollectorIT.java │ │ ├── GarbageCollectorTrashBase.java │ │ ├── GarbageCollectorTrashDefaultIT.java │ │ ├── GarbageCollectorTrashEnabledIT.java │ │ ├── GarbageCollectorTrashEnabledWithCustomPolicyIT.java │ │ ├── GracefulShutdownIT.java │ │ ├── HalfClosedTablet2IT.java │ │ ├── HalfClosedTabletIT.java │ │ ├── HalfDeadServerWatcherIT.java │ │ ├── HalfDeadTServerIT.java │ │ ├── IdleProcessMetricsIT.java │ │ ├── IteratorMincClassCastBugIT.java │ │ ├── KerberosIT.java │ │ ├── KerberosRenewalIT.java │ │ ├── LargeRowIT.java │ │ ├── LastLocationIT.java │ │ ├── LateLastContactIT.java │ │ ├── LocalityGroupIT.java │ │ ├── LogicalTimeIT.java │ │ ├── ManagerApiIT.java │ │ ├── ManagerAssignmentIT.java │ │ ├── ManagerFailoverIT.java │ │ ├── ManyWriteAheadLogsIT.java │ │ ├── MaxOpenIT.java │ │ ├── MemoryConsumingCompactor.java │ │ ├── MemoryConsumingIterator.java │ │ ├── MemoryFreeingIterator.java │ │ ├── MemoryStarvedMajCIT.java │ │ ├── MemoryStarvedMinCIT.java │ │ ├── MemoryStarvedScanIT.java │ │ ├── MergeTabletsFlakyFateIT.java │ │ ├── MergeTabletsITBase.java │ │ ├── MergeTabletsIT_SimpleSuite.java │ │ ├── MetadataIT.java │ │ ├── MetadataMaxFilesIT.java │ │ ├── MetadataSplitIT.java │ │ ├── MonitorSslIT.java │ │ ├── NativeMapIT.java │ │ ├── OnDemandTabletUnloadingFlakyAmpleIT.java │ │ ├── OnDemandTabletUnloadingIT.java │ │ ├── PerTableCryptoIT.java │ │ ├── PermissionsIT.java │ │ ├── ReadWriteIT.java │ │ ├── RecoveryWithEmptyRFileIT.java │ │ ├── RegexGroupBalanceIT.java │ │ ├── RenameIT.java │ │ ├── RestartIT.java │ │ ├── RestartStressIT.java │ │ ├── RowDeleteIT.java │ │ ├── ScanIdIT.java │ │ ├── ScanIteratorIT.java │ │ ├── ScanRangeIT.java │ │ ├── ScanSessionTimeOutIT.java │ │ ├── ScannerContextIT.java │ │ ├── ScannerIT.java │ │ ├── ServerSideErrorIT.java │ │ ├── SessionBlockVerifyIT.java │ │ ├── SessionDurabilityIT.java │ │ ├── ShutdownIT.java │ │ ├── SimpleBalancerFairnessIT.java │ │ ├── SlowConstraint.java │ │ ├── SlowIterator.java │ │ ├── SparseColumnFamilyIT.java │ │ ├── SplitIT.java │ │ ├── SplitMillionIT.java │ │ ├── SplitRecoveryIT.java │ │ ├── SslIT.java │ │ ├── SslWithClientAuthIT.java │ │ ├── StartIT.java │ │ ├── SummaryIT.java │ │ ├── SuspendMarkerIT.java │ │ ├── TableIT.java │ │ ├── TabletAvailabilityIT.java │ │ ├── TabletIT.java │ │ ├── TabletManagementIteratorIT.java │ │ ├── TabletMergeabilityIT.java │ │ ├── TabletMetadataIT.java │ │ ├── TabletResourceGroupBalanceIT.java │ │ ├── TestTabletMetadataFilter.java │ │ ├── ThriftMaxFrameSizeIT.java │ │ ├── TimeoutIT.java │ │ ├── VisibilityIT.java │ │ ├── WALFlakyAmpleIT.java │ │ ├── WALSunnyDayIT.java │ │ ├── WALSunnyDayITBase.java │ │ ├── WatchTheWatchCountIT.java │ │ ├── WriteAheadLogEncryptedIT.java │ │ ├── WriteAheadLogIT.java │ │ ├── WriteLotsIT.java │ │ ├── YieldingIterator.java │ │ ├── ZombieTServer.java │ │ ├── ZooCacheIT.java │ │ └── ZookeeperRestartIT.java │ │ ├── lock │ │ ├── ServiceLockIT.java │ │ └── ServiceLockPathsIT.java │ │ ├── manager │ │ └── SuspendedTabletsIT.java │ │ ├── metrics │ │ ├── MetricsIT.java │ │ ├── MetricsThriftRpcIT.java │ │ ├── TestStatsDRegistryFactory.java │ │ └── TestStatsDSink.java │ │ ├── performance │ │ ├── NullTserver.java │ │ └── scan │ │ │ └── CollectTabletStats.java │ │ ├── rpc │ │ ├── Mocket.java │ │ ├── SimpleThriftServiceHandler.java │ │ ├── SimpleThriftServiceRunner.java │ │ └── ThriftBehaviorIT.java │ │ ├── server │ │ └── security │ │ │ └── SystemCredentialsIT.java │ │ ├── shell │ │ ├── ConfigSetIT_SimpleSuite.java │ │ ├── DebugCommand.java │ │ ├── ErrorMessageCallback.java │ │ ├── ExampleShellExtension.java │ │ ├── MockShell.java │ │ ├── ShellAuthenticatorIT_SimpleSuite.java │ │ ├── ShellConfigIT.java │ │ ├── ShellCreateNamespaceIT.java │ │ ├── ShellCreateTableIT.java │ │ ├── ShellIT_SimpleSuite.java │ │ └── ShellServerIT.java │ │ ├── start │ │ └── KeywordStartIT.java │ │ ├── upgrade │ │ ├── ScanServerUpgrade11to12TestIT.java │ │ ├── UpgradeIT.java │ │ ├── UpgradeProgressTrackerIT.java │ │ └── UpgradeUtilIT.java │ │ ├── util │ │ ├── CertUtils.java │ │ ├── FileMetadataUtil.java │ │ ├── SerializationUtil.java │ │ ├── SlowOps.java │ │ └── Wait.java │ │ └── zookeeper │ │ ├── ZooCacheIT.java │ │ ├── ZooKeeperChrootWatchedPathsIT.java │ │ └── ZooKeeperTestingServer.java ├── resources │ ├── log4j2-test.properties │ ├── org │ │ └── apache │ │ │ └── accumulo │ │ │ └── test │ │ │ ├── FooConstraint_2_1.jar │ │ │ ├── FooFilter.jar │ │ │ ├── ShellServerIT-iterators.jar │ │ │ ├── TestCombinerX.jar │ │ │ ├── TestCombinerY.jar │ │ │ ├── shellit.shellit │ │ │ └── ver_7.rf │ └── v2_import_test │ │ ├── README.md │ │ └── data │ │ ├── A0000008.rf │ │ ├── A0000009.rf │ │ ├── A000000a.rf │ │ ├── A000000b.rf │ │ ├── distcp.txt │ │ └── exportMetadata.zip ├── scripts │ └── generate-thrift.sh ├── spotbugs │ └── exclude-filter.xml ├── test-jars │ └── Iterators.xml ├── thrift-gen-java │ └── org │ │ └── apache │ │ └── accumulo │ │ └── test │ │ └── rpc │ │ └── thrift │ │ └── SimpleThriftService.java └── thrift │ └── test.thrift └── test ├── c └── fake_disk_failure.c ├── java └── org │ └── apache │ └── accumulo │ └── test │ ├── ChaoticLoadBalancerTest.java │ ├── constraints │ ├── AlphaNumKeyConstraintTest.java │ └── NumericValueConstraintTest.java │ ├── functional │ └── ValueReversingIterator.java │ ├── iterator │ ├── AgeOffFilterTest.java │ ├── CfCqSliceFilterTest.java │ ├── RegExTest.java │ ├── SummingCombinerTest.java │ └── WholeRowIteratorTest.java │ ├── performance │ └── scan │ │ └── CollectTabletStatsTest.java │ ├── security │ └── KerberosTokenEmbeddedKDCTest.java │ └── util │ └── CertUtilsTest.java └── scripts └── run-test.sh /.asf.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # https://github.com/apache/infrastructure-asfyaml/blob/main/README.md 21 | 22 | notifications: 23 | commits: commits@accumulo.apache.org 24 | issues: notifications@accumulo.apache.org 25 | pullrequests: notifications@accumulo.apache.org 26 | jira_options: worklog 27 | 28 | github: 29 | description: "Apache Accumulo" 30 | homepage: https://accumulo.apache.org 31 | labels: 32 | - accumulo 33 | - big-data 34 | - hacktoberfest 35 | features: 36 | wiki: false 37 | issues: true 38 | projects: true 39 | dependabot_alerts: true 40 | dependabot_updates: false 41 | 42 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | core/src/main/thrift-gen-java/** linguist-generated=true 21 | core/src/main/flatbuffers-gen-java/** linguist-generated=true 22 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **Versions (OS, Maven, Java, and others, as appropriate):** 14 | - Affected version(s) of this project: [e.g. 1.10.0] 15 | - OS: [e.g. CentOS 7.5] 16 | - Others: 17 | 18 | **To Reproduce** 19 | Steps to reproduce the behavior (or a link to an example repository that reproduces the problem): 20 | 1. Go to '...' 21 | 2. Click on '....' 22 | 3. Scroll down to '....' 23 | 4. See error 24 | 25 | **Expected behavior** 26 | A clear and concise description of what you expected to happen. 27 | 28 | **Screenshots** 29 | If applicable, add screenshots to help explain your problem. 30 | 31 | **Additional context** 32 | Add any other context about the problem here. 33 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/question.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Question 3 | about: Ask a question 4 | title: '' 5 | labels: question 6 | assignees: '' 7 | 8 | --- 9 | 10 | **What is your question?** 11 | Please consider asking your question on our mailing list or in our Slack channel, instead. See https://accumulo.apache.org/contact-us 12 | 13 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/test_failure.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Test failure 3 | about: Report a broken or flaky test 4 | title: 'Broken or Flaky test: [test names]' 5 | labels: bug, test 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Test name(s)** 11 | - [e.g SomeUnitTest.testCase()] 12 | - [e.g SomeIT (all tests)] 13 | - [e.g continuous ingest, randomwalk, etc.] 14 | 15 | **Describe the failure observed** 16 | A clear and concise description of what the bug is, including any stack traces, test output, or logs (making any long sections [collapsible](https://gist.github.com/pierrejoubert73/902cc94d79424356a8d20be2b382e1ab#file-markdown-details-collapsible-md) for better readability). 17 | 18 | **Testing Environment:** 19 | - Version of this project: [e.g. 1.10.0-SNAPSHOT] 20 | - First commit known to fail (or current commit): 21 | - OS: [e.g. CentOS 7.5] 22 | - Java: [e.g. 11] 23 | - Maven: [e.g. 3.6.1] 24 | - Other environment details: 25 | 26 | **What have you tried already?** 27 | A clear and concise description of any steps you've already taken in an attempt to troubleshoot. 28 | 29 | **Additional context** 30 | Add any other context about the problem or your testing environment here. 31 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | 38 | # MacOS ignores 39 | .DS_Store 40 | -------------------------------------------------------------------------------- /DEPENDENCIES: -------------------------------------------------------------------------------- 1 | 21 | 22 | Apache Accumulo depends on artifacts which can be found in Maven Central. 23 | 24 | Each module has its own dependencies. Please refer to the individual 25 | modules' pom.xml files for a comprehensive listing. 26 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Apache Accumulo 2 | Copyright 2011-2024 The Apache Software Foundation 3 | 4 | This product includes software developed at 5 | The Apache Software Foundation (https://www.apache.org/). 6 | -------------------------------------------------------------------------------- /assemble/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /core/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /core/src/main/flatbuffers/metric.fbs: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | namespace org.apache.accumulo.core.metrics.flatbuffers; 20 | 21 | table FTag { 22 | key:string; 23 | value:string; 24 | } 25 | 26 | table FMetric { 27 | name:string; 28 | type:string; 29 | tags:[FTag]; 30 | dvalue:double; 31 | ivalue:int; 32 | lvalue:long; 33 | } 34 | 35 | root_type FMetric; -------------------------------------------------------------------------------- /core/src/main/java-filtered/org/apache/accumulo/core/FilteredConstants.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core; 20 | 21 | public class FilteredConstants { 22 | public static final String VERSION = "${accumulo.release.version}"; 23 | } 24 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/client/InvalidTabletHostingRequestException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.client; 20 | 21 | public class InvalidTabletHostingRequestException extends Exception { 22 | 23 | private static final long serialVersionUID = 1L; 24 | 25 | public InvalidTabletHostingRequestException(String message) { 26 | super(message); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/client/admin/InitialTableState.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.client.admin; 20 | 21 | /** 22 | * Creation mode for table creation. 23 | * 24 | * @since 2.0.0 25 | */ 26 | public enum InitialTableState { 27 | /* 28 | * Set if table is to be created in OFFLINE mode. 29 | */ 30 | OFFLINE, 31 | /* 32 | * Used if table is to be created in ONLINE mode. 33 | */ 34 | ONLINE 35 | } 36 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/client/admin/ScanType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.client.admin; 20 | 21 | public enum ScanType { 22 | SINGLE, BATCH 23 | } 24 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/client/lexicoder/AbstractLexicoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.client.lexicoder; 20 | 21 | public abstract class AbstractLexicoder extends AbstractEncoder implements Lexicoder {} 22 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/client/lexicoder/Encoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.client.lexicoder; 20 | 21 | /** 22 | * An encoder represents a typed object that can be encoded/decoded to/from a byte array. 23 | * 24 | * @since 1.6.0 25 | */ 26 | public interface Encoder { 27 | byte[] encode(T object); 28 | 29 | T decode(byte[] bytes) throws IllegalArgumentException; 30 | } 31 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/client/lexicoder/Lexicoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.client.lexicoder; 20 | 21 | /** 22 | * A lexicoder provides methods to convert to/from byte arrays. The byte arrays are constructed so 23 | * that their sort order corresponds their parameterized class's native Java sort order. 24 | * 25 | * @since 1.6.0 26 | */ 27 | public interface Lexicoder extends Encoder { 28 | 29 | } 30 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/clientImpl/IsolationException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.clientImpl; 20 | 21 | public class IsolationException extends RuntimeException { 22 | 23 | private static final long serialVersionUID = 1L; 24 | 25 | /** 26 | * @since 2.0.0 27 | */ 28 | public IsolationException(Exception cause) { 29 | super(cause); 30 | } 31 | 32 | public IsolationException() {} 33 | } 34 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/clientImpl/ScanServerAttemptReporter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.clientImpl; 20 | 21 | import org.apache.accumulo.core.spi.scan.ScanServerAttempt; 22 | 23 | interface ScanServerAttemptReporter { 24 | void report(ScanServerAttempt.Result result); 25 | } 26 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/compaction/NullType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.compaction; 20 | 21 | import static com.google.common.base.Preconditions.checkArgument; 22 | 23 | public class NullType implements Type { 24 | @Override 25 | public String convert(String str) { 26 | checkArgument(str == null); 27 | return ""; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/compaction/PatternType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.compaction; 20 | 21 | import java.util.regex.Pattern; 22 | 23 | class PatternType implements Type { 24 | @Override 25 | public String convert(String str) { 26 | // ensure it compiles 27 | Pattern.compile(str); 28 | return str; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/compaction/SizeType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.compaction; 20 | 21 | import static com.google.common.base.Preconditions.checkArgument; 22 | 23 | import org.apache.accumulo.core.conf.ConfigurationTypeHelper; 24 | 25 | class SizeType implements Type { 26 | @Override 27 | public String convert(String str) { 28 | long size = ConfigurationTypeHelper.getFixedMemoryAsBytes(str); 29 | checkArgument(size > 0); 30 | return Long.toString(size); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/compaction/StringType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.compaction; 20 | 21 | class StringType implements Type { 22 | @Override 23 | public String convert(String str) { 24 | return str; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/compaction/Type.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.compaction; 20 | 21 | interface Type { 22 | String convert(String str); 23 | } 24 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/compaction/UIntType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.compaction; 20 | 21 | import static com.google.common.base.Preconditions.checkArgument; 22 | 23 | class UIntType implements Type { 24 | @Override 25 | public String convert(String str) { 26 | checkArgument(Integer.parseInt(str) > 0); 27 | return str; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/conf/Experimental.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.conf; 20 | 21 | import java.lang.annotation.Inherited; 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.RetentionPolicy; 24 | 25 | /** 26 | * An annotation to denote experimental {@link AccumuloConfiguration} {@link Property} keys. 27 | * Experimental is a feature that is considered a work in progress or incomplete and could change. 28 | */ 29 | @Inherited 30 | @Retention(RetentionPolicy.RUNTIME) 31 | @interface Experimental { 32 | 33 | } 34 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/conf/Sensitive.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.conf; 20 | 21 | import java.lang.annotation.Inherited; 22 | import java.lang.annotation.Retention; 23 | import java.lang.annotation.RetentionPolicy; 24 | 25 | /** 26 | * An annotation to denote {@link AccumuloConfiguration} {@link Property} keys which are sensitive, 27 | * and should be masked or hidden when printed. 28 | */ 29 | @Inherited 30 | @Retention(RetentionPolicy.RUNTIME) 31 | @interface Sensitive { 32 | 33 | } 34 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/fate/ReadOnlyRepo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.fate; 20 | 21 | /** 22 | * Read only access to a repeatable persisted operation. 23 | * 24 | * By definition, these methods are safe to call without impacting the state of FATE. They should 25 | * also be safe to call without impacting the state of system components. 26 | */ 27 | public interface ReadOnlyRepo { 28 | long isReady(FateId fateId, T environment) throws Exception; 29 | 30 | String getName(); 31 | 32 | } 33 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/fate/Repo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.fate; 20 | 21 | import java.io.Serializable; 22 | 23 | /** 24 | * Repeatable persisted operation 25 | */ 26 | public interface Repo extends ReadOnlyRepo, Serializable { 27 | 28 | Repo call(FateId fateId, T environment) throws Exception; 29 | 30 | void undo(FateId fateId, T environment) throws Exception; 31 | 32 | // this allows the last fate op to return something to the user 33 | String getReturn(); 34 | } 35 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/fate/StackOverflowException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.fate; 20 | 21 | public class StackOverflowException extends RuntimeException { 22 | 23 | public StackOverflowException(String msg) { 24 | super(msg); 25 | } 26 | 27 | private static final long serialVersionUID = 1L; 28 | 29 | } 30 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/file/NoSuchMetaStoreException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.file; 20 | 21 | import java.io.IOException; 22 | 23 | public class NoSuchMetaStoreException extends IOException { 24 | 25 | public NoSuchMetaStoreException(String msg, Throwable e) { 26 | super(msg, e); 27 | } 28 | 29 | public NoSuchMetaStoreException(String msg) { 30 | super(msg); 31 | } 32 | 33 | private static final long serialVersionUID = 1L; 34 | 35 | } 36 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/file/blockfile/impl/CacheProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.file.blockfile.impl; 20 | 21 | import org.apache.accumulo.core.spi.cache.BlockCache; 22 | 23 | public interface CacheProvider { 24 | static final CacheProvider NULL_PROVIDER = new BasicCacheProvider(null, null); 25 | 26 | BlockCache getDataCache(); 27 | 28 | BlockCache getIndexCache(); 29 | } 30 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/file/keyfunctor/KeyFunctor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.file.keyfunctor; 20 | 21 | import org.apache.accumulo.core.data.Key; 22 | import org.apache.accumulo.core.data.Range; 23 | 24 | public interface KeyFunctor { 25 | /** 26 | * Implementations should return null if a range can not be converted to a bloom key. 27 | */ 28 | org.apache.hadoop.util.bloom.Key transform(Range range); 29 | 30 | org.apache.hadoop.util.bloom.Key transform(Key key); 31 | } 32 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/file/rfile/bcfile/MetaBlockAlreadyExists.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.file.rfile.bcfile; 20 | 21 | import java.io.IOException; 22 | 23 | /** 24 | * Exception - Meta Block with the same name already exists. 25 | */ 26 | public class MetaBlockAlreadyExists extends IOException { 27 | private static final long serialVersionUID = -6797037044124244666L; 28 | 29 | /** 30 | * Constructor 31 | * 32 | * @param s message. 33 | */ 34 | MetaBlockAlreadyExists(String s) { 35 | super(s); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/iterators/ValueFormatException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.iterators; 20 | 21 | /** 22 | * Exception used for TypedValueCombiner and it's Encoders decode() function 23 | */ 24 | public class ValueFormatException extends IllegalArgumentException { 25 | 26 | public ValueFormatException(String string) { 27 | super(string); 28 | } 29 | 30 | public ValueFormatException(Exception nfe) { 31 | super(nfe); 32 | } 33 | 34 | private static final long serialVersionUID = 4170291568272971821L; 35 | 36 | } 37 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/iteratorsImpl/system/IterationInterruptedException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.iteratorsImpl.system; 20 | 21 | /** 22 | * Exception thrown if an interrupt flag is detected. 23 | */ 24 | public class IterationInterruptedException extends RuntimeException { 25 | 26 | private static final long serialVersionUID = 1L; 27 | 28 | public IterationInterruptedException() {} 29 | 30 | public IterationInterruptedException(String msg) { 31 | super(msg); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/logging/Logging.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.logging; 20 | 21 | /** 22 | * @see org.apache.accumulo.core.logging 23 | */ 24 | public class Logging { 25 | /** 26 | * Prefix for all log messages in logical logging namespaces. When choosing suffixes, try to avoid 27 | * existing source package names like {@code core}. This prefix was chosen to make it easy to 28 | * configure all Accumulo logging for loggers using fully qualified class names and logical 29 | * loggers. 30 | */ 31 | public static final String PREFIX = "org.apache.accumulo."; 32 | } 33 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/manager/state/tables/TableState.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.manager.state.tables; 20 | 21 | public enum TableState { 22 | // NEW while making directories and tablets; 23 | NEW, 24 | 25 | // ONLINE tablets will be assigned 26 | ONLINE, 27 | 28 | // OFFLINE tablets will be taken offline 29 | OFFLINE, 30 | 31 | // DELETING waiting for tablets to go offline and table will be removed 32 | DELETING, 33 | 34 | // UNKNOWN is NOT a valid state; it is reserved for unrecognized serialized 35 | // representations of table state 36 | UNKNOWN 37 | } 38 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletDeletedException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.metadata.schema; 20 | 21 | public class TabletDeletedException extends RuntimeException { 22 | 23 | private static final long serialVersionUID = 1L; 24 | 25 | public TabletDeletedException(String msg) { 26 | super(msg); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletOperationType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.metadata.schema; 20 | 21 | /** 22 | * Used to specify what kind of mutually exclusive operation is currently running against a tablet. 23 | */ 24 | public enum TabletOperationType { 25 | SPLITTING, MERGING, DELETING 26 | } 27 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/rpc/clients/CompactionCoordinatorServiceThriftClient.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.rpc.clients; 20 | 21 | import org.apache.accumulo.core.compaction.thrift.CompactionCoordinatorService.Client; 22 | 23 | public class CompactionCoordinatorServiceThriftClient extends ThriftClientTypes { 24 | 25 | CompactionCoordinatorServiceThriftClient(String serviceName) { 26 | super(serviceName, new Client.Factory()); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/rpc/clients/CompactorServiceThriftClient.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.rpc.clients; 20 | 21 | import org.apache.accumulo.core.compaction.thrift.CompactorService.Client; 22 | 23 | public class CompactorServiceThriftClient extends ThriftClientTypes { 24 | 25 | CompactorServiceThriftClient(String serviceName) { 26 | super(serviceName, new Client.Factory()); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/rpc/clients/GCMonitorServiceThriftClient.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.rpc.clients; 20 | 21 | import org.apache.accumulo.core.gc.thrift.GCMonitorService.Client; 22 | 23 | public class GCMonitorServiceThriftClient extends ThriftClientTypes { 24 | 25 | GCMonitorServiceThriftClient(String serviceName) { 26 | super(serviceName, new Client.Factory()); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/security/AuthorizationContainer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.security; 20 | 21 | import org.apache.accumulo.core.data.ByteSequence; 22 | 23 | /** 24 | * An interface for classes that contain a collection of authorizations. 25 | */ 26 | public interface AuthorizationContainer { 27 | /** 28 | * Checks whether this object contains the given authorization. 29 | * 30 | * @param auth authorization, as a string encoded in UTF-8 31 | * @return true if authorization is in this collection 32 | */ 33 | boolean contains(ByteSequence auth); 34 | } 35 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/balancer/data/TableStatistics.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.spi.balancer.data; 20 | 21 | /** 22 | * @since 2.1.0 23 | */ 24 | public interface TableStatistics extends Comparable { 25 | long getRecords(); 26 | 27 | long getRecordsInMemory(); 28 | 29 | int getTabletCount(); 30 | 31 | int getOnlineTabletCount(); 32 | 33 | double getIngestRate(); 34 | 35 | double getIngestByteRate(); 36 | 37 | double getQueryRate(); 38 | 39 | double getQueryByteRate(); 40 | 41 | double getScanRate(); 42 | } 43 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/balancer/data/TabletServerId.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.spi.balancer.data; 20 | 21 | /** 22 | * @since 2.1.0 23 | */ 24 | public interface TabletServerId extends Comparable { 25 | String getHost(); 26 | 27 | int getPort(); 28 | 29 | String getSession(); 30 | } 31 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/balancer/data/TabletStatistics.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.spi.balancer.data; 20 | 21 | import org.apache.accumulo.core.data.TabletId; 22 | 23 | /** 24 | * @since 2.1.0 25 | */ 26 | public interface TabletStatistics extends Comparable { 27 | TabletId getTabletId(); 28 | 29 | long getNumEntries(); 30 | 31 | double getIngestRate(); 32 | 33 | double getQueryRate(); 34 | } 35 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/cache/CacheType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.spi.cache; 20 | 21 | /** 22 | * @since 2.0.0 23 | */ 24 | public enum CacheType { 25 | 26 | DATA, INDEX, SUMMARY 27 | 28 | } 29 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/common/ContextClassLoaderEnvironment.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.spi.common; 20 | 21 | /** 22 | * The environment provided to the context class loader factory for its use 23 | * 24 | * @since 2.1.1 25 | */ 26 | public interface ContextClassLoaderEnvironment { 27 | 28 | /** 29 | * Get the service environment configuration 30 | * 31 | * @return The configuration 32 | */ 33 | ServiceEnvironment.Configuration getConfiguration(); 34 | } 35 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/common/IteratorConfiguration.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.spi.common; 20 | 21 | import java.util.Map; 22 | 23 | /** 24 | * Provides information about a configured Accumulo Iterator 25 | * 26 | * @since 2.0.0 27 | */ 28 | public interface IteratorConfiguration { 29 | String getIteratorClass(); 30 | 31 | String getName(); 32 | 33 | int getPriority(); 34 | 35 | Map getOptions(); 36 | } 37 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/compaction/CompactionKind.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.spi.compaction; 20 | 21 | /** 22 | * @since 2.1.0 23 | * @see org.apache.accumulo.core.spi.compaction 24 | */ 25 | public enum CompactionKind { 26 | /** 27 | * A system initiated routine compaction. 28 | */ 29 | SYSTEM, 30 | /** 31 | * A user initiated a one time compaction using an Accumulo client. 32 | */ 33 | USER 34 | } 35 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/compaction/CompactionServices.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.spi.compaction; 20 | 21 | import java.util.Set; 22 | 23 | /** 24 | * Provider of information about configured compaction services. 25 | * 26 | * @since 2.1.0 27 | */ 28 | public interface CompactionServices { 29 | Set getIds(); 30 | } 31 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/compaction/GroupManager.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.spi.compaction; 20 | 21 | /** 22 | * Offered to a Compaction Planner at initialization time, so it can create compactor groups. 23 | * 24 | * @since 3.1.0 25 | * @see CompactionPlanner#init(org.apache.accumulo.core.spi.compaction.CompactionPlanner.InitParameters) 26 | * @see org.apache.accumulo.core.spi.compaction 27 | */ 28 | public interface GroupManager { 29 | /** 30 | * @return an id for a configured compactor group. 31 | */ 32 | CompactorGroupId getGroup(String name); 33 | } 34 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/compaction/doc-files/compaction-spi-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/core/src/main/java/org/apache/accumulo/core/spi/compaction/doc-files/compaction-spi-design.png -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/crypto/FileDecrypter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.spi.crypto; 20 | 21 | import java.io.InputStream; 22 | 23 | /** 24 | * Class implementation that will decrypt a file. Make sure implementation is thread safe. 25 | * 26 | * @since 2.0 27 | */ 28 | public interface FileDecrypter { 29 | /** 30 | * Decrypt the InputStream 31 | */ 32 | InputStream decryptStream(InputStream inputStream) throws CryptoService.CryptoException; 33 | } 34 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/crypto/NoCryptoServiceFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.spi.crypto; 20 | 21 | import java.util.Map; 22 | 23 | public class NoCryptoServiceFactory implements CryptoServiceFactory { 24 | public static final CryptoService NONE = new NoCryptoService(); 25 | 26 | @Override 27 | public CryptoService getService(CryptoEnvironment env, Map properties) { 28 | return NONE; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/crypto/NoFileDecrypter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.spi.crypto; 20 | 21 | import java.io.InputStream; 22 | 23 | public class NoFileDecrypter implements FileDecrypter { 24 | @Override 25 | public InputStream decryptStream(InputStream inputStream) throws CryptoService.CryptoException { 26 | return inputStream; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/crypto/NoFileEncrypter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.spi.crypto; 20 | 21 | import static java.nio.charset.StandardCharsets.UTF_8; 22 | 23 | import java.io.OutputStream; 24 | 25 | public class NoFileEncrypter implements FileEncrypter { 26 | 27 | @Override 28 | public OutputStream encryptStream(OutputStream outputStream) 29 | throws CryptoService.CryptoException { 30 | return outputStream; 31 | } 32 | 33 | @Override 34 | public byte[] getDecryptionParameters() { 35 | return NoCryptoService.VERSION.getBytes(UTF_8); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/spi/scan/ScanServerAttempt.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.spi.scan; 20 | 21 | /** 22 | * This object is used to communicate what previous actions were attempted, when they were 23 | * attempted, and the result of those attempts 24 | * 25 | * @since 2.1.0 26 | */ 27 | public interface ScanServerAttempt { 28 | 29 | // represents reasons that previous attempts to scan failed 30 | enum Result { 31 | BUSY, ERROR 32 | } 33 | 34 | String getServer(); 35 | 36 | ScanServerAttempt.Result getResult(); 37 | 38 | } 39 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/util/HostAndPortComparator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.util; 20 | 21 | import java.util.Comparator; 22 | 23 | import com.google.common.net.HostAndPort; 24 | 25 | public class HostAndPortComparator implements Comparator { 26 | 27 | private static final Comparator COMPARATOR = Comparator.nullsFirst( 28 | Comparator.comparing(HostAndPort::getHost).thenComparingInt(h -> h.getPortOrDefault(0))); 29 | 30 | @Override 31 | public int compare(HostAndPort o1, HostAndPort o2) { 32 | return COMPARATOR.compare(o1, o2); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/util/UtilWaitThread.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.util; 20 | 21 | import org.slf4j.Logger; 22 | import org.slf4j.LoggerFactory; 23 | 24 | public class UtilWaitThread { 25 | private static final Logger log = LoggerFactory.getLogger(UtilWaitThread.class); 26 | 27 | public static void sleep(long millis) { 28 | try { 29 | Thread.sleep(millis); 30 | } catch (InterruptedException e) { 31 | log.error("{}", e.getMessage(), e); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /core/src/main/java/org/apache/accumulo/core/util/format/Formatter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.util.format; 20 | 21 | import java.util.Iterator; 22 | import java.util.Map.Entry; 23 | 24 | import org.apache.accumulo.core.data.Key; 25 | import org.apache.accumulo.core.data.Value; 26 | 27 | public interface Formatter extends Iterator { 28 | void initialize(Iterable> scanner, FormatterConfig config); 29 | } 30 | -------------------------------------------------------------------------------- /core/src/main/scripts/mkdirs.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # https://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | 21 | # This script is a workaround for exec-maven-plugin's perpetual breakage 22 | # due to the `-p` flag being misinterpreted. 23 | # The latest iteration of this breakage is in 3.1.0 24 | # See: 25 | # https://github.com/mojohaus/exec-maven-plugin/issues/334 26 | # https://github.com/apache/accumulo/issues/3033 27 | mkdir -p "$@" 28 | -------------------------------------------------------------------------------- /core/src/test/java/org/apache/accumulo/core/client/lexicoder/StringLexicoderTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.client.lexicoder; 20 | 21 | import org.apache.accumulo.core.clientImpl.lexicoder.AbstractLexicoderTest; 22 | import org.junit.jupiter.api.Test; 23 | 24 | public class StringLexicoderTest extends AbstractLexicoderTest { 25 | 26 | @Test 27 | public void testDecode() { 28 | assertDecodes(new StringLexicoder(), ""); 29 | assertDecodes(new StringLexicoder(), "0"); 30 | assertDecodes(new StringLexicoder(), "accumulo"); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /core/src/test/java/org/apache/accumulo/core/client/lexicoder/TextLexicoderTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.client.lexicoder; 20 | 21 | import org.apache.accumulo.core.clientImpl.lexicoder.AbstractLexicoderTest; 22 | import org.apache.hadoop.io.Text; 23 | import org.junit.jupiter.api.Test; 24 | 25 | public class TextLexicoderTest extends AbstractLexicoderTest { 26 | 27 | @Test 28 | public void testDecode() { 29 | assertDecodes(new TextLexicoder(), new Text("")); 30 | assertDecodes(new TextLexicoder(), new Text("accumulo")); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /core/src/test/java/org/apache/accumulo/core/compaction/ShellCompactCommandSelectorTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.compaction; 20 | 21 | import java.net.URISyntaxException; 22 | 23 | import org.junit.jupiter.api.Test; 24 | 25 | public class ShellCompactCommandSelectorTest { 26 | 27 | @Test 28 | public void testSelection() throws URISyntaxException { 29 | // file selection options are adequately tested by ShellServerIT, so this is just a placeholder 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /core/src/test/java/org/apache/accumulo/core/iterators/CombinerTestUtil.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.iterators; 20 | 21 | public class CombinerTestUtil { 22 | public static void clearLogCache() { 23 | Combiner.loggedMsgCache.invalidateAll(); 24 | } 25 | 26 | public static long cacheSize() { 27 | return Combiner.loggedMsgCache.estimatedSize(); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /core/src/test/java/org/apache/accumulo/core/iterators/user/TestCfCqSliceFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.iterators.user; 20 | 21 | public class TestCfCqSliceFilter extends TestCfCqSlice { 22 | @Override 23 | protected Class getFilterClass() { 24 | return CfCqSliceFilter.class; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /core/src/test/java/org/apache/accumulo/core/iterators/user/TestCfCqSliceSeekingFilter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.core.iterators.user; 20 | 21 | public class TestCfCqSliceSeekingFilter extends TestCfCqSlice { 22 | @Override 23 | protected Class getFilterClass() { 24 | return CfCqSliceSeekingFilter.class; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /core/src/test/resources/accumulo.jceks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/core/src/test/resources/accumulo.jceks -------------------------------------------------------------------------------- /core/src/test/resources/accumulo.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # File needs to exist for unit tests 21 | -------------------------------------------------------------------------------- /core/src/test/resources/accumulo2.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | general.rpc.timeout=123s 21 | instance.secret=mysecret 22 | instance.volumes=hdfs://localhost:8020/accumulo123 23 | instance.zookeeper.host=myhost123:2181 24 | table.durability=flush 25 | tserver.memory.maps.native.enabled=false 26 | tserver.wal.max.size=256M 27 | instance.crypto.opts.factory=org.apache.accumulo.core.spi.crypto.PerTableCryptoServiceFactory 28 | general.test.user.name=${env:USER} 29 | general.test.user.dir=${sys:DIR} 30 | -------------------------------------------------------------------------------- /core/src/test/resources/empty.jceks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/core/src/test/resources/empty.jceks -------------------------------------------------------------------------------- /core/src/test/resources/org/apache/accumulo/core/conf/cluster/2_1_cluster.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | manager: 21 | - localhost 22 | 23 | monitor: 24 | - localhost 25 | 26 | gc: 27 | - localhost 28 | 29 | tserver: 30 | default: 31 | - localhost 32 | 33 | compactor: 34 | default: 35 | - localhost 36 | 37 | sserver: 38 | default: 39 | - localhost 40 | -------------------------------------------------------------------------------- /core/src/test/resources/org/apache/accumulo/core/conf/cluster/bad-group-name.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | manager: 21 | - localhost 22 | 23 | monitor: 24 | - localhost 25 | 26 | gc: 27 | - localhost 28 | 29 | compactor: 30 | default: 31 | servers_per_host: 1 32 | hosts: 33 | - localhost 34 | 35 | sserver: 36 | default: 37 | servers_per_host: 1 38 | hosts: 39 | - localhost 40 | bad-group-name: 41 | servers_per_host: 1 42 | hosts: 43 | - localhost 44 | 45 | tserver: 46 | default: 47 | servers_per_host: 1 48 | hosts: 49 | - localhost 50 | -------------------------------------------------------------------------------- /core/src/test/resources/org/apache/accumulo/core/conf/cluster/bad-group-suffix.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | manager: 21 | - localhost 22 | 23 | monitor: 24 | - localhost 25 | 26 | gc: 27 | - localhost 28 | 29 | compactor: 30 | default: 31 | servers_per_host: 1 32 | hosts: 33 | - localhost 34 | 35 | sserver: 36 | default: 37 | servers_per_hosts: 1 38 | hosts: 39 | - localhost 40 | 41 | tserver: 42 | default: 43 | servers_per_host: 1 44 | hosts: 45 | - localhost 46 | -------------------------------------------------------------------------------- /core/src/test/resources/org/apache/accumulo/core/conf/cluster/bad-server-name.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | manager: 21 | - localhost1 22 | - localhost2 23 | 24 | monitor: 25 | - localhost1 26 | - localhost2 27 | 28 | gc: 29 | - localhost 30 | 31 | tserver: 32 | default: 33 | - localhost1 34 | - localhost2 35 | - localhost3 36 | - localhost4 37 | 38 | # The following section name is not valid and should cause an error. 39 | vserver: 40 | - localhost5 41 | - localhost6 42 | - localhost7 43 | - localhost8 44 | 45 | -------------------------------------------------------------------------------- /core/src/test/resources/org/apache/accumulo/core/conf/cluster/cluster-missing-tserver-group.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | manager: 21 | - localhost1 22 | - localhost2 23 | 24 | monitor: 25 | - localhost1 26 | - localhost2 27 | 28 | gc: 29 | - localhost 30 | 31 | compactor: 32 | q1: 33 | # servers not specified, defaults to 1 34 | hosts: 35 | - localhost1 36 | - localhost2 37 | 38 | sserver: 39 | default: 40 | servers_per_host: 2 41 | hosts: 42 | - localhost1 43 | - localhost2 44 | -------------------------------------------------------------------------------- /core/src/test/resources/org/apache/accumulo/core/conf/cluster/too-many-levels.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | manager: 21 | - localhost 22 | 23 | monitor: 24 | - localhost 25 | 26 | gc: 27 | - localhost 28 | 29 | compactor: 30 | default: 31 | servers_per_host: 1 32 | hosts: 33 | - localhost 34 | 35 | sserver: 36 | default: 37 | config: 38 | servers_per_host: 1 39 | hosts: 40 | - localhost 41 | 42 | tserver: 43 | default: 44 | servers_per_host: 1 45 | hosts: 46 | - localhost 47 | -------------------------------------------------------------------------------- /core/src/test/resources/org/apache/accumulo/core/file/rfile/ver_3.rf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/core/src/test/resources/org/apache/accumulo/core/file/rfile/ver_3.rf -------------------------------------------------------------------------------- /core/src/test/resources/org/apache/accumulo/core/file/rfile/ver_4.rf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/core/src/test/resources/org/apache/accumulo/core/file/rfile/ver_4.rf -------------------------------------------------------------------------------- /core/src/test/resources/org/apache/accumulo/core/file/rfile/ver_6.rf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/core/src/test/resources/org/apache/accumulo/core/file/rfile/ver_6.rf -------------------------------------------------------------------------------- /core/src/test/resources/org/apache/accumulo/core/file/rfile/ver_7.rf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/core/src/test/resources/org/apache/accumulo/core/file/rfile/ver_7.rf -------------------------------------------------------------------------------- /core/src/test/resources/passwords.jceks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/core/src/test/resources/passwords.jceks -------------------------------------------------------------------------------- /core/src/test/resources/site-cfg.jceks: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/core/src/test/resources/site-cfg.jceks -------------------------------------------------------------------------------- /hadoop-mapreduce/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /hadoop-mapreduce/src/main/spotbugs/exclude-filter.xml: -------------------------------------------------------------------------------- 1 | 21 | 22 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /iterator-test-harness/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /minicluster/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/ProcessNotFoundException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.miniclusterImpl; 20 | 21 | public class ProcessNotFoundException extends Exception { 22 | 23 | private static final long serialVersionUID = 1L; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/ZooKeeperBindException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.miniclusterImpl; 20 | 21 | /** 22 | * Thrown when we fail to connect to ZooKeeper (assuming the root cause is that ZooKeeper failed to 23 | * bind to its port) 24 | */ 25 | public class ZooKeeperBindException extends RuntimeException { 26 | 27 | private static final long serialVersionUID = 1L; 28 | 29 | public ZooKeeperBindException() {} 30 | 31 | public ZooKeeperBindException(String message) { 32 | super(message); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /minicluster/src/test/resources/FooFilter.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/minicluster/src/test/resources/FooFilter.jar -------------------------------------------------------------------------------- /minicluster/src/test/resources/log4j2-test.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | dest = err 21 | name = AccumuloMiniclusterTestLoggingProperties 22 | 23 | appender.console.type = Console 24 | appender.console.name = STDOUT 25 | appender.console.target = SYSTEM_OUT 26 | appender.console.layout.type = PatternLayout 27 | appender.console.layout.pattern = %d{ISO8601} [%-8c{2}] %-5p: %m%n 28 | 29 | logger.01.name = org.apache.accumulo.core.clientImpl.ServerClient 30 | logger.01.level = error 31 | 32 | logger.02.name = org.apache.zookeeper 33 | logger.02.level = error 34 | 35 | rootLogger.level = info 36 | rootLogger.appenderRef.console.ref = STDOUT 37 | 38 | -------------------------------------------------------------------------------- /server/base/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /server/base/src/main/java/org/apache/accumulo/server/TabletLevel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.server; 20 | 21 | public enum TabletLevel { 22 | ROOT, META, NORMAL 23 | 24 | } 25 | -------------------------------------------------------------------------------- /server/base/src/main/java/org/apache/accumulo/server/compaction/RetryableThriftFunction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.server.compaction; 20 | 21 | import org.apache.thrift.TException; 22 | 23 | @FunctionalInterface 24 | public interface RetryableThriftFunction { 25 | // Note: Do not use the return type Void and return null from the function, 26 | // it will retry forever. If your function does not need to return anything, 27 | // just use String as the return type and return "". 28 | T execute() throws TException; 29 | } 30 | -------------------------------------------------------------------------------- /server/base/src/main/java/org/apache/accumulo/server/conf/store/PropCache.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.server.conf.store; 20 | 21 | import org.apache.accumulo.server.conf.codec.VersionedProperties; 22 | import org.checkerframework.checker.nullness.qual.Nullable; 23 | 24 | public interface PropCache { 25 | 26 | @Nullable 27 | VersionedProperties get(final PropStoreKey propStoreKey); 28 | 29 | void remove(final PropStoreKey propStoreKey); 30 | 31 | void removeAll(); 32 | 33 | } 34 | -------------------------------------------------------------------------------- /server/base/src/main/java/org/apache/accumulo/server/conf/store/SystemPropKey.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.server.conf.store; 20 | 21 | import static org.apache.accumulo.core.Constants.ZCONFIG; 22 | 23 | public class SystemPropKey extends PropStoreKey { 24 | 25 | private SystemPropKey(final String path) { 26 | super(path); 27 | } 28 | 29 | public static SystemPropKey of() { 30 | return new SystemPropKey(ZCONFIG); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /server/base/src/main/java/org/apache/accumulo/server/constraints/SystemEnvironment.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.server.constraints; 20 | 21 | import org.apache.accumulo.core.data.constraints.Constraint; 22 | import org.apache.accumulo.server.ServerContext; 23 | 24 | public interface SystemEnvironment extends Constraint.Environment { 25 | 26 | ServerContext getServerContext(); 27 | 28 | } 29 | -------------------------------------------------------------------------------- /server/base/src/main/java/org/apache/accumulo/server/fs/TooManyFilesException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.server.fs; 20 | 21 | import java.io.IOException; 22 | 23 | public class TooManyFilesException extends IOException { 24 | 25 | private static final long serialVersionUID = 1L; 26 | 27 | public TooManyFilesException(String msg) { 28 | super(msg); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /server/base/src/main/java/org/apache/accumulo/server/manager/state/ClosableIterable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.server.manager.state; 20 | 21 | public interface ClosableIterable extends Iterable { 22 | @Override 23 | ClosableIterator iterator(); 24 | } 25 | -------------------------------------------------------------------------------- /server/base/src/main/java/org/apache/accumulo/server/manager/state/ClosableIterator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.server.manager.state; 20 | 21 | import java.io.Closeable; 22 | import java.util.Iterator; 23 | 24 | public interface ClosableIterator extends Iterator, Closeable {} 25 | -------------------------------------------------------------------------------- /server/base/src/main/java/org/apache/accumulo/server/manager/state/DistributedStoreException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.server.manager.state; 20 | 21 | public class DistributedStoreException extends Exception { 22 | 23 | private static final long serialVersionUID = 1L; 24 | 25 | public DistributedStoreException(String why) { 26 | super(why); 27 | } 28 | 29 | public DistributedStoreException(Exception cause) { 30 | super(cause); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /server/base/src/main/java/org/apache/accumulo/server/metadata/iterators/PresentIterator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | package org.apache.accumulo.server.metadata.iterators; 21 | 22 | import org.apache.accumulo.core.data.Value; 23 | import org.apache.accumulo.core.iterators.WrappingIterator; 24 | 25 | public class PresentIterator extends WrappingIterator { 26 | 27 | public static final String VALUE = "present"; 28 | 29 | @Override 30 | public Value getTopValue() { 31 | super.getTopValue(); 32 | return new Value(VALUE); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /server/base/src/main/java/org/apache/accumulo/server/tables/IllegalTableTransitionException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.server.tables; 20 | 21 | import org.apache.accumulo.core.manager.state.tables.TableState; 22 | 23 | public class IllegalTableTransitionException extends RuntimeException { 24 | private static final long serialVersionUID = 1L; 25 | 26 | public IllegalTableTransitionException(TableState oldState, TableState newState) { 27 | super("Error transitioning from " + oldState + " state to " + newState + " state"); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /server/base/src/main/java/org/apache/accumulo/server/util/time/ProvidesTime.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.server.util.time; 20 | 21 | /** 22 | * An interface for anything that returns the time in the same format as System.currentTimeMillis(). 23 | */ 24 | public interface ProvidesTime { 25 | long currentTime(); 26 | } 27 | -------------------------------------------------------------------------------- /server/base/src/main/java/org/apache/accumulo/server/util/time/SystemTime.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.server.util.time; 20 | 21 | /** 22 | * The most obvious implementation of ProvidesTime. 23 | */ 24 | public class SystemTime implements ProvidesTime { 25 | 26 | @Override 27 | public long currentTime() { 28 | return System.currentTimeMillis(); 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /server/base/src/test/resources/accumulo.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # File needs to exist for unit tests 21 | 22 | instance.dfs.dir=${project.build.directory}/instanceTest 23 | instance.secret=TEST_SYSTEM_SECRET 24 | -------------------------------------------------------------------------------- /server/base/src/test/resources/log4j2-test.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | dest = err 21 | name = AccumuloServerBaseTestLoggingProperties 22 | 23 | appender.console.type = Console 24 | appender.console.name = STDOUT 25 | appender.console.target = SYSTEM_OUT 26 | appender.console.layout.type = PatternLayout 27 | appender.console.layout.pattern = %d{ISO8601} [%-8c{2}] %-5p: %m%n 28 | 29 | logger.01.name = org.apache.accumulo.server.util.TabletIterator 30 | logger.01.level = error 31 | 32 | rootLogger.level = info 33 | rootLogger.appenderRef.console.ref = STDOUT 34 | -------------------------------------------------------------------------------- /server/compactor/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /server/gc/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /server/gc/src/test/resources/accumulo.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # File needs to exist for unit tests 21 | -------------------------------------------------------------------------------- /server/manager/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /server/manager/src/main/java/org/apache/accumulo/manager/tableOps/namespace/create/NamespaceInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.manager.tableOps.namespace.create; 20 | 21 | import java.io.Serializable; 22 | import java.util.Map; 23 | 24 | import org.apache.accumulo.core.data.NamespaceId; 25 | 26 | class NamespaceInfo implements Serializable { 27 | 28 | private static final long serialVersionUID = 1L; 29 | 30 | String namespaceName; 31 | NamespaceId namespaceId; 32 | String user; 33 | 34 | public Map props; 35 | } 36 | -------------------------------------------------------------------------------- /server/manager/src/main/java/org/apache/accumulo/manager/tableOps/tableExport/ExportInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.manager.tableOps.tableExport; 20 | 21 | import java.io.Serializable; 22 | 23 | import org.apache.accumulo.core.data.NamespaceId; 24 | import org.apache.accumulo.core.data.TableId; 25 | 26 | class ExportInfo implements Serializable { 27 | 28 | private static final long serialVersionUID = 1L; 29 | 30 | public String tableName; 31 | public TableId tableID; 32 | public String exportDir; 33 | public NamespaceId namespaceID; 34 | } 35 | -------------------------------------------------------------------------------- /server/manager/src/test/resources/accumulo.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # File needs to exist for unit tests 21 | -------------------------------------------------------------------------------- /server/manager/src/test/resources/log4j2-test.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | dest = err 21 | name = AccumuloManagerTestLoggingProperties 22 | 23 | appender.console.type = Console 24 | appender.console.name = STDOUT 25 | appender.console.target = SYSTEM_OUT 26 | appender.console.layout.type = PatternLayout 27 | appender.console.layout.pattern = %d{ISO8601} [%-8c{2}] %-5p: %m%n 28 | 29 | logger.01.name = org.apache.hadoop.util.NativeCodeLoader 30 | logger.01.level = error 31 | 32 | rootLogger.level = info 33 | rootLogger.appenderRef.console.ref = STDOUT 34 | 35 | -------------------------------------------------------------------------------- /server/monitor/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /server/monitor/src/main/java/org/apache/accumulo/monitor/next/WebApplicationExceptionMapper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.monitor.next; 20 | 21 | import jakarta.ws.rs.WebApplicationException; 22 | import jakarta.ws.rs.core.Response; 23 | import jakarta.ws.rs.ext.ExceptionMapper; 24 | import jakarta.ws.rs.ext.Provider; 25 | 26 | @Provider 27 | public class WebApplicationExceptionMapper implements ExceptionMapper { 28 | 29 | @Override 30 | public Response toResponse(WebApplicationException exception) { 31 | return exception.getResponse(); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /server/monitor/src/main/java/org/apache/accumulo/monitor/rest/compactions/external/CompactorInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.monitor.rest.compactions.external; 20 | 21 | public class CompactorInfo { 22 | 23 | // Variable names become JSON keys 24 | public final long lastContact; 25 | public final String server; 26 | public final String groupName; 27 | 28 | public CompactorInfo(long fetchedTimeMillis, String group, String hostAndPort) { 29 | lastContact = System.currentTimeMillis() - fetchedTimeMillis; 30 | groupName = group; 31 | server = hostAndPort; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/bootstrap/fonts/bootstrap-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/bootstrap/fonts/bootstrap-icons.woff -------------------------------------------------------------------------------- /server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/bootstrap/fonts/bootstrap-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/bootstrap/fonts/bootstrap-icons.woff2 -------------------------------------------------------------------------------- /server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/images/accumulo-avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/images/accumulo-avatar.png -------------------------------------------------------------------------------- /server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/images/accumulo-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/images/accumulo-logo.png -------------------------------------------------------------------------------- /server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/images/details_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/images/details_close.png -------------------------------------------------------------------------------- /server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/images/details_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/images/details_open.png -------------------------------------------------------------------------------- /server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/images/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/images/favicon.png -------------------------------------------------------------------------------- /server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/global.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | "use strict"; 20 | 21 | /** 22 | * List of namespaces in Accumulo 23 | */ 24 | var NAMESPACES = ''; 25 | 26 | /** 27 | * Timer object 28 | */ 29 | var TIMER; 30 | 31 | const EMPTY_CELL = "-"; 32 | const EMPTY_ROW_THREE_CELLS = "" + EMPTY_CELL + EMPTY_CELL + EMPTY_CELL + ""; 33 | -------------------------------------------------------------------------------- /server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/js/modals.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | 20 | 21 | $(document).ready(function () { 22 | getInstanceInfo().then(function () { 23 | const data = JSON.parse(sessionStorage.instance); 24 | $('#modal-version').text(data.version); 25 | $('#modal-instance-name').text(data.instanceName); 26 | $('#modal-instance-id').text(data.instanceUUID); 27 | $('#modal-zk-hosts').text(data.zooKeepers); 28 | $('#modal-volumes').text(data.volumes); 29 | }); 30 | }); 31 | -------------------------------------------------------------------------------- /server/monitor/src/test/java/org/apache/accumulo/monitor/it/TagNameConstants.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.monitor.it; 20 | 21 | public class TagNameConstants { 22 | public static final String MONITOR = "Monitor"; 23 | } 24 | -------------------------------------------------------------------------------- /server/monitor/src/test/resources/log4j2-test.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | dest = err 21 | name = AccumuloMonitorTestLoggingProperties 22 | 23 | appender.console.type = Console 24 | appender.console.name = STDOUT 25 | appender.console.target = SYSTEM_OUT 26 | appender.console.layout.type = PatternLayout 27 | appender.console.layout.pattern = %d{ISO8601} [%-8c{2}] %-5p: %m%n 28 | 29 | rootLogger.level = info 30 | rootLogger.appenderRef.console.ref = STDOUT 31 | 32 | -------------------------------------------------------------------------------- /server/native/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /server/native/src/main/resources/NOTICE: -------------------------------------------------------------------------------- 1 | Apache Accumulo Native Libraries 2 | Copyright 2011-2024 The Apache Software Foundation 3 | 4 | This product includes software developed at 5 | The Apache Software Foundation (https://www.apache.org/). 6 | -------------------------------------------------------------------------------- /server/native/src/test/c++/nativeMap/util.cc: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | #include 20 | #include 21 | #include 22 | 23 | #include "util.h" 24 | 25 | size_t getMemUsage(){ 26 | pid_t pid = getpid(); 27 | char cmd[1000]; 28 | sprintf(cmd, "cat /proc/%d/status | grep VmData | awk '{print $2}'", pid); 29 | FILE *f = popen(cmd, "r"); 30 | int dataSize; 31 | fscanf(f, "%d\n", &dataSize); 32 | pclose(f); 33 | return (size_t)dataSize * (size_t)1024; 34 | } 35 | -------------------------------------------------------------------------------- /server/native/src/test/c++/nativeMap/util.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | size_t getMemUsage(); 20 | 21 | -------------------------------------------------------------------------------- /server/tserver/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /server/tserver/src/main/java/org/apache/accumulo/tserver/HoldTimeoutException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.tserver; 20 | 21 | public class HoldTimeoutException extends RuntimeException { 22 | private static final long serialVersionUID = 1L; 23 | 24 | public HoldTimeoutException(String why) { 25 | super(why); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /server/tserver/src/main/java/org/apache/accumulo/tserver/MinorCompactionReason.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.tserver; 20 | 21 | public enum MinorCompactionReason { 22 | USER, SYSTEM, CLOSE, RECOVERY 23 | } 24 | -------------------------------------------------------------------------------- /server/tserver/src/main/java/org/apache/accumulo/tserver/constraints/SystemConstraint.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.tserver.constraints; 20 | 21 | import org.apache.accumulo.core.data.constraints.Constraint; 22 | 23 | public abstract class SystemConstraint implements Constraint {} 24 | -------------------------------------------------------------------------------- /server/tserver/src/main/java/org/apache/accumulo/tserver/log/CloseableIterator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.tserver.log; 20 | 21 | import java.io.IOException; 22 | import java.util.Iterator; 23 | 24 | public interface CloseableIterator extends Iterator, AutoCloseable { 25 | @Override 26 | void close() throws IOException; 27 | } 28 | -------------------------------------------------------------------------------- /server/tserver/src/main/java/org/apache/accumulo/tserver/log/MutationReceiver.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.tserver.log; 20 | 21 | import org.apache.accumulo.core.data.Mutation; 22 | 23 | public interface MutationReceiver { 24 | void receive(Mutation m); 25 | } 26 | -------------------------------------------------------------------------------- /server/tserver/src/main/java/org/apache/accumulo/tserver/logger/LogEvents.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.tserver.logger; 20 | 21 | public enum LogEvents { 22 | // DO NOT CHANGE ORDER OF ENUMS, ORDER IS USED IN SERIALIZATION 23 | OPEN, DEFINE_TABLET, MUTATION, MANY_MUTATIONS, COMPACTION_START, COMPACTION_FINISH 24 | } 25 | -------------------------------------------------------------------------------- /server/tserver/src/main/java/org/apache/accumulo/tserver/scan/ScanRunState.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.tserver.scan; 20 | 21 | public enum ScanRunState { 22 | QUEUED, RUNNING, FINISHED 23 | } 24 | -------------------------------------------------------------------------------- /server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/ScanBatch.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.tserver.tablet; 20 | 21 | import java.util.List; 22 | 23 | public final class ScanBatch { 24 | private final boolean more; 25 | private final List results; 26 | 27 | public ScanBatch(List results, boolean more) { 28 | this.results = results; 29 | this.more = more; 30 | } 31 | 32 | public boolean isMore() { 33 | return more; 34 | } 35 | 36 | public List getResults() { 37 | return results; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/TabletClosedException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.tserver.tablet; 20 | 21 | public class TabletClosedException extends RuntimeException { 22 | public TabletClosedException(Exception e) { 23 | super(e); 24 | } 25 | 26 | public TabletClosedException() {} 27 | 28 | private static final long serialVersionUID = 1L; 29 | } 30 | -------------------------------------------------------------------------------- /server/tserver/src/test/resources/walog-from-14/550e8400-e29b-41d4-a716-446655440000: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/server/tserver/src/test/resources/walog-from-14/550e8400-e29b-41d4-a716-446655440000 -------------------------------------------------------------------------------- /server/tserver/src/test/resources/walog-from-15.walog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/server/tserver/src/test/resources/walog-from-15.walog -------------------------------------------------------------------------------- /server/tserver/src/test/resources/walog-from-16.walog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/server/tserver/src/test/resources/walog-from-16.walog -------------------------------------------------------------------------------- /server/tserver/src/test/resources/walog-from-20.walog: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/server/tserver/src/test/resources/walog-from-20.walog -------------------------------------------------------------------------------- /shell/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /shell/src/main/java/org/apache/accumulo/shell/ShellExtension.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.shell; 20 | 21 | import org.apache.accumulo.shell.Shell.Command; 22 | 23 | public abstract class ShellExtension { 24 | 25 | public abstract String getExtensionName(); 26 | 27 | public abstract Command[] getCommands(); 28 | 29 | } 30 | -------------------------------------------------------------------------------- /shell/src/main/java/org/apache/accumulo/shell/ShellOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.shell; 20 | 21 | /** 22 | * Abstract class to encompass the Options available on the Accumulo Shell 23 | */ 24 | public abstract class ShellOptions { 25 | // Global options flags 26 | public static final String userOption = "u"; 27 | public static final String tableOption = "t"; 28 | public static final String namespaceOption = "ns"; 29 | public static final String helpOption = "?"; 30 | public static final String helpLongOption = "help"; 31 | } 32 | -------------------------------------------------------------------------------- /shell/src/main/java/org/apache/accumulo/shell/commands/ByeCommand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.shell.commands; 20 | 21 | public class ByeCommand extends ExitCommand {} 22 | -------------------------------------------------------------------------------- /shell/src/main/java/org/apache/accumulo/shell/commands/ClsCommand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.shell.commands; 20 | 21 | public class ClsCommand extends ClearCommand {} 22 | -------------------------------------------------------------------------------- /shell/src/main/java/org/apache/accumulo/shell/commands/DeleteUserCommand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.shell.commands; 20 | 21 | public class DeleteUserCommand extends DropUserCommand {} 22 | -------------------------------------------------------------------------------- /shell/src/main/java/org/apache/accumulo/shell/commands/DropTableCommand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.shell.commands; 20 | 21 | public class DropTableCommand extends DeleteTableCommand { 22 | 23 | @Override 24 | public String description() { 25 | return "deletes a table (Same as deletetable)"; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /shell/src/main/java/org/apache/accumulo/shell/commands/InfoCommand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.shell.commands; 20 | 21 | public class InfoCommand extends AboutCommand {} 22 | -------------------------------------------------------------------------------- /shell/src/main/java/org/apache/accumulo/shell/commands/QuestionCommand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.shell.commands; 20 | 21 | public class QuestionCommand extends HelpCommand { 22 | @Override 23 | public String getName() { 24 | return "?"; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /shell/src/main/java/org/apache/accumulo/shell/commands/QuitCommand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.shell.commands; 20 | 21 | public class QuitCommand extends ExitCommand {} 22 | -------------------------------------------------------------------------------- /shell/src/test/java/org/apache/accumulo/shell/commands/CompactCommandTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.shell.commands; 20 | 21 | import static org.junit.jupiter.api.Assertions.assertTrue; 22 | 23 | import org.junit.jupiter.api.Test; 24 | 25 | public class CompactCommandTest { 26 | 27 | @Test 28 | public void testBeginRowHelp() { 29 | assertTrue( 30 | new CompactCommand().getOptions().getOption("b").getDescription().contains("(exclusive)"), 31 | "-b should say it is exclusive"); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /shell/src/test/java/org/apache/accumulo/shell/commands/DeleteManyCommandTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.shell.commands; 20 | 21 | import static org.junit.jupiter.api.Assertions.assertTrue; 22 | 23 | import org.junit.jupiter.api.Test; 24 | 25 | public class DeleteManyCommandTest { 26 | 27 | @Test 28 | public void testBeginRowHelp() { 29 | assertTrue(new DeleteManyCommand().getOptions().getOption("b").getDescription() 30 | .contains("row (inclusive)"), "-b should say it is inclusive"); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /shell/src/test/java/org/apache/accumulo/shell/commands/DeleteRowsCommandTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.shell.commands; 20 | 21 | import static org.junit.jupiter.api.Assertions.assertTrue; 22 | 23 | import org.junit.jupiter.api.Test; 24 | 25 | public class DeleteRowsCommandTest { 26 | 27 | @Test 28 | public void testBeginRowHelp() { 29 | assertTrue(new DeleteRowsCommand().getOptions().getOption("b").getDescription() 30 | .contains("(exclusive)"), "-b should say it is exclusive"); 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /shell/src/test/java/org/apache/accumulo/shell/commands/FlushCommandTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.shell.commands; 20 | 21 | import static org.junit.jupiter.api.Assertions.assertTrue; 22 | 23 | import org.junit.jupiter.api.Test; 24 | 25 | public class FlushCommandTest { 26 | 27 | @Test 28 | public void testBeginRowHelp() { 29 | assertTrue( 30 | new FlushCommand().getOptions().getOption("b").getDescription().contains("(exclusive)"), 31 | "-b should say it is exclusive"); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /shell/src/test/java/org/apache/accumulo/shell/commands/MergeCommandTest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.shell.commands; 20 | 21 | import static org.junit.jupiter.api.Assertions.assertTrue; 22 | 23 | import org.junit.jupiter.api.Test; 24 | 25 | public class MergeCommandTest { 26 | 27 | @Test 28 | public void testBeginRowHelp() { 29 | assertTrue( 30 | new MergeCommand().getOptions().getOption("b").getDescription().contains("(exclusive)"), 31 | "-b should say it is exclusive"); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/build/ci/install-shfmt.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # https://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | 21 | # Install shfmt tool to search for and optionally format bash scripts 22 | # This is useful for other CI tools to run ShellCheck and shfmt to format 23 | 24 | set -e 25 | set -x 26 | 27 | shfmt_version=3.4.3 28 | sudo wget "https://github.com/mvdan/sh/releases/download/v${shfmt_version}/shfmt_v${shfmt_version}_linux_amd64" -O /usr/local/bin/shfmt && 29 | sudo chmod +x /usr/local/bin/shfmt 30 | -------------------------------------------------------------------------------- /src/build/ci/run-shellcheck.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # https://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | 21 | # Run ShellCheck on all bash scripts 22 | 23 | set -e 24 | 25 | mapfile -t filestocheck < <(shfmt -f .) 26 | 27 | set -x 28 | shellcheck -P SCRIPTDIR -x "${filestocheck[@]}" 29 | -------------------------------------------------------------------------------- /src/build/ci/run-shfmt.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # https://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | 21 | # Check formatting of all bash scripts 22 | 23 | set -e 24 | set -x 25 | 26 | shfmt -ln bash -l -d -i 2 -ci -s . 27 | -------------------------------------------------------------------------------- /src/build/ci/run-thrift.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # https://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | 21 | # Check that the generated thrift code hasn't changed from 22 | # what is currently checked in to the repository 23 | 24 | set -e 25 | 26 | echo 'Checking if thrift modified any files...' 27 | (cd core && src/main/scripts/generate-thrift.sh) 28 | 29 | if [[ -n $(git status --porcelain --ignored=no) ]]; then 30 | echo 'Thrift build changed files in worktree:' 31 | git status --short --ignored=no 32 | exit 1 33 | else 34 | echo 'No changes detected.' 35 | fi 36 | -------------------------------------------------------------------------------- /src/build/license-header.txt: -------------------------------------------------------------------------------- 1 | Licensed to the Apache Software Foundation (ASF) under one 2 | or more contributor license agreements. See the NOTICE file 3 | distributed with this work for additional information 4 | regarding copyright ownership. The ASF licenses this file 5 | to you under the Apache License, Version 2.0 (the 6 | "License"); you may not use this file except in compliance 7 | with the License. You may obtain a copy of the License at 8 | 9 | https://www.apache.org/licenses/LICENSE-2.0 10 | 11 | Unless required by applicable law or agreed to in writing, 12 | software distributed under the License is distributed on an 13 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 14 | KIND, either express or implied. See the License for the 15 | specific language governing permissions and limitations 16 | under the License. 17 | -------------------------------------------------------------------------------- /start/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /start/src/main/spotbugs/exclude-filter.xml: -------------------------------------------------------------------------------- 1 | 21 | 22 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /start/src/test/java/test/HelloWorldTemplate: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package test; 20 | 21 | public class HelloWorld { 22 | 23 | @Override 24 | public String toString() { 25 | return "%%"; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /start/src/test/java/test/Test.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package test; 20 | 21 | public interface Test { 22 | 23 | String hello(); 24 | 25 | int add(); 26 | 27 | } 28 | -------------------------------------------------------------------------------- /start/src/test/java/test/TestTemplate: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package test; 20 | 21 | public class TestObject implements Test { 22 | 23 | int i = 0; 24 | 25 | @Override 26 | public String hello() { 27 | return "Hello from testX"; 28 | } 29 | 30 | @Override 31 | public int add() { 32 | i += 1; 33 | return i; 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /start/src/test/resources/log4j2-test.properties: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | dest = err 21 | name = AccumuloStartTestLoggingProperties 22 | 23 | appender.console.type = Console 24 | appender.console.name = STDOUT 25 | appender.console.target = SYSTEM_OUT 26 | appender.console.layout.type = PatternLayout 27 | appender.console.layout.pattern = [%t} %-5p %c %x - %m%n 28 | 29 | rootLogger.level = info 30 | rootLogger.appenderRef.console.ref = STDOUT 31 | -------------------------------------------------------------------------------- /test/.gitignore: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | # Maven ignores 21 | /target/ 22 | 23 | # IDE ignores 24 | /.settings/ 25 | /.project 26 | /.classpath 27 | /.pydevproject 28 | /.idea 29 | /*.iml 30 | /*.ipr 31 | /*.iws 32 | /nbproject/ 33 | /nbactions.xml 34 | /nb-configuration.xml 35 | /.vscode/ 36 | /.factorypath 37 | -------------------------------------------------------------------------------- /test/src/main/java/org/apache/accumulo/harness/conf/AccumuloClusterConfiguration.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.harness.conf; 20 | 21 | import org.apache.accumulo.core.client.security.tokens.AuthenticationToken; 22 | import org.apache.accumulo.harness.AccumuloClusterHarness.ClusterType; 23 | 24 | /** 25 | * Base functionality that must be provided as configuration to the test 26 | */ 27 | public interface AccumuloClusterConfiguration { 28 | 29 | ClusterType getClusterType(); 30 | 31 | String getAdminPrincipal(); 32 | 33 | AuthenticationToken getAdminToken(); 34 | } 35 | -------------------------------------------------------------------------------- /test/src/main/java/org/apache/accumulo/test/compaction/ExternalCompaction_2_IT.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.test.compaction; 20 | 21 | import org.junit.jupiter.api.BeforeAll; 22 | 23 | public class ExternalCompaction_2_IT extends ExternalCompaction2ITBase { 24 | 25 | @BeforeAll 26 | public static void beforeTests() throws Exception { 27 | startMiniClusterWithConfig(new ExternalCompaction2Config()); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /test/src/main/java/org/apache/accumulo/test/functional/BadCombiner.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | package org.apache.accumulo.test.functional; 20 | 21 | import java.util.Iterator; 22 | 23 | import org.apache.accumulo.core.data.Key; 24 | import org.apache.accumulo.core.data.Value; 25 | import org.apache.accumulo.core.iterators.Combiner; 26 | 27 | public class BadCombiner extends Combiner { 28 | 29 | @Override 30 | public Value reduce(Key key, Iterator iter) { 31 | throw new IllegalStateException(); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /test/src/main/resources/org/apache/accumulo/test/FooConstraint_2_1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/test/src/main/resources/org/apache/accumulo/test/FooConstraint_2_1.jar -------------------------------------------------------------------------------- /test/src/main/resources/org/apache/accumulo/test/FooFilter.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/test/src/main/resources/org/apache/accumulo/test/FooFilter.jar -------------------------------------------------------------------------------- /test/src/main/resources/org/apache/accumulo/test/ShellServerIT-iterators.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/test/src/main/resources/org/apache/accumulo/test/ShellServerIT-iterators.jar -------------------------------------------------------------------------------- /test/src/main/resources/org/apache/accumulo/test/TestCombinerX.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/test/src/main/resources/org/apache/accumulo/test/TestCombinerX.jar -------------------------------------------------------------------------------- /test/src/main/resources/org/apache/accumulo/test/TestCombinerY.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/test/src/main/resources/org/apache/accumulo/test/TestCombinerY.jar -------------------------------------------------------------------------------- /test/src/main/resources/org/apache/accumulo/test/shellit.shellit: -------------------------------------------------------------------------------- 1 | # 2 | # Licensed to the Apache Software Foundation (ASF) under one 3 | # or more contributor license agreements. See the NOTICE file 4 | # distributed with this work for additional information 5 | # regarding copyright ownership. The ASF licenses this file 6 | # to you under the Apache License, Version 2.0 (the 7 | # "License"); you may not use this file except in compliance 8 | # with the License. You may obtain a copy of the License at 9 | # 10 | # https://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, 13 | # software distributed under the License is distributed on an 14 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | # KIND, either express or implied. See the License for the 16 | # specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | 20 | exit 21 | foo 22 | -------------------------------------------------------------------------------- /test/src/main/resources/org/apache/accumulo/test/ver_7.rf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/test/src/main/resources/org/apache/accumulo/test/ver_7.rf -------------------------------------------------------------------------------- /test/src/main/resources/v2_import_test/data/A0000008.rf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/test/src/main/resources/v2_import_test/data/A0000008.rf -------------------------------------------------------------------------------- /test/src/main/resources/v2_import_test/data/A0000009.rf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/test/src/main/resources/v2_import_test/data/A0000009.rf -------------------------------------------------------------------------------- /test/src/main/resources/v2_import_test/data/A000000a.rf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/test/src/main/resources/v2_import_test/data/A000000a.rf -------------------------------------------------------------------------------- /test/src/main/resources/v2_import_test/data/A000000b.rf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/test/src/main/resources/v2_import_test/data/A000000b.rf -------------------------------------------------------------------------------- /test/src/main/resources/v2_import_test/data/distcp.txt: -------------------------------------------------------------------------------- 1 | hdfs://localhost:8020/accumulo/tables/1/default_tablet/A000000b.rf 2 | hdfs://localhost:8020/accumulo/tables/1/t-0000002/A000000a.rf 3 | hdfs://localhost:8020/accumulo/tables/1/t-0000001/A0000009.rf 4 | hdfs://localhost:8020/accumulo/tables/1/t-0000003/A0000008.rf 5 | hdfs://localhost:8020/accumulo/export_test/exportMetadata.zip 6 | -------------------------------------------------------------------------------- /test/src/main/resources/v2_import_test/data/exportMetadata.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/apache/accumulo/05b5e68740d6da445170438bc1e583c1ee6f5ed1/test/src/main/resources/v2_import_test/data/exportMetadata.zip -------------------------------------------------------------------------------- /test/src/main/scripts/generate-thrift.sh: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env bash 2 | # 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # https://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # 20 | 21 | # This script will regenerate the thrift code for accumulo-trace. 22 | INCLUDED_MODULES=(-) 23 | BASE_OUTPUT_PACKAGE='org.apache.accumulo' 24 | PACKAGES_TO_GENERATE=(test.rpc) 25 | 26 | #shellcheck source=../../../../core/src/main/scripts/generate-thrift.sh 27 | . ../core/src/main/scripts/generate-thrift.sh 28 | -------------------------------------------------------------------------------- /test/src/main/thrift/test.thrift: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * https://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | namespace java org.apache.accumulo.test.rpc.thrift 20 | 21 | service SimpleThriftService { 22 | 23 | string echoPass(1:string value) 24 | oneway void onewayPass(1:string value) 25 | 26 | string echoFail(1:string value) 27 | oneway void onewayFail(1:string value) 28 | 29 | string echoRuntimeFail(1:string value) 30 | oneway void onewayRuntimeFail(1:string value) 31 | 32 | } 33 | --------------------------------------------------------------------------------