This is an automated email from the ASF dual-hosted git repository.
asf-gitbox-commits pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 51f7c5ef5 Automatic Site Publish by Buildbot
51f7c5ef5 is described below
commit 51f7c5ef579b6df5f1d802ac86434eb1c3292a47
Author: buildbot <[email protected]>
AuthorDate: Fri Sep 25 12:35:20 2026 +0000
Automatic Site Publish by Buildbot
---
output/feed.xml | 810 +++++++++++++++++++----
output/index.html | 14 +-
output/news/index.html | 7 +
output/release/accumulo-4.0.0-alpha-1/index.html | 25 +-
output/release/index.html | 4 +-
output/search_data.json | 2 +-
6 files changed, 715 insertions(+), 147 deletions(-)
diff --git a/output/feed.xml b/output/feed.xml
index 4b5f9e7aa..7bc8f0d14 100644
--- a/output/feed.xml
+++ b/output/feed.xml
@@ -6,11 +6,691 @@
</description>
<link>https://accumulo.apache.org/</link>
<atom:link href="https://accumulo.apache.org/feed.xml" rel="self"
type="application/rss+xml"/>
- <pubDate>Fri, 25 Sep 2026 12:29:12 +0000</pubDate>
- <lastBuildDate>Fri, 25 Sep 2026 12:29:12 +0000</lastBuildDate>
+ <pubDate>Fri, 25 Sep 2026 12:35:13 +0000</pubDate>
+ <lastBuildDate>Fri, 25 Sep 2026 12:35:13 +0000</lastBuildDate>
<generator>Jekyll v4.4.1</generator>
+ <item>
+ <title>Apache Accumulo 4.0.0 Alpha 1</title>
+ <description><h2 id="warning">WARNING!!</h2>
+
+<p>This is a non-final tag / release for testing purposes to find bugs
and broken features.
+Do not use this version in production. We advise that users start with a new
instance to
+understand new concepts, try new features and test their applications for the
purpose of
+finding and reporting issues. Upgrading an existing instance is not advised as
the
+upgrade code has not been thoroughly tested.</p>
+
+<h2 id="about">About</h2>
+
+<p>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 <a
href="/blog/2024/10/07/accumulo4-preview.html">this</a>
+blog post.</p>
+
+<h2 id="user-guide">User Guide</h2>
+
+<p>The 4.x user guide, located <a
href="/docs/4.x">here</a>, is being updated. It will be in
draft state until the final 4.0.0 release.</p>
+
+<h2 id="notable-changes">Notable Changes</h2>
+
+<ul>
+ <li>
+ <p>Accumulo 4.0.0 requires Java 21 for compilation and Java 17 for
runtime.</p>
+ </li>
+ <li>
+ <p>Bulk Import v1 has been removed. Users will need to migrate to
Bulk Import v2.</p>
+ </li>
+ <li>
+ <p>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.</p>
+ </li>
+ <li>
+ <p>FaTE locks include tablet ranges where possible to allow for
concurrent FaTE operations
+on non-overlapping tablet ranges.</p>
+ </li>
+ <li>
+ <p>The CompactionCoordinator process no longer exists, its
functionality was moved into the Manager.</p>
+ </li>
+ <li>
+ <p>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’.</p>
+ </li>
+ <li>
+ <p>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).</p>
+ </li>
+ <li>
+ <p>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
+<code class="language-plaintext
highlighter-rouge">TableOperations.putSplits</code>. 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 <a
href="/docs/4.x/administration/merging">merging</a> for more
information.</p>
+ </li>
+ <li>
+ <p>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.</p>
+ </li>
+ <li>
+ <p>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.</p>
+ </li>
+ <li>
+ <p>New table property <code class="language-plaintext
highlighter-rouge">table.compaction.minor.age</code> will 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.</p>
+ </li>
+ <li>
+ <p>The HostRegexTableLoadBalancer has been deprecated. Similar
functionality can be achieved using
+the TableLoadBalancer and setting the property <code
class="language-plaintext
highlighter-rouge">table.custom.assignment.group</code> on a table
+that references a set of Tablet Servers using the same resource group
name.</p>
+ </li>
+ <li>
+ <p>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 <code class="language-plaintext
highlighter-rouge">general.micrometer.enabled</code> on 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.</p>
+ </li>
+ <li>
+ <p>Log recovery work may now be performed in Compactor, Scan Server,
and Tablet Server processes.</p>
+ </li>
+ <li>
+ <p>User FaTE transactions are now stored in a table in the system
namespace. System FaTE transactions
+remain stored in ZooKeeper.</p>
+ </li>
+ <li>
+ <p>Scan Server file references have been moved out of the metadata
table and into their own table
+in the system namespace.</p>
+ </li>
+ <li>
+ <p>A Resource Group configuration layer has been added that allows
the user to override system-level
+properties for resource group processes.</p>
+ </li>
+ <li>
+ <p>Table configuration properties are now only allowed in the
Namespace and Table configuration layers.</p>
+ </li>
+ <li>
+ <p>The command line utilities have been updated. Run <code
class="language-plaintext highlighter-rouge">accumulo
--help</code> to see the changes. A bash
+completion script can be generated using the command <code
class="language-plaintext highlighter-rouge">accumulo conf
create-autocomplete-script</code>.</p>
+ </li>
+ <li>
+ <p>The number of threads used to process FaTE transactions can be
configured by FaTE transaction type
+for both user and system FaTE transactions.</p>
+ </li>
+ <li>
+ <p>A change was made in 2.1.5 that allowed ScanServers to be used
with un-hosted tablets. The only way
+to achieve this in 2.1 was to allow ScanServers to scan offline tables. In
4.0, ScanServers can scan
+tablets with all availability goals, so ScanServers don’t need or have the
ability to scan offline tables.</p>
+ </li>
+</ul>
+
+<h2 id="known-issues">Known Issues</h2>
+
+<ul>
+ <li><a
href="https://github.com/apache/accumulo/issues/6539">#6539</a>
Using an underscore in a resource group name may cause the Monitor to
fail.</li>
+</ul>
+
+<h2 id="api-changes-from-216">API Changes (from
2.1.6)</h2>
+
+<details>
+ <summary>Click to see API changes</summary>
+
+ <h3 id="additions">Additions</h3>
+
+ <table>
+ <thead>
+ <tr>
+ <th>Change</th>
+ <th>Object</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>Abstract method was added.</td>
+ <td>method long
org.apache.accumulo.core.client.admin.ActiveCompaction::getPausedCount()</td>
+ </tr>
+ <tr>
+ <td>Abstract method was added.</td>
+ <td>method
org.apache.accumulo.core.client.admin.servers.ServerId
org.apache.accumulo.core.client.admin.ActiveCompaction::getServerId()</td>
+ </tr>
+ <tr>
+ <td>Abstract method was added.</td>
+ <td>method
org.apache.accumulo.core.client.admin.servers.ServerId
org.apache.accumulo.core.client.admin.ActiveScan::getServerId()</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method boolean
org.apache.accumulo.core.iterators.IteratorEnvironment::isRunningLowOnMemory()</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method java.lang.String
org.apache.accumulo.core.client.admin.TableOperations::getNamespace(java.lang.String)</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>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</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method
java.util.List<org.apache.accumulo.core.client.admin.ActiveCompaction>
org.apache.accumulo.core.client.admin.InstanceOperations::getActiveCompactions(java.util.Collection<org.apache.accumulo.core.client.admin.servers.ServerId>)
throws org.apache.accumulo.core.client.AccumuloException,
org.apache.accumulo.core.client.AccumuloSecurityException</org.apache.accumulo.core.client.admin.servers.ServerId></org.apache.accumulo.core.client.admin.Active
[...]
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method
java.util.List<org.apache.accumulo.core.client.admin.ActiveScan>
org.apache.accumulo.core.client.admin.InstanceOperations::getActiveScans(java.util.Collection<org.apache.accumulo.core.client.admin.servers.ServerId>)
throws org.apache.accumulo.core.client.AccumuloException,
org.apache.accumulo.core.client.AccumuloSecurityException</org.apache.accumulo.core.client.admin.servers.ServerId></org.apache.accumulo.core.client.admin.ActiveScan></td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method java.util.Map&lt;java.lang.String,
java.lang.String&gt;
org.apache.accumulo.core.client.admin.InstanceOperations::getSystemProperties()
throws org.apache.accumulo.core.client.AccumuloException,
org.apache.accumulo.core.client.AccumuloSecurityException</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method
java.util.Set<org.apache.accumulo.core.client.admin.compaction.CompactableFile>
org.apache.accumulo.core.client.admin.compaction.CompactionConfigurer.InputParameters::getSelectedFiles()</org.apache.accumulo.core.client.admin.compaction.CompactableFile></td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method
java.util.Set<org.apache.accumulo.core.client.admin.servers.ServerId>
org.apache.accumulo.core.client.admin.InstanceOperations::getServers(org.apache.accumulo.core.client.admin.servers.ServerId.Type)</org.apache.accumulo.core.client.admin.servers.ServerId></td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method
java.util.Set<org.apache.accumulo.core.client.admin.servers.ServerId>
org.apache.accumulo.core.client.admin.InstanceOperations::getServers(org.apache.accumulo.core.client.admin.servers.ServerId.Type,
java.util.function.Predicate<org.apache.accumulo.core.data.ResourceGroupId>,
java.util.function.BiPredicate&lt;java.lang.String,
java.lang.Integer&gt;)</org.apache.accumulo.core.data.ResourceGroupId></org.apache.accumulo.core.client.admin
[...]
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method
org.apache.accumulo.core.client.admin.ResourceGroupOperations
org.apache.accumulo.core.client.AccumuloClient::resourceGroupOperations()</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>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)</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>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[])</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method org.apache.accumulo.core.data.KeyBuilder.Build
org.apache.accumulo.core.data.KeyBuilder.ColumnVisibilityStep::visibility(org.apache.accumulo.core.data.ByteSequence)</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method
org.apache.accumulo.core.data.KeyBuilder.ColumnFamilyStep
org.apache.accumulo.core.data.KeyBuilder.RowStep::row(org.apache.accumulo.core.data.ByteSequence)</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method
org.apache.accumulo.core.data.KeyBuilder.ColumnQualifierStep
org.apache.accumulo.core.data.KeyBuilder.ColumnFamilyStep::family(org.apache.accumulo.core.data.ByteSequence)</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method
org.apache.accumulo.core.data.KeyBuilder.ColumnVisibilityStep
org.apache.accumulo.core.data.KeyBuilder.ColumnQualifierStep::qualifier(org.apache.accumulo.core.data.ByteSequence)</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method
org.apache.accumulo.core.data.Mutation.TimestampOptions
org.apache.accumulo.core.data.Mutation.FamilyOptions::keyColumns(org.apache.accumulo.core.data.Key)</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method org.apache.accumulo.core.data.RowRange
org.apache.accumulo.core.client.admin.compaction.CompactableFile::getRange()</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method org.apache.accumulo.core.data.TabletId
org.apache.accumulo.core.client.admin.compaction.CompactionSelector.SelectionParameters::getTabletId()</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>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</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>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</td>
+ </tr>
+ <tr>
+ <td>Method was added to an interface.</td>
+ <td>method void
org.apache.accumulo.core.client.admin.TableOperations::putSplits(java.lang.String,
java.util.SortedMap&lt;org.apache.hadoop.io.Text,
org.apache.accumulo.core.client.admin.TabletMergeability&gt;) throws
org.apache.accumulo.core.client.TableNotFoundException,
org.apache.accumulo.core.client.AccumuloException,
org.apache.accumulo.core.client.AccumuloSecurityException</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3 id="removals">Removals</h3>
+
+ <table>
+ <thead>
+ <tr>
+ <th>Change</th>
+ <th>Object</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.admin.CompactionStrategyConfig</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.ClientConfiguration</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class org.apache.accumulo.core.client.Connector</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapred.AbstractInputFormat&lt;K,
V&gt;</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapred.AccumuloFileOutputFormat</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapred.AccumuloInputFormat</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapred.AccumuloMultiTableInputFormat</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapred.AccumuloOutputFormat</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapred.AccumuloRowInputFormat</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapred.InputFormatBase&lt;K,
V&gt;</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapred.RangeInputSplit</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapreduce.AbstractInputFormat&lt;K,
V&gt;</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapreduce.AccumuloFileOutputFormat</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapreduce.AccumuloInputFormat</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapreduce.AccumuloMultiTableInputFormat</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapreduce.AccumuloOutputFormat</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapreduce.AccumuloRowInputFormat</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapreduce.InputFormatBase&lt;K,
V&gt;</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapreduce.InputTableConfig</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapreduce.lib.partition.KeyRangePartitioner</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapreduce.lib.partition.RangePartitioner</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.mapreduce.RangeInputSplit</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.replication.PeerExistsException</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.replication.PeerNotFoundException</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.core.client.ZooKeeperInstance</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>class
org.apache.accumulo.minicluster.MiniAccumuloInstance</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>interface
org.apache.accumulo.core.client.admin.ActiveCompaction.CompactionHost</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>interface
org.apache.accumulo.core.client.admin.ReplicationOperations</td>
+ </tr>
+ <tr>
+ <td>Class was removed.</td>
+ <td>interface org.apache.accumulo.core.client.Instance</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method boolean
org.apache.accumulo.core.client.sample.AbstractHashSampler::isValidOption(java.lang.String)</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method int
org.apache.accumulo.minicluster.MiniAccumuloConfig::getNumTservers()</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method java.lang.String
org.apache.accumulo.core.client.admin.InstanceOperations::getInstanceID()</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method java.util.Collection<org.apache.hadoop.io.Text>
org.apache.accumulo.core.client.admin.TableOperations::getSplits(java.lang.String,
int) throws
org.apache.accumulo.core.client.TableNotFoundException</org.apache.hadoop.io.Text></td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method java.util.Collection<org.apache.hadoop.io.Text>
org.apache.accumulo.core.client.admin.TableOperations::getSplits(java.lang.String)
throws
org.apache.accumulo.core.client.TableNotFoundException</org.apache.hadoop.io.Text></td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method java.util.Set<java.lang.String>
org.apache.accumulo.core.data.Mutation::getReplicationSources()</java.lang.String></td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method
org.apache.accumulo.core.client.admin.ActiveCompaction.CompactionHost
org.apache.accumulo.core.client.admin.ActiveCompaction::getHost()</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method
org.apache.accumulo.core.client.admin.CompactionConfig
org.apache.accumulo.core.client.admin.CompactionConfig::setCompactionStrategy(org.apache.accumulo.core.client.admin.CompactionStrategyConfig)</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method
org.apache.accumulo.core.client.admin.CompactionStrategyConfig
org.apache.accumulo.core.client.admin.CompactionConfig::getCompactionStrategy()</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method
org.apache.accumulo.core.client.admin.NewTableConfiguration
org.apache.accumulo.core.client.admin.NewTableConfiguration::withoutDefaultIterators()</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method
org.apache.accumulo.core.client.admin.ReplicationOperations
org.apache.accumulo.core.client.AccumuloClient::replicationOperations()</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method org.apache.accumulo.core.client.ClientConfiguration
org.apache.accumulo.minicluster.MiniAccumuloCluster::getClientConfig()</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>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</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method org.apache.accumulo.core.conf.AccumuloConfiguration
org.apache.accumulo.core.iterators.IteratorEnvironment::getConfig()</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method
org.apache.accumulo.core.iterators.SortedKeyValueIterator&lt;org.apache.accumulo.core.data.Key,
org.apache.accumulo.core.data.Value&gt;
org.apache.accumulo.core.iterators.IteratorEnvironment::reserveMapFileReader(java.lang.String)
throws java.io.IOException</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method
org.apache.accumulo.core.spi.common.ServiceEnvironment
org.apache.accumulo.core.iterators.IteratorEnvironment::getServiceEnv()</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method org.apache.accumulo.minicluster.MiniAccumuloConfig
org.apache.accumulo.minicluster.MiniAccumuloConfig::setNumScanServers(int)</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method org.apache.accumulo.minicluster.MiniAccumuloConfig
org.apache.accumulo.minicluster.MiniAccumuloConfig::setNumTservers(int)</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method org.apache.hadoop.io.Text
org.apache.accumulo.core.data.TabletId::getTableId()</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>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</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>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</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>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</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method void
org.apache.accumulo.core.client.MutationsRejectedException::<init>(org.apache.accumulo.core.client.Instance,
java.util.List<org.apache.accumulo.core.data.ConstraintViolationSummary>,
java.util.Map&lt;org.apache.accumulo.core.data.TabletId,
java.util.Set<org.apache.accumulo.core.client.security.SecurityErrorCode>&gt;,
java.util.Collection<java.lang.String>, int,
java.lang.Throwable)</java.lang.String></org.apache.accum [...]
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method void
org.apache.accumulo.core.client.NamespaceNotEmptyException::<init>(org.apache.accumulo.core.clientImpl.thrift.ThriftTableOperationException)</init></td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method void
org.apache.accumulo.core.client.TableOfflineException::<init>(org.apache.accumulo.core.client.Instance,
java.lang.String)</init></td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method void
org.apache.accumulo.core.data.ConditionalMutation::setReplicationSources(java.util.Set<java.lang.String>)</java.lang.String></td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method void
org.apache.accumulo.core.data.Mutation::addReplicationSource(java.lang.String)</td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method void
org.apache.accumulo.core.data.Mutation::setReplicationSources(java.util.Set<java.lang.String>)</java.lang.String></td>
+ </tr>
+ <tr>
+ <td>Method was removed.</td>
+ <td>method void
org.apache.accumulo.core.iterators.IteratorEnvironment::registerSideChannel(org.apache.accumulo.core.iterators.SortedKeyValueIterator&lt;org.apache.accumulo.core.data.Key,
org.apache.accumulo.core.data.Value&gt;)</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <h3 id="other">Other</h3>
+
+ <table>
+ <thead>
+ <tr>
+ <th>Change</th>
+ <th>Old</th>
+ <th>New</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>Method newly throws checked exceptions:
java.lang.ReflectiveOperationException.</td>
+ <td>method <T> T
org.apache.accumulo.core.client.PluginEnvironment::instantiate(java.lang.String,
java.lang.Class<T>) throws
java.lang.Exception</T></T></td>
+ <td>method <T> T
org.apache.accumulo.core.client.PluginEnvironment::instantiate(java.lang.String,
java.lang.Class<T>) throws
java.lang.ReflectiveOperationException</T></T></td>
+ </tr>
+ <tr>
+ <td>Method newly throws checked exceptions:
java.lang.ReflectiveOperationException.</td>
+ <td>method <T> T
org.apache.accumulo.core.client.PluginEnvironment::instantiate(org.apache.accumulo.core.data.TableId,
java.lang.String, java.lang.Class<T>) throws
java.lang.Exception</T></T></td>
+ <td>method <T> T
org.apache.accumulo.core.client.PluginEnvironment::instantiate(org.apache.accumulo.core.data.TableId,
java.lang.String, java.lang.Class<T>) throws
java.lang.ReflectiveOperationException</T></T></td>
+ </tr>
+ <tr>
+ <td>Method no longer throws checked exceptions:
java.lang.Exception.</td>
+ <td>method <T> T
org.apache.accumulo.core.client.PluginEnvironment::instantiate(java.lang.String,
java.lang.Class<T>) throws
java.lang.Exception</T></T></td>
+ <td>method <T> T
org.apache.accumulo.core.client.PluginEnvironment::instantiate(java.lang.String,
java.lang.Class<T>) throws
java.lang.ReflectiveOperationException</T></T></td>
+ </tr>
+ <tr>
+ <td>Method no longer throws checked exceptions:
java.lang.Exception.</td>
+ <td>method <T> T
org.apache.accumulo.core.client.PluginEnvironment::instantiate(org.apache.accumulo.core.data.TableId,
java.lang.String, java.lang.Class<T>) throws
java.lang.Exception</T></T></td>
+ <td>method <T> T
org.apache.accumulo.core.client.PluginEnvironment::instantiate(org.apache.accumulo.core.data.TableId,
java.lang.String, java.lang.Class<T>) throws
java.lang.ReflectiveOperationException</T></T></td>
+ </tr>
+ <tr>
+ <td>Method no longer throws checked exceptions:
org.apache.accumulo.core.client.TableNotFoundException.</td>
+ <td>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</td>
+ <td>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)</td>
+ </tr>
+ <tr>
+ <td>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[])].</td>
+ <td>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[])</td>
+ <td>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[])</td>
+ </tr>
+ <tr>
+ <td>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[])].</td>
+ <td>none</td>
+ <td>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[])</td>
+ </tr>
+ <tr>
+ <td>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[])].</td>
+ <td>method
org.apache.accumulo.core.client.rfile.RFile.ScannerFSOptions
org.apache.accumulo.core.client.rfile.RFile.InputArguments::from(java.lang.String[])</td>
+ <td>method
org.apache.accumulo.core.client.rfile.RFile.ScannerFSOptions
org.apache.accumulo.core.client.rfile.RFile.InputArguments::from(java.lang.String[])</td>
+ </tr>
+ <tr>
+ <td>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[])].</td>
+ <td>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[])</td>
+ <td>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[])</td>
+ </tr>
+ <tr>
+ <td>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[])].</td>
+ <td>method
org.apache.accumulo.core.client.rfile.RFile.SummaryFSOptions
org.apache.accumulo.core.client.rfile.RFile.SummaryInputArguments::from(java.lang.String[])</td>
+ <td>method
org.apache.accumulo.core.client.rfile.RFile.SummaryFSOptions
org.apache.accumulo.core.client.rfile.RFile.SummaryInputArguments::from(java.lang.String[])</td>
+ </tr>
+ <tr>
+ <td>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].</td>
+ <td>method void
org.apache.accumulo.core.client.rfile.RFileWriter::startNewLocalityGroup(java.lang.String,
java.lang.String[]) throws java.io.IOException</td>
+ <td>method void
org.apache.accumulo.core.client.rfile.RFileWriter::startNewLocalityGroup(java.lang.String,
java.lang.String[]) throws java.io.IOException</td>
+ </tr>
+ <tr>
+ <td>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].</td>
+ <td>method void
org.apache.accumulo.core.client.rfile.RFileWriter::startNewLocalityGroup(java.lang.String,
byte[][]) throws java.io.IOException</td>
+ <td>method void
org.apache.accumulo.core.client.rfile.RFileWriter::startNewLocalityGroup(java.lang.String,
byte[][]) throws java.io.IOException</td>
+ </tr>
+ <tr>
+ <td>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.</td>
+ <td>field
org.apache.accumulo.minicluster.ServerType.MANAGER</td>
+ <td>field
org.apache.accumulo.minicluster.ServerType.MANAGER</td>
+ </tr>
+ <tr>
+ <td>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.</td>
+ <td>field
org.apache.accumulo.core.client.admin.ActiveCompaction.CompactionType.MAJOR</td>
+ <td>field
org.apache.accumulo.core.client.admin.ActiveCompaction.CompactionType.MAJOR</td>
+ </tr>
+ <tr>
+ <td>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.</td>
+ <td>field
org.apache.accumulo.minicluster.ServerType.ZOOKEEPER</td>
+ <td>field
org.apache.accumulo.minicluster.ServerType.ZOOKEEPER</td>
+ </tr>
+ <tr>
+ <td>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.</td>
+ <td>field
org.apache.accumulo.core.client.admin.ActiveCompaction.CompactionType.FULL</td>
+ <td>field
org.apache.accumulo.core.client.admin.ActiveCompaction.CompactionType.FULL</td>
+ </tr>
+ <tr>
+ <td>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.</td>
+ <td>field
org.apache.accumulo.minicluster.ServerType.TABLET_SERVER</td>
+ <td>field
org.apache.accumulo.minicluster.ServerType.TABLET_SERVER</td>
+ </tr>
+ <tr>
+ <td>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.</td>
+ <td>field
org.apache.accumulo.minicluster.ServerType.GARBAGE_COLLECTOR</td>
+ <td>field
org.apache.accumulo.minicluster.ServerType.GARBAGE_COLLECTOR</td>
+ </tr>
+ <tr>
+ <td>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.</td>
+ <td>field
org.apache.accumulo.minicluster.ServerType.COMPACTOR</td>
+ <td>field
org.apache.accumulo.minicluster.ServerType.COMPACTOR</td>
+ </tr>
+ <tr>
+ <td>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.</td>
+ <td>field
org.apache.accumulo.minicluster.ServerType.MONITOR</td>
+ <td>field
org.apache.accumulo.minicluster.ServerType.MONITOR</td>
+ </tr>
+ <tr>
+ <td>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.</td>
+ <td>field
org.apache.accumulo.minicluster.ServerType.SCAN_SERVER</td>
+ <td>field
org.apache.accumulo.minicluster.ServerType.SCAN_SERVER</td>
+ </tr>
+ <tr>
+ <td>The number of parameters of the method have
changed.</td>
+ <td>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</td>
+ <td>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)</td>
+ </tr>
+ <tr>
+ <td>The number of parameters of the method have
changed.</td>
+ <td>method void
org.apache.accumulo.core.client.TableDeletedException::<init>(java.lang.String,
java.lang.Exception)</init></td>
+ <td>method void
org.apache.accumulo.core.client.TableDeletedException::<init>(org.apache.accumulo.core.data.TableId)</init></td>
+ </tr>
+ <tr>
+ <td>The number of parameters of the method have
changed.</td>
+ <td>method void
org.apache.accumulo.core.security.VisibilityParseException::<init>(java.lang.String,
byte[], int)</init></td>
+ <td>method void
org.apache.accumulo.core.security.VisibilityParseException::<init>(org.apache.accumulo.access.InvalidAccessExpressionException)</init></td>
+ </tr>
+ <tr>
+ <td>The return type changed from ‘java.lang.String’ to
‘org.apache.accumulo.core.data.TableId’.</td>
+ <td>method java.lang.String
org.apache.accumulo.core.client.TableDeletedException::getTableId()</td>
+ <td>method org.apache.accumulo.core.data.TableId
org.apache.accumulo.core.client.TableDeletedException::getTableId()</td>
+ </tr>
+ <tr>
+ <td>The return type changed from
‘org.apache.accumulo.core.clientImpl.TabletLocator’ to
‘org.apache.accumulo.core.clientImpl.ClientTabletCache’.</td>
+ <td>method org.apache.accumulo.core.clientImpl.TabletLocator
org.apache.accumulo.hadoopImpl.mapreduce.lib.InputConfigurator::getTabletLocator(java.lang.Class&lt;?&gt;,
org.apache.hadoop.conf.Configuration,
org.apache.accumulo.core.data.TableId)</td>
+ <td>method org.apache.accumulo.core.clientImpl.ClientTabletCache
org.apache.accumulo.hadoopImpl.mapreduce.lib.InputConfigurator::getTabletLocator(java.lang.Class&lt;?&gt;,
org.apache.hadoop.conf.Configuration,
org.apache.accumulo.core.data.TableId)</td>
+ </tr>
+ <tr>
+ <td>Visibility was reduced from ‘public’ to ‘private’.</td>
+ <td>class
org.apache.accumulo.core.iterators.user.ColumnAgeOffFilter.TTLSet</td>
+ <td>class
org.apache.accumulo.core.iterators.user.ColumnAgeOffFilter.TTLSet</td>
+ </tr>
+ </tbody>
+ </table>
+
+</details>
+
+<h2 id="upgrading">Upgrading</h2>
+
+<p>View the <a
href="/docs/4.x/administration/upgrading">Upgrading Accumulo
documentation</a> 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.</p>
+
+<h2 id="useful-links">Useful Links</h2>
+
+<ul>
+ <li><a
href="https://github.com/apache/accumulo/milestone/20">All tickets
related to this release</a></li>
+</ul>
+
+</description>
+ <pubDate>Thu, 24 Sep 2026 00:00:00 +0000</pubDate>
+
<link>https://accumulo.apache.org/release/accumulo-4.0.0-alpha-1/</link>
+ <guid
isPermaLink="true">https://accumulo.apache.org/release/accumulo-4.0.0-alpha-1/</guid>
+
+
+ <category>release</category>
+
+ </item>
+
<item>
<title>Apache Accumulo 2.1.6</title>
<description><h2 id="about">About</h2>
@@ -1548,132 +2228,6 @@ appropriate locations for build-related
resources</li>
<guid
isPermaLink="true">https://accumulo.apache.org/release/accumulo-2.1.2/</guid>
- <category>release</category>
-
- </item>
-
- <item>
- <title>Apache Accumulo 2.1.1</title>
- <description><h2 id="about">About</h2>
-
-<p>Apache Accumulo 2.1.1 is a patch release of the 2.1 LTM line. It
contains
-many bug fixes and minor enhancements, including a critical fix. This version
-supersedes 2.1.0. Users upgrading to 2.1 should upgrade directly to this
-version instead of 2.1.0.</p>
-
-<p>Included here are some highlights of the most interesting bugs and
features
-fixed in 2.1.1. Several trivial bugs were also fixed that related to the
-presentation of information on the monitor, or to avoid spammy/excessive
-logging, but are too numerous to list here. For the full set of bug fixes,
-please see the commit history or issue tracker.</p>
-
-<p>NOTE: This 2.1 release also includes any applicable bug fixes and
improvements
-that occurred in 1.10.3 and earlier.</p>
-
-<h3 id="critical-fixes">Critical Fixes</h3>
-
-<ul>
- <li><a
href="https://www.cve.org/CVERecord?id=CVE-2023-34340">CVE-2023-34340</a>
Fixed a critical issue that improperly allowed a user under
-some conditions to authenticate to Accumulo using an invalid
password.</li>
-</ul>
-
-<h3 id="notable-improvements">Notable Improvements</h3>
-
-<p>Improvements that add capabilities:</p>
-
-<ul>
- <li><a
href="https://github.com/apache/accumulo/issues/3180">#3180</a>
Enable users to provide per-volume Hadoop Filesystem
-configuration overrides via the Accumulo configuration. Hadoop Filesystem
-objects are configured by the standard Hadoop mechanisms (default
-configuration, core-site.xml, hdfs-site.xml, etc.), but these configuration
-files don’t allow for the same property to be specified with different values
-for different namespaces. This change allows users to specify different
-property values for different Accumulo volumes, which will be applied to the
-Hadoop Filesystem object created for each Accumulo volume</li>
- <li><a
href="https://github.com/apache/accumulo/issues/1169">#1169</a>,
<a
href="https://github.com/apache/accumulo/issues/3142">#3142</a>
Add configuration option for users to select
-how the last location field is used, so users have better control over
-initial assignments on restarts</li>
- <li><a
href="https://github.com/apache/accumulo/issues/3400">#3400</a>
Inject environment injected into ContextClassLoaderFactory SPI
-so implementations can read and make use of Accumulo’s own
configuration</li>
-</ul>
-
-<p>Improvements that affect performance:</p>
-
-<ul>
- <li><a
href="https://github.com/apache/accumulo/issues/3175">#3175</a>
Reset number of locks in SynchronousLoadingBlockCache from
-2017 back to 5003, the value that it was in 1.10. <a
href="https://github.com/apache/accumulo/issues/3226">#3226</a>
Also,
-modified the lock to be fair, which allows the different scan threads in the
-server to make progress in a more fair manner when they need to load a block
-into the cache</li>
- <li><a
href="https://github.com/apache/accumulo/issues/3077">#3077</a>,
<a
href="https://github.com/apache/accumulo/issues/3079">#3079</a>,
<a
href="https://github.com/apache/accumulo/issues/3083">#3083</a>,
<a
href="https://github.com/apache/accumulo/issues/3123">#3123</a>
Avoid filling
-OS page cache by calling <code class="language-plaintext
highlighter-rouge">setDropBehind</code> on the FS data stream when
-performing likely one-time file accesses, as with WAL and compaction input
-and output files. This should allow files that might benefit more from
-caching to stay in the cache longer. <a
href="https://github.com/apache/accumulo/issues/3083">#3083</a>
and <a
href="https://github.com/apache/accumulo/issues/3123">#3123</a>
-introduces new properties, table.compaction.major.output.drop.cache and
-table.compaction.minor.output.drop.cache, for dropping pages from the OS page
-cache for compaction output files. These changes will only have an impact on
-HDFS FileSystem implementations and operating systems that support the
-underlying OS system call. See associated issue, <a
href="https://issues.apache.org/jira/browse/HDFS-16864">HDFS-16864</a>,
that will
-improve the underlying implementation when resolved.</li>
-</ul>
-
-<p>Improvements that help with administration:</p>
-
-<ul>
- <li><a
href="https://github.com/apache/accumulo/issues/3445">#3445</a>
Add emergency maintenance utility to edit properties in
-ZooKeeper while the Accumulo cluster is shut down</li>
- <li><a
href="https://github.com/apache/accumulo/issues/3118">#3118</a>
Added option to the <code class="language-plaintext
highlighter-rouge">admin zoo-info-viewer</code> command to dump
-the ACLs on ZooKeeper nodes. This information can be used to fix znodes with
-incorrect ACLs during the upgrade process</li>
-</ul>
-
-<p>Other notable changes:</p>
-
-<ul>
- <li><a
href="https://github.com/apache/accumulo/issues/3126">#3126</a>
Remove unintentionally bundled htrace4 from our packaging;
-users will need to provide that for themselves if they require it on their
-classpath</li>
- <li><a
href="https://github.com/apache/accumulo/issues/3436">#3436</a>
Deprecate gc.trash.ignore property. The trash can be
-customized within Hadoop if one wishes to ignore it, or configure it to be
-ignored for only specific files (and this has been tested with recent
-versions of Hadoop); In version 3.0, this property will be removed, and it
-will no longer be possible to ignore the trash by changing this
property</li>
-</ul>
-
-<h3 id="notable-bug-fixes">Notable Bug Fixes</h3>
-
-<ul>
- <li><a
href="https://github.com/apache/accumulo/issues/3134">#3134</a>
Fixed Thrift issues due to incorrect setting of maxMessageSize</li>
- <li><a
href="https://github.com/apache/accumulo/issues/3144">#3144</a>,
<a
href="https://github.com/apache/accumulo/issues/3150">#3150</a>,
<a
href="https://github.com/apache/accumulo/issues/3164">#3164</a>
Fixed bugs in ScanServer that
-prevented a tablet from being scanned when some transient failures
occurred</li>
- <li><a
href="https://github.com/apache/accumulo/issues/3346">#3346</a>,
<a
href="https://github.com/apache/accumulo/issues/3366">#3366</a>
Fixed tablet metadata verification task so it
-doesn’t unintentionally cause the server to halt</li>
- <li><a
href="https://github.com/apache/accumulo/issues/3479">#3479</a>
Fixed issue preventing servers from shutting down because they
-were still receiving assignments</li>
- <li><a
href="https://github.com/apache/accumulo/issues/3492">#3492</a>
Fixed a bug where bulk imports could cause compactions to hang</li>
-</ul>
-
-<h2 id="upgrading">Upgrading</h2>
-
-<p>View the <a
href="/docs/2.x/administration/upgrading">Upgrading Accumulo
documentation</a> for guidance.</p>
-
-<h2 id="useful-links">Useful Links</h2>
-
-<ul>
- <li><a
href="https://github.com/apache/accumulo/milestone/15">All tickets
related to this release</a></li>
-</ul>
-
-<p>This release also includes bug fixes from 1.10.3, which was released
after
-2.1.0, and the javadoc fix and MapFile removal changes (<a
href="https://github.com/apache/accumulo/issues/3343">#3343</a>
and
-<a
href="https://github.com/apache/accumulo/issues/3391">#3391</a>)
from 1.10.4.</p>
-
-</description>
- <pubDate>Mon, 19 Jun 2023 00:00:00 +0000</pubDate>
- <link>https://accumulo.apache.org/release/accumulo-2.1.1/</link>
- <guid
isPermaLink="true">https://accumulo.apache.org/release/accumulo-2.1.1/</guid>
-
-
<category>release</category>
</item>
diff --git a/output/index.html b/output/index.html
index 85e263f6a..74690f3ff 100644
--- a/output/index.html
+++ b/output/index.html
@@ -153,6 +153,13 @@
<p style="font-size: 24px; margin-bottom: 0px;">Latest News</p>
+ <div class="row latest-news-item">
+ <div class="col-sm-12" style="margin-bottom: 5px">
+ <span style="font-size: 12px; margin-right: 5px;">Sep 2026</span>
+ <a href="/release/accumulo-4.0.0-alpha-1/">Apache Accumulo 4.0.0
Alpha 1</a>
+ </div>
+ </div>
+
<div class="row latest-news-item">
<div class="col-sm-12" style="margin-bottom: 5px">
<span style="font-size: 12px; margin-right: 5px;">Jul 2026</span>
@@ -181,13 +188,6 @@
</div>
</div>
- <div class="row latest-news-item">
- <div class="col-sm-12" style="margin-bottom: 5px">
- <span style="font-size: 12px; margin-right: 5px;">Aug 2024</span>
- <a href="/release/accumulo-2.1.3/">Apache Accumulo 2.1.3</a>
- </div>
- </div>
-
<div id="news-archive-link">
<p>View all posts in the <a href="/news">news archive</a></p>
</div>
diff --git a/output/news/index.html b/output/news/index.html
index 4df6632c7..8ecdc771b 100644
--- a/output/news/index.html
+++ b/output/news/index.html
@@ -123,6 +123,13 @@
+ <div class="row" style="margin-top: 15px">
+ <div class="col-md-1">Sep 24</div>
+ <div class="col-md-10"><a href="/release/accumulo-4.0.0-alpha-1/">Apache
Accumulo 4.0.0 Alpha 1</a></div>
+ </div>
+
+
+
<div class="row" style="margin-top: 15px">
<div class="col-md-1">Jul 17</div>
<div class="col-md-10"><a href="/release/accumulo-2.1.6/">Apache Accumulo
2.1.6</a></div>
diff --git a/output/release/accumulo-4.0.0-alpha-1/index.html
b/output/release/accumulo-4.0.0-alpha-1/index.html
index 5fe21b44a..9fc0c5f45 100644
--- a/output/release/accumulo-4.0.0-alpha-1/index.html
+++ b/output/release/accumulo-4.0.0-alpha-1/index.html
@@ -118,7 +118,7 @@
-<p>24 Aug 2026</p>
+<p>24 Sep 2026</p>
<nav aria-label="Navigate Release Notes"><ul class="pagination d-flex
justify-content-between">
<li class="page-item"><a class="page-link"
href="/release/accumulo-3.0.0/">« Apache Accumulo 3.0.0</a></li>
@@ -128,11 +128,6 @@
</ul></nav>
-<div class="alert alert-danger" style="margin-bottom: 0px;" role="alert">
- These are <strong>draft</strong> release notes for a future release of
Accumulo!<br>
- Please view <a class="alert-link" href="/release/accumulo-2.1.6/">the latest
release notes</a>.
-</div>
-
<div class="alert alert-warning" role="alert">
@@ -143,8 +138,10 @@
<h2 id="warning">WARNING!!</h2>
<p>This is a non-final tag / release for testing purposes to find bugs and
broken features.
-Do not use this version in production. No support shall be provided for
upgrades between
-this version and any other version.</p>
+Do not use this version in production. We advise that users start with a new
instance to
+understand new concepts, try new features and test their applications for the
purpose of
+finding and reporting issues. Upgrading an existing instance is not advised as
the
+upgrade code has not been thoroughly tested.</p>
<h2 id="about">About</h2>
@@ -154,6 +151,10 @@ 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 <a
href="/blog/2024/10/07/accumulo4-preview.html">this</a>
blog post.</p>
+<h2 id="user-guide">User Guide</h2>
+
+<p>The 4.x user guide, located <a href="/docs/4.x">here</a>, is being updated.
It will be in draft state until the final 4.0.0 release.</p>
+
<h2 id="notable-changes">Notable Changes</h2>
<ul>
@@ -161,7 +162,7 @@ blog post.</p>
<p>Accumulo 4.0.0 requires Java 21 for compilation and Java 17 for
runtime.</p>
</li>
<li>
- <p>Bulk Import V1 has been removed. Users will need to migrate to Bulk
Import V2.</p>
+ <p>Bulk Import v1 has been removed. Users will need to migrate to Bulk
Import v2.</p>
</li>
<li>
<p>Tablet merges no longer require a chop compaction on the participating
files. To facilitate
@@ -263,6 +264,12 @@ tablets with all availability goals, so ScanServers don’t
need or have the abi
</li>
</ul>
+<h2 id="known-issues">Known Issues</h2>
+
+<ul>
+ <li><a href="https://github.com/apache/accumulo/issues/6539">#6539</a> Using
an underscore in a resource group name may cause the Monitor to fail.</li>
+</ul>
+
<h2 id="api-changes-from-216">API Changes (from 2.1.6)</h2>
<details>
diff --git a/output/release/index.html b/output/release/index.html
index 4579aa2d1..e27630d0a 100644
--- a/output/release/index.html
+++ b/output/release/index.html
@@ -129,9 +129,9 @@
<div class="row" style="margin-top: 15px; font-family: monospace">
- <div class="col-md-1">Aug 24</div>
+ <div class="col-md-1">Sep 24</div>
<div class="col-md-10">
- <span class="badge bg-danger"> DRAFT! </span> <a
href="/contributor/versioning#LTM"><span class="badge
bg-warning">non-LTM</span></a><em><strong> <a
href="/release/accumulo-4.0.0-alpha-1/">Apache Accumulo 4.0.0 Alpha
1</a></strong></em>
+ <a href="/contributor/versioning#LTM"><span class="badge
bg-warning">non-LTM</span></a><strong> <a
href="/release/accumulo-4.0.0-alpha-1/">Apache Accumulo 4.0.0 Alpha
1</a></strong>
</div>
</div>
diff --git a/output/search_data.json b/output/search_data.json
index 74829fa7d..908a7ebf1 100644
--- a/output/search_data.json
+++ b/output/search_data.json
@@ -332,7 +332,7 @@
"release-accumulo-4-0-0-alpha-1": {
"title": "Apache Accumulo 4.0.0 Alpha 1",
- "content": "WARNING!!This is a non-final tag / release for testing
purposes to find bugs and broken features.Do not use this version in
production. No support shall be provided for upgrades betweenthis version and
any other version.AboutApache Accumulo 4.0.0 is a non-LTM major version release
that containsa large number of internal changes that allow a lot of flexibility
inthe way that Accumulo is deployed with a small number of API changes.A high
level overview of some of the chan [...]
+ "content": "WARNING!!This is a non-final tag / release for testing
purposes to find bugs and broken features.Do not use this version in
production. We advise that users start with a new instance tounderstand new
concepts, try new features and test their applications for the purpose
offinding and reporting issues. Upgrading an existing instance is not advised
as theupgrade code has not been thoroughly tested.AboutApache Accumulo 4.0.0 is
a non-LTM major version release that contains [...]
"url": " /release/accumulo-4.0.0-alpha-1/",
"categories": "release"
}