Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions _posts/release/2025-04-30-accumulo-4.0.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
---
title: Apache Accumulo 4.0.0
sortableversion: '04.00.00'
draft: true
---
## 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]
blog post. Not contained in the blog post are the changes to tablet
[merging][merge], specifically the ability to automatically merge
tablets.

## Notable Changes

* Accumulo 4.0.0 requires a Java 17 runtime.

* 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, etc.) have been moved into the Manager. TabletServers no longer
perform major compactions making Compactor processes mandatory (ScanServers remain an optional
feature).

* 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.

## API Changes

{% capture api_changes %}{% include_relative 4_0_api_changes.md %}{% endcapture %}
{{ api_changes | markdownify }}

## Upgrading

View the [Upgrading Accumulo documentation][upgrade] 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

* [All tickets related to this release][milestone]


[blog]: /blog/2024/10/07/accumulo4-preview.html
[merge]: /docs/4.x/administration/merging
[upgrade]: /docs/4.x/administration/upgrading
[milestone]: https://github.com/apache/accumulo/milestone/20
Loading