Apache Accumulo 4.0.0 Alpha 1
24 Aug 2026
Please view the latest release notes.
About
Apache Accumulo 4.0.0 is a non-LTM major version release that contains a large number of internal changes that allow a lot of flexibility in the way that Accumulo is deployed with a small number of API changes. A high level overview of some of the changes are described in this blog post.
Notable Changes
-
Accumulo 4.0.0 requires Java 21 for compilation and Java 17 for runtime.
-
Bulk Import V1 has been removed. Users will need to migrate to Bulk Import V2.
-
Tablet merges no longer require a chop compaction on the participating files. To facilitate this the file entry in the tablet metadata now includes the range for the tablet data in the file.
-
FaTE locks include tablet ranges where possible to allow for concurrent FaTE operations on non-overlapping tablet ranges.
-
The CompactionCoordinator process no longer exists, its functionality was moved into the Manager.
-
Non-system tablets will be optionally hosted by default. Operations requiring a tablet to be hosted (live ingest and immediate consistency scans) will instruct the Manager to temporarily assign the Tablet. Users can change the default hosting semantics for Tablets when creating the table, using the TableOperations API, or the appropriate command in the Shell. Tablets that are temporarily assigned are unloaded according to the logic in the OnDemandTabletUnloader plugin being used, specified by the property ‘tserver.ondemand.tablet.unloader’. The default implementation will unload tablets that have not been used in 10 minutes, which can be changed by the property ‘tserver.ondemand.tablet.unloader.interval’.
-
Considering TabletServers optionally host Tablets, all Tablet management functions (e.g. merge, split, compaction initiation, bulk import, etc.) have been moved into the Manager. TabletServers no longer perform major compactions making Compactor processes mandatory (ScanServers remain an optional feature).
-
Tablets in a table can now be automatically merged. There is a manager property to control the interval at which tablets are checked and a table property to control the threshold for an automatic merge. Tablet mergeability can be specified at table creation time or using
TableOperations.putSplits. The upgrade process sets the tablet mergeability to never for all existing tablets to preserve any user created split points. Tablet mergeability can be set when adding new splits and will be set to always when the split is created by the system based on user settings. See merging for more information. -
Split and Merge operations, which are now just metadata operations, can be much faster for tablets that are not hosted. For tablets that are hosted in a TabletServer, they are temporarily unloaded before the operation executes.
-
Multiple active Manager processes are supported. One active Manager is considered the “primary” Manager and the others are considered “assistant” Managers. Clients will connect to the primary Manager for Thrift operations requiring the Manager. If the primary Manager process dies then one of the assistant Managers will become the Primary. The assistant Managers participate in processing FaTE transactions, but not tablet management or coordinating major compactions.
-
New table property
table.compaction.minor.agewill cause a minor compaction to be initiated when the oldest key-value in a Tablets’ in-memory-map exceeds the value. This could be useful when using Scan Servers in conjunction with the Tablet Metadata expiration property. -
The HostRegexTableLoadBalancer has been deprecated. Similar functionality can be achieved using the TableLoadBalancer and setting the property
table.custom.assignment.groupon a table that references a set of Tablet Servers using the same resource group name. -
The Monitor has been re-worked to mostly use the metrics emitted by the various server processes. While the Monitor server does make some RPC calls, metrics will need to be enabled using the property
general.micrometer.enabledon all server processes for the Monitor to work properly. Endpoints for retrieving the underlying data from the Monitor server in XML or JSON format have been removed. Users are encouraged to set up their own metric collection system for gathering and visualizing metric data. -
Log recovery work may now be performed in Compactor, Scan Server, and Tablet Server processes.
-
User FaTE transactions are now stored in a table in the system namespace. System FaTE transactions remain stored in ZooKeeper.
-
Scan Server file references have been moved out of the metadata table and into their own table in the system namespace.
-
A Resource Group configuration layer has been added that allows the user to override system-level properties for resource group processes.
-
Table configuration properties are now only allowed in the Namespace and Table configuration layers.
-
The command line utilities have been updated. Run
accumulo --helpto see the changes. A bash completion script can be generated using the commandaccumulo conf create-autocomplete-script. -
The number of threads used to process FaTE transactions can be configured by FaTE transaction type for both user and system FaTE transactions.
API Changes (from 2.1.6)
Click to see API changes
Additions
| Change | Object |
|---|---|
| Abstract method was added. | method long org.apache.accumulo.core.client.admin.ActiveCompaction::getPausedCount() |
| Abstract method was added. | method org.apache.accumulo.core.client.admin.servers.ServerId org.apache.accumulo.core.client.admin.ActiveCompaction::getServerId() |
| Abstract method was added. | method org.apache.accumulo.core.client.admin.servers.ServerId org.apache.accumulo.core.client.admin.ActiveScan::getServerId() |
| Method was added to an interface. | method boolean org.apache.accumulo.core.iterators.IteratorEnvironment::isRunningLowOnMemory() |
| Method was added to an interface. | method java.lang.String org.apache.accumulo.core.client.admin.TableOperations::getNamespace(java.lang.String) |
| Method was added to an interface. | method java.time.Duration org.apache.accumulo.core.client.admin.InstanceOperations::getManagerTime() throws org.apache.accumulo.core.client.AccumuloException, org.apache.accumulo.core.client.AccumuloSecurityException |
| Method was added to an interface. | method java.util.List |
| Method was added to an interface. | method java.util.List |
| Method was added to an interface. | method java.util.Map<java.lang.String, java.lang.String> org.apache.accumulo.core.client.admin.InstanceOperations::getSystemProperties() throws org.apache.accumulo.core.client.AccumuloException, org.apache.accumulo.core.client.AccumuloSecurityException |
| Method was added to an interface. | method java.util.Set |
| Method was added to an interface. | method java.util.Set |
| Method was added to an interface. | method java.util.Set |
| Method was added to an interface. | method org.apache.accumulo.core.client.admin.ResourceGroupOperations org.apache.accumulo.core.client.AccumuloClient::resourceGroupOperations() |
| Method was added to an interface. | method org.apache.accumulo.core.client.admin.servers.ServerId org.apache.accumulo.core.client.admin.InstanceOperations::getServer(org.apache.accumulo.core.client.admin.servers.ServerId.Type, org.apache.accumulo.core.data.ResourceGroupId, java.lang.String, int) |
| Method was added to an interface. | method org.apache.accumulo.core.client.rfile.RFile.ScannerFSOptions org.apache.accumulo.core.client.rfile.RFile.InputArguments::from(org.apache.accumulo.core.client.rfile.RFile.InputArguments.FencedPath[]) |
| Method was added to an interface. | method org.apache.accumulo.core.data.KeyBuilder.Build org.apache.accumulo.core.data.KeyBuilder.ColumnVisibilityStep::visibility(org.apache.accumulo.core.data.ByteSequence) |
| Method was added to an interface. | method org.apache.accumulo.core.data.KeyBuilder.ColumnFamilyStep org.apache.accumulo.core.data.KeyBuilder.RowStep::row(org.apache.accumulo.core.data.ByteSequence) |
| Method was added to an interface. | method org.apache.accumulo.core.data.KeyBuilder.ColumnQualifierStep org.apache.accumulo.core.data.KeyBuilder.ColumnFamilyStep::family(org.apache.accumulo.core.data.ByteSequence) |
| Method was added to an interface. | method org.apache.accumulo.core.data.KeyBuilder.ColumnVisibilityStep org.apache.accumulo.core.data.KeyBuilder.ColumnQualifierStep::qualifier(org.apache.accumulo.core.data.ByteSequence) |
| Method was added to an interface. | method org.apache.accumulo.core.data.Mutation.TimestampOptions org.apache.accumulo.core.data.Mutation.FamilyOptions::keyColumns(org.apache.accumulo.core.data.Key) |
| Method was added to an interface. | method org.apache.accumulo.core.data.RowRange org.apache.accumulo.core.client.admin.compaction.CompactableFile::getRange() |
| Method was added to an interface. | method org.apache.accumulo.core.data.TabletId org.apache.accumulo.core.client.admin.compaction.CompactionSelector.SelectionParameters::getTabletId() |
| Method was added to an interface. | method org.apache.hadoop.io.Text org.apache.accumulo.core.client.admin.TableOperations::getMaxRow(java.lang.String, org.apache.accumulo.core.security.Authorizations, org.apache.accumulo.core.data.RowRange) throws org.apache.accumulo.core.client.TableNotFoundException, org.apache.accumulo.core.client.AccumuloException, org.apache.accumulo.core.client.AccumuloSecurityException |
| Method was added to an interface. | method void org.apache.accumulo.core.client.admin.InstanceOperations::ping(org.apache.accumulo.core.client.admin.servers.ServerId) throws org.apache.accumulo.core.client.AccumuloException |
| Method was added to an interface. | method void org.apache.accumulo.core.client.admin.TableOperations::putSplits(java.lang.String, java.util.SortedMap<org.apache.hadoop.io.Text, org.apache.accumulo.core.client.admin.TabletMergeability>) throws org.apache.accumulo.core.client.TableNotFoundException, org.apache.accumulo.core.client.AccumuloException, org.apache.accumulo.core.client.AccumuloSecurityException |
Removals
| Change | Object |
|---|---|
| Class was removed. | class org.apache.accumulo.core.client.admin.CompactionStrategyConfig |
| Class was removed. | class org.apache.accumulo.core.client.ClientConfiguration |
| Class was removed. | class org.apache.accumulo.core.client.Connector |
| Class was removed. | class org.apache.accumulo.core.client.mapred.AbstractInputFormat<K, V> |
| Class was removed. | class org.apache.accumulo.core.client.mapred.AccumuloFileOutputFormat |
| Class was removed. | class org.apache.accumulo.core.client.mapred.AccumuloInputFormat |
| Class was removed. | class org.apache.accumulo.core.client.mapred.AccumuloMultiTableInputFormat |
| Class was removed. | class org.apache.accumulo.core.client.mapred.AccumuloOutputFormat |
| Class was removed. | class org.apache.accumulo.core.client.mapred.AccumuloRowInputFormat |
| Class was removed. | class org.apache.accumulo.core.client.mapred.InputFormatBase<K, V> |
| Class was removed. | class org.apache.accumulo.core.client.mapred.RangeInputSplit |
| Class was removed. | class org.apache.accumulo.core.client.mapreduce.AbstractInputFormat<K, V> |
| Class was removed. | class org.apache.accumulo.core.client.mapreduce.AccumuloFileOutputFormat |
| Class was removed. | class org.apache.accumulo.core.client.mapreduce.AccumuloInputFormat |
| Class was removed. | class org.apache.accumulo.core.client.mapreduce.AccumuloMultiTableInputFormat |
| Class was removed. | class org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat |
| Class was removed. | class org.apache.accumulo.core.client.mapreduce.AccumuloRowInputFormat |
| Class was removed. | class org.apache.accumulo.core.client.mapreduce.InputFormatBase<K, V> |
| Class was removed. | class org.apache.accumulo.core.client.mapreduce.InputTableConfig |
| Class was removed. | class org.apache.accumulo.core.client.mapreduce.lib.partition.KeyRangePartitioner |
| Class was removed. | class org.apache.accumulo.core.client.mapreduce.lib.partition.RangePartitioner |
| Class was removed. | class org.apache.accumulo.core.client.mapreduce.RangeInputSplit |
| Class was removed. | class org.apache.accumulo.core.client.replication.PeerExistsException |
| Class was removed. | class org.apache.accumulo.core.client.replication.PeerNotFoundException |
| Class was removed. | class org.apache.accumulo.core.client.ZooKeeperInstance |
| Class was removed. | class org.apache.accumulo.minicluster.MiniAccumuloInstance |
| Class was removed. | interface org.apache.accumulo.core.client.admin.ActiveCompaction.CompactionHost |
| Class was removed. | interface org.apache.accumulo.core.client.admin.ReplicationOperations |
| Class was removed. | interface org.apache.accumulo.core.client.Instance |
| Method was removed. | method boolean org.apache.accumulo.core.client.sample.AbstractHashSampler::isValidOption(java.lang.String) |
| Method was removed. | method int org.apache.accumulo.minicluster.MiniAccumuloConfig::getNumTservers() |
| Method was removed. | method java.lang.String org.apache.accumulo.core.client.admin.InstanceOperations::getInstanceID() |
| Method was removed. | method java.util.Collection |
| Method was removed. | method java.util.Collection |
| Method was removed. | method java.util.Set |
| Method was removed. | method org.apache.accumulo.core.client.admin.ActiveCompaction.CompactionHost org.apache.accumulo.core.client.admin.ActiveCompaction::getHost() |
| Method was removed. | method org.apache.accumulo.core.client.admin.CompactionConfig org.apache.accumulo.core.client.admin.CompactionConfig::setCompactionStrategy(org.apache.accumulo.core.client.admin.CompactionStrategyConfig) |
| Method was removed. | method org.apache.accumulo.core.client.admin.CompactionStrategyConfig org.apache.accumulo.core.client.admin.CompactionConfig::getCompactionStrategy() |
| Method was removed. | method org.apache.accumulo.core.client.admin.NewTableConfiguration org.apache.accumulo.core.client.admin.NewTableConfiguration::withoutDefaultIterators() |
| Method was removed. | method org.apache.accumulo.core.client.admin.ReplicationOperations org.apache.accumulo.core.client.AccumuloClient::replicationOperations() |
| Method was removed. | method org.apache.accumulo.core.client.ClientConfiguration org.apache.accumulo.minicluster.MiniAccumuloCluster::getClientConfig() |
| Method was removed. | method org.apache.accumulo.core.client.Connector org.apache.accumulo.minicluster.MiniAccumuloCluster::getConnector(java.lang.String, java.lang.String) throws org.apache.accumulo.core.client.AccumuloException, org.apache.accumulo.core.client.AccumuloSecurityException |
| Method was removed. | method org.apache.accumulo.core.conf.AccumuloConfiguration org.apache.accumulo.core.iterators.IteratorEnvironment::getConfig() |
| Method was removed. | method org.apache.accumulo.core.iterators.SortedKeyValueIterator<org.apache.accumulo.core.data.Key, org.apache.accumulo.core.data.Value> org.apache.accumulo.core.iterators.IteratorEnvironment::reserveMapFileReader(java.lang.String) throws java.io.IOException |
| Method was removed. | method org.apache.accumulo.core.spi.common.ServiceEnvironment org.apache.accumulo.core.iterators.IteratorEnvironment::getServiceEnv() |
| Method was removed. | method org.apache.accumulo.minicluster.MiniAccumuloConfig org.apache.accumulo.minicluster.MiniAccumuloConfig::setNumScanServers(int) |
| Method was removed. | method org.apache.accumulo.minicluster.MiniAccumuloConfig org.apache.accumulo.minicluster.MiniAccumuloConfig::setNumTservers(int) |
| Method was removed. | method org.apache.hadoop.io.Text org.apache.accumulo.core.data.TabletId::getTableId() |
| Method was removed. | method void org.apache.accumulo.core.client.admin.TableOperations::create(java.lang.String, boolean, org.apache.accumulo.core.client.admin.TimeType) throws org.apache.accumulo.core.client.AccumuloException, org.apache.accumulo.core.client.AccumuloSecurityException, org.apache.accumulo.core.client.TableExistsException |
| Method was removed. | method void org.apache.accumulo.core.client.admin.TableOperations::create(java.lang.String, boolean) throws org.apache.accumulo.core.client.AccumuloException, org.apache.accumulo.core.client.AccumuloSecurityException, org.apache.accumulo.core.client.TableExistsException |
| Method was removed. | method void org.apache.accumulo.core.client.admin.TableOperations::importDirectory(java.lang.String, java.lang.String, java.lang.String, boolean) throws org.apache.accumulo.core.client.TableNotFoundException, java.io.IOException, org.apache.accumulo.core.client.AccumuloException, org.apache.accumulo.core.client.AccumuloSecurityException |
| Method was removed. | method void org.apache.accumulo.core.client.MutationsRejectedException:: |
| Method was removed. | method void org.apache.accumulo.core.client.NamespaceNotEmptyException:: |
| Method was removed. | method void org.apache.accumulo.core.client.TableOfflineException:: |
| Method was removed. | method void org.apache.accumulo.core.data.ConditionalMutation::setReplicationSources(java.util.Set |
| Method was removed. | method void org.apache.accumulo.core.data.Mutation::addReplicationSource(java.lang.String) |
| Method was removed. | method void org.apache.accumulo.core.data.Mutation::setReplicationSources(java.util.Set |
| Method was removed. | method void org.apache.accumulo.core.iterators.IteratorEnvironment::registerSideChannel(org.apache.accumulo.core.iterators.SortedKeyValueIterator<org.apache.accumulo.core.data.Key, org.apache.accumulo.core.data.Value>) |
Other
| Change | Old | New |
|---|---|---|
| Method newly throws checked exceptions: java.lang.ReflectiveOperationException. | method |
method |
| Method newly throws checked exceptions: java.lang.ReflectiveOperationException. | method |
method |
| Method no longer throws checked exceptions: java.lang.Exception. | method |
method |
| Method no longer throws checked exceptions: java.lang.Exception. | method |
method |
| Method no longer throws checked exceptions: org.apache.accumulo.core.client.TableNotFoundException. | method org.apache.hadoop.io.Text org.apache.accumulo.core.client.admin.FindMax::findMax(org.apache.accumulo.core.client.Scanner, org.apache.hadoop.io.Text, boolean, org.apache.hadoop.io.Text, boolean) throws org.apache.accumulo.core.client.TableNotFoundException | method org.apache.hadoop.io.Text org.apache.accumulo.core.client.admin.FindMax::findMax(org.apache.accumulo.core.client.Scanner, org.apache.accumulo.core.data.RowRange) |
| Method only differs in the vararg type from some of its overloads: [method org.apache.accumulo.core.client.rfile.RFile.ScannerFSOptions org.apache.accumulo.core.client.rfile.RFile.InputArguments::from(java.lang.String[]), method org.apache.accumulo.core.client.rfile.RFile.ScannerFSOptions org.apache.accumulo.core.client.rfile.RFile.InputArguments::from(org.apache.accumulo.core.client.rfile.RFile.InputArguments.FencedPath[])]. | method org.apache.accumulo.core.client.rfile.RFile.ScannerOptions org.apache.accumulo.core.client.rfile.RFile.InputArguments::from(org.apache.accumulo.core.client.rfile.RFileSource[]) | method org.apache.accumulo.core.client.rfile.RFile.ScannerOptions org.apache.accumulo.core.client.rfile.RFile.InputArguments::from(org.apache.accumulo.core.client.rfile.RFileSource[]) |
| Method only differs in the vararg type from some of its overloads: [method org.apache.accumulo.core.client.rfile.RFile.ScannerFSOptions org.apache.accumulo.core.client.rfile.RFile.InputArguments::from(java.lang.String[]), method org.apache.accumulo.core.client.rfile.RFile.ScannerOptions org.apache.accumulo.core.client.rfile.RFile.InputArguments::from(org.apache.accumulo.core.client.rfile.RFileSource[])]. | none | method org.apache.accumulo.core.client.rfile.RFile.ScannerFSOptions org.apache.accumulo.core.client.rfile.RFile.InputArguments::from(org.apache.accumulo.core.client.rfile.RFile.InputArguments.FencedPath[]) |
| Method only differs in the vararg type from some of its overloads: [method org.apache.accumulo.core.client.rfile.RFile.ScannerFSOptions org.apache.accumulo.core.client.rfile.RFile.InputArguments::from(org.apache.accumulo.core.client.rfile.RFile.InputArguments.FencedPath[]), method org.apache.accumulo.core.client.rfile.RFile.ScannerOptions org.apache.accumulo.core.client.rfile.RFile.InputArguments::from(org.apache.accumulo.core.client.rfile.RFileSource[])]. | method org.apache.accumulo.core.client.rfile.RFile.ScannerFSOptions org.apache.accumulo.core.client.rfile.RFile.InputArguments::from(java.lang.String[]) | method org.apache.accumulo.core.client.rfile.RFile.ScannerFSOptions org.apache.accumulo.core.client.rfile.RFile.InputArguments::from(java.lang.String[]) |
| Method only differs in the vararg type from some of its overloads: [method org.apache.accumulo.core.client.rfile.RFile.SummaryFSOptions org.apache.accumulo.core.client.rfile.RFile.SummaryInputArguments::from(java.lang.String[])]. | method org.apache.accumulo.core.client.rfile.RFile.SummaryOptions org.apache.accumulo.core.client.rfile.RFile.SummaryInputArguments::from(org.apache.accumulo.core.client.rfile.RFileSource[]) | method org.apache.accumulo.core.client.rfile.RFile.SummaryOptions org.apache.accumulo.core.client.rfile.RFile.SummaryInputArguments::from(org.apache.accumulo.core.client.rfile.RFileSource[]) |
| Method only differs in the vararg type from some of its overloads: [method org.apache.accumulo.core.client.rfile.RFile.SummaryOptions org.apache.accumulo.core.client.rfile.RFile.SummaryInputArguments::from(org.apache.accumulo.core.client.rfile.RFileSource[])]. | method org.apache.accumulo.core.client.rfile.RFile.SummaryFSOptions org.apache.accumulo.core.client.rfile.RFile.SummaryInputArguments::from(java.lang.String[]) | method org.apache.accumulo.core.client.rfile.RFile.SummaryFSOptions org.apache.accumulo.core.client.rfile.RFile.SummaryInputArguments::from(java.lang.String[]) |
| Method only differs in the vararg type from some of its overloads: [method void org.apache.accumulo.core.client.rfile.RFileWriter::startNewLocalityGroup(java.lang.String, byte[][]) throws java.io.IOException]. | method void org.apache.accumulo.core.client.rfile.RFileWriter::startNewLocalityGroup(java.lang.String, java.lang.String[]) throws java.io.IOException | method void org.apache.accumulo.core.client.rfile.RFileWriter::startNewLocalityGroup(java.lang.String, java.lang.String[]) throws java.io.IOException |
| Method only differs in the vararg type from some of its overloads: [method void org.apache.accumulo.core.client.rfile.RFileWriter::startNewLocalityGroup(java.lang.String, java.lang.String[]) throws java.io.IOException]. | method void org.apache.accumulo.core.client.rfile.RFileWriter::startNewLocalityGroup(java.lang.String, byte[][]) throws java.io.IOException | method void org.apache.accumulo.core.client.rfile.RFileWriter::startNewLocalityGroup(java.lang.String, byte[][]) throws java.io.IOException |
| The enum constant was defined on position 1 but is now on 0. The user code can break if it relies on the return value of the “ordinal()” method. | field org.apache.accumulo.minicluster.ServerType.MANAGER | field org.apache.accumulo.minicluster.ServerType.MANAGER |
| The enum constant was defined on position 2 but is now on 1. The user code can break if it relies on the return value of the “ordinal()” method. | field org.apache.accumulo.core.client.admin.ActiveCompaction.CompactionType.MAJOR | field org.apache.accumulo.core.client.admin.ActiveCompaction.CompactionType.MAJOR |
| The enum constant was defined on position 2 but is now on 1. The user code can break if it relies on the return value of the “ordinal()” method. | field org.apache.accumulo.minicluster.ServerType.ZOOKEEPER | field org.apache.accumulo.minicluster.ServerType.ZOOKEEPER |
| The enum constant was defined on position 3 but is now on 2. The user code can break if it relies on the return value of the “ordinal()” method. | field org.apache.accumulo.core.client.admin.ActiveCompaction.CompactionType.FULL | field org.apache.accumulo.core.client.admin.ActiveCompaction.CompactionType.FULL |
| The enum constant was defined on position 3 but is now on 2. The user code can break if it relies on the return value of the “ordinal()” method. | field org.apache.accumulo.minicluster.ServerType.TABLET_SERVER | field org.apache.accumulo.minicluster.ServerType.TABLET_SERVER |
| The enum constant was defined on position 4 but is now on 3. The user code can break if it relies on the return value of the “ordinal()” method. | field org.apache.accumulo.minicluster.ServerType.GARBAGE_COLLECTOR | field org.apache.accumulo.minicluster.ServerType.GARBAGE_COLLECTOR |
| The enum constant was defined on position 6 but is now on 4. The user code can break if it relies on the return value of the “ordinal()” method. | field org.apache.accumulo.minicluster.ServerType.COMPACTOR | field org.apache.accumulo.minicluster.ServerType.COMPACTOR |
| The enum constant was defined on position 8 but is now on 5. The user code can break if it relies on the return value of the “ordinal()” method. | field org.apache.accumulo.minicluster.ServerType.MONITOR | field org.apache.accumulo.minicluster.ServerType.MONITOR |
| The enum constant was defined on position 9 but is now on 6. The user code can break if it relies on the return value of the “ordinal()” method. | field org.apache.accumulo.minicluster.ServerType.SCAN_SERVER | field org.apache.accumulo.minicluster.ServerType.SCAN_SERVER |
| The number of parameters of the method have changed. | method org.apache.hadoop.io.Text org.apache.accumulo.core.client.admin.FindMax::findMax(org.apache.accumulo.core.client.Scanner, org.apache.hadoop.io.Text, boolean, org.apache.hadoop.io.Text, boolean) throws org.apache.accumulo.core.client.TableNotFoundException | method org.apache.hadoop.io.Text org.apache.accumulo.core.client.admin.FindMax::findMax(org.apache.accumulo.core.client.Scanner, org.apache.accumulo.core.data.RowRange) |
| The number of parameters of the method have changed. | method void org.apache.accumulo.core.client.TableDeletedException:: |
method void org.apache.accumulo.core.client.TableDeletedException:: |
| The number of parameters of the method have changed. | method void org.apache.accumulo.core.security.VisibilityParseException:: |
method void org.apache.accumulo.core.security.VisibilityParseException:: |
| The return type changed from ‘java.lang.String’ to ‘org.apache.accumulo.core.data.TableId’. | method java.lang.String org.apache.accumulo.core.client.TableDeletedException::getTableId() | method org.apache.accumulo.core.data.TableId org.apache.accumulo.core.client.TableDeletedException::getTableId() |
| The return type changed from ‘org.apache.accumulo.core.clientImpl.TabletLocator’ to ‘org.apache.accumulo.core.clientImpl.ClientTabletCache’. | method org.apache.accumulo.core.clientImpl.TabletLocator org.apache.accumulo.hadoopImpl.mapreduce.lib.InputConfigurator::getTabletLocator(java.lang.Class<?>, org.apache.hadoop.conf.Configuration, org.apache.accumulo.core.data.TableId) | method org.apache.accumulo.core.clientImpl.ClientTabletCache org.apache.accumulo.hadoopImpl.mapreduce.lib.InputConfigurator::getTabletLocator(java.lang.Class<?>, org.apache.hadoop.conf.Configuration, org.apache.accumulo.core.data.TableId) |
| Visibility was reduced from ‘public’ to ‘private’. | class org.apache.accumulo.core.iterators.user.ColumnAgeOffFilter.TTLSet | class org.apache.accumulo.core.iterators.user.ColumnAgeOffFilter.TTLSet |
Upgrading
View the Upgrading Accumulo documentation for guidance as the upgrade procedure has changed. Note that during the upgrade all user tablets will be set to have on-demand tablet availability. Users will need to change the tablet availability post-upgrade for tablets that they want always or never hosted on a tablet server. The upgrade process also sets the tablet mergeability to never for all existing tablets to preserve any user created split points. Tablet mergeability can be set when adding new splits and will be set to always when the split is created by the system based on user settings.
Useful Links
View all releases in the archive