This is an automated email from the ASF dual-hosted git repository.
erose pushed a commit to branch HDDS-9225-website-v2
in repository https://gitbox.apache.org/repos/asf/ozone-site.git
The following commit(s) were added to refs/heads/HDDS-9225-website-v2 by this
push:
new ab952924a HDDS-9617. Update CI issues on release notes pages (#319)
ab952924a is described below
commit ab952924a9246797aa17b88f9143d17148e806e2
Author: fmorg-git <[email protected]>
AuthorDate: Mon Feb 2 15:37:56 2026 -0800
HDDS-9617. Update CI issues on release notes pages (#319)
---
src/pages/release-notes/1.4.1.md | 2 +-
src/pages/release-notes/2.0.0.md | 124 +++++++++++++++++++--------------------
src/pages/release-notes/2.1.0.md | 70 +++++++++++-----------
3 files changed, 97 insertions(+), 99 deletions(-)
diff --git a/src/pages/release-notes/1.4.1.md b/src/pages/release-notes/1.4.1.md
index 97a78e8c2..7ac8f25b0 100644
--- a/src/pages/release-notes/1.4.1.md
+++ b/src/pages/release-notes/1.4.1.md
@@ -2,7 +2,7 @@
Apache Ozone 1.4.1 is a minor bug fix release that addresses several issues to
enhance stability and reliability compared to version 1.4.0.
-For a detailed list of commits and resolved JIRA issues in this release,
please refer to [Changes between ozone-1.4.0 and ozone-1.4.1 on
GitHub](https://github.com/apache/ozone/compare/ozone-1.4.0...ozone-1.4.1).
+For a detailed list of commits and resolved Jira issues in this release,
please refer to [Changes between Ozone 1.4.0 and Ozone 1.4.1 on
GitHub](https://github.com/apache/ozone/compare/ozone-1.4.0...ozone-1.4.1).
## Downloads
diff --git a/src/pages/release-notes/2.0.0.md b/src/pages/release-notes/2.0.0.md
index 7eb61e41a..f4c357a8f 100644
--- a/src/pages/release-notes/2.0.0.md
+++ b/src/pages/release-notes/2.0.0.md
@@ -6,53 +6,53 @@
Apache Ozone 2.0.0 adds 1708 new features, improvements and bug fixes on top
of Ozone 1.4.
-#### [HDDS-10295](https://issues.apache.org/jira/browse/HDDS-10295) | *Major*
| **Provide an "ozone repair" subcommand to update the snapshot info in
transactionInfoTable**
+[HDDS-10295](https://issues.apache.org/jira/browse/HDDS-10295) | *Major* |
**Provide an "ozone repair" subcommand to update the snapshot info in
transactionInfoTable**
A new command "ozone repair update-transaction" is added to update the highest
index in OM transactionInfoTable.
---
-#### [HDDS-11258](https://issues.apache.org/jira/browse/HDDS-11258) |
*Blocker* | **[hsync] Add new OM layout version**
+[HDDS-11258](https://issues.apache.org/jira/browse/HDDS-11258) | *Blocker* |
**[hsync] Add new OM layout version**
A new layout version, HBASE_SUPPORT (7) is added to Ozone Manager that
provides the guardrail for the full support of hsync, lease recovery and
listOpenFiles APIs for HBase.
---
-#### [HDDS-11227](https://issues.apache.org/jira/browse/HDDS-11227) | *Major*
| **Use OM's KMS from client side when connecting to a cluster and dealing with
encrypted data**
+[HDDS-11227](https://issues.apache.org/jira/browse/HDDS-11227) | *Major* |
**Use OM's KMS from client side when connecting to a cluster and dealing with
encrypted data**
Ozone clients can now interact with multiple encrypted Ozone clusters. This
improvement enables distcp to copy from one encrypted source Ozone cluster to
another encrypted destination Ozone cluster.
---
-#### [HDDS-11375](https://issues.apache.org/jira/browse/HDDS-11375) | *Major*
| **DN Startup fails with Illegal configuration**
+[HDDS-11375](https://issues.apache.org/jira/browse/HDDS-11375) | *Major* |
**DN Startup fails with Illegal configuration**
-Remove the predefined hdds.ratis.raft.grpc.message.size. Its default value is
determined by hdds.container.ratis.log.appender.queue.byte-limit + 1MB = 33MB.
+Remove the predefined `hdds.ratis.raft.grpc.message.size`. Its default value
is determined by `hdds.container.ratis.log.appender.queue.byte-limit` + 1MB =
33MB.
---
-#### [HDDS-11342](https://issues.apache.org/jira/browse/HDDS-11342) | *Major*
| **[hsync] Add a config as HBase-related features master switch**
+[HDDS-11342](https://issues.apache.org/jira/browse/HDDS-11342) | *Major* |
**[hsync] Add a config as HBase-related features master switch**
It is now required to toggle an extra config switch to allow HBase-related
enhancements to be enabled.
-Server-side (OM): Set ozone.hbase.enhancements.allowed to true. Client-side:
Set ozone.client.hbase.enhancements.allowed to true.
+Server-side (OM): Set `ozone.hbase.enhancements.allowed` to true. Client-side:
Set `ozone.client.hbase.enhancements.allowed` to true.
For more details, see their respective config description.
---
-#### [HDDS-7593](https://issues.apache.org/jira/browse/HDDS-7593) | *Major* |
**Supporting HSync and lease recovery**
+[HDDS-7593](https://issues.apache.org/jira/browse/HDDS-7593) | *Major* |
**Supporting HSync and lease recovery**
-Ozone 2.0 added support for output stream hsync/hflush API support. In
addition, lease recovery (recoverLease()), setSafeMode(), file system API
support are added.
+Ozone 2.0 added support for output stream `hsync/hflush` API support. In
addition, lease recovery (recoverLease()), setSafeMode(), file system API
support are added.
---
-#### [HDDS-11329](https://issues.apache.org/jira/browse/HDDS-11329) | *Major*
| **Update Ozone images to Rocky Linux-based runner**
+[HDDS-11329](https://issues.apache.org/jira/browse/HDDS-11329) | *Major* |
**Update Ozone images to Rocky Linux-based runner**
-Provide Rocky Linux-based convenience Ozone docker image
+Provide Rocky Linux-based convenience Ozone Docker image
---
-#### [HDDS-11705](https://issues.apache.org/jira/browse/HDDS-11705) |
*Critical* | **Snapshot operations on linked buckets should work on actual
underlying bucket**
+[HDDS-11705](https://issues.apache.org/jira/browse/HDDS-11705) | *Critical* |
**Snapshot operations on linked buckets should work on actual underlying
bucket**
Ozone did not support snapshots on linked buckets before this release.
However, a user could have inadvertently created snapshots on linked buckets.
Hence when upgrading from an older version that doesn't support snapshots on
linked buckets to a newer version that supports snapshots on linked buckets, it
is essential to ensure that there are no snapshots on linked buckets otherwise
they will linger around. If there are any snapshots on linked buckets, those
snapshots need to be deleted b [...]
@@ -62,15 +62,15 @@ ozone sh snapshot delete <vol>/<linked bucket name>
<snapshot name>
---
-#### [HDDS-11617](https://issues.apache.org/jira/browse/HDDS-11617) |
*Blocker* | **Update hadoop to 3.4.1**
+[HDDS-11617](https://issues.apache.org/jira/browse/HDDS-11617) | *Blocker* |
**Update Hadoop to 3.4.1**
Ozone's Hadoop dependency version was updated from 3.3.6 to 3.4.1.
---
-#### [HDDS-8101](https://issues.apache.org/jira/browse/HDDS-8101) | *Major* |
**Add FSO repair tool to ozone CLI in read-only and repair modes**
+[HDDS-8101](https://issues.apache.org/jira/browse/HDDS-8101) | *Major* | **Add
FSO repair tool to Ozone CLI in read-only and repair modes**
-Added a new command "ozone repair om fso-tree" to detect and repair broken FSO
trees caused by bugs such as HDDS-7592, which can orphan data in the OM.
+Added a new command `ozone repair om fso-tree` to detect and repair broken FSO
trees caused by bugs such as HDDS-7592, which can orphan data in the OM.
```bash
Usage: ozone repair om fso-tree –db <dbPath> [–repair | –r] [–volume | -v
<volName>] [–bucket | -b <bucketName>] [–verbose]
@@ -78,52 +78,53 @@ Usage: ozone repair om fso-tree –db <dbPath> [–repair | –r]
[–volume | -
---
-#### [HDDS-7852](https://issues.apache.org/jira/browse/HDDS-7852) | *Major* |
**SCM Decommissioning Support**
+[HDDS-7852](https://issues.apache.org/jira/browse/HDDS-7852) | *Major* | **SCM
Decommissioning Support**
-A Storage Container Manager can now be decommissioned from a set of SCM nodes.
Check out user doc for usage and more details:
[https://ozone.apache.org/docs/edge/feature/decommission.html](https://ozone.apache.org/docs/edge/feature/decommission.html)
+A Storage Container Manager can now be decommissioned from a set of SCM nodes.
Check out user doc for usage and more details: [Decommissioning
Datanode](https://ozone.apache.org/docs/edge/feature/decommission.html)
---
-#### [HDDS-11753](https://issues.apache.org/jira/browse/HDDS-11753) |
*Blocker* | **Deprecate file per chunk layout from datanode code**
+[HDDS-11753](https://issues.apache.org/jira/browse/HDDS-11753) | *Blocker* |
**Deprecate file per chunk layout from Datanode code**
-FILE_PER_CHUNK container layout (ozone.scm.container.layout) is deprecated.
Starting from Apache Ozone 2.0, users will not be able to create new
FILE_PER_CHUNK containers.
+FILE_PER_CHUNK container layout (`ozone.scm.container.layout`) is deprecated.
Starting from Apache Ozone 2.0, users will not be able to create new
FILE_PER_CHUNK containers.
The support will be removed in a future release.
---
-#### [HDDS-12488](https://issues.apache.org/jira/browse/HDDS-12488) | *Major*
| **S3G should handle the signature calculation with trailers**
+[HDDS-12488](https://issues.apache.org/jira/browse/HDDS-12488) | *Major* |
**S3G should handle the signature calculation with trailers**
AWS Java SDK V2 2.30.0 introduced an incompatible protocol change that caused
file upload to Ozone S3 Gateway to fail or append a trailer data silently. S3G
is now updated to support AWS Java SDK V2 2.30.0 and later.
---
-#### [HDDS-12327](https://issues.apache.org/jira/browse/HDDS-12327) |
*Blocker* | **Restore non-HA (to HA) upgrade test**
+[HDDS-12327](https://issues.apache.org/jira/browse/HDDS-12327) | *Blocker* |
**Restore non-HA (to HA) upgrade test**
Non-HA 1.4.1 cluster (in a non-rolling fashion) upgrade to 2.0.0 is tested.
---
-#### [HDDS-11754](https://issues.apache.org/jira/browse/HDDS-11754) |
*Blocker* | **Drop support for non-Ratis OM and SCM**
+[HDDS-11754](https://issues.apache.org/jira/browse/HDDS-11754) | *Blocker* |
**Drop support for non-Ratis OM and SCM**
Ozone Manager and Storage Container Manager will always run in HA (Ratis)
mode. Clusters upgrading from non-Ratis (Standalone) mode will automatically
run in single node HA (Ratis) mode.
---
-#### [HDDS-12750](https://issues.apache.org/jira/browse/HDDS-12750) | *Major*
| **Move StorageTypeProto from ScmServerDatanodeHeartbeatProtocol.proto to
hdds.proto**
+[HDDS-12750](https://issues.apache.org/jira/browse/HDDS-12750) | *Major* |
**Move StorageTypeProto from `ScmServerDatanodeHeartbeatProtocol.proto` to
`hdds.proto`**
-Moved StorageTypeProto from OmClientProtocol.proto and
ScmServerDatanodeHeartbeatProtocol.proto to hdds.proto. As a result, the
java_outer_classname changed from OzoneManagerProtocolProtos and
StorageContainerDatanodeProtocolProtos to HddsProtos.
+Moved StorageTypeProto from `OmClientProtocol.proto` and
`ScmServerDatanodeHeartbeatProtocol.proto` to `hdds.proto`. As a result, the
`java_outer_classname` changed from `OzoneManagerProtocolProtos` and
`StorageContainerDatanodeProtocolProtos` to `HddsProtos`.
This change is:
+
- Proto wire/binary format: compatible (unchanged)
- Proto text format: compatible (unchanged)
-- Java API: incompatible (changed java_outer_classname)
+- Java API: incompatible (changed `java_outer_classname`)
---
-#### [HDDS-9218](https://issues.apache.org/jira/browse/HDDS-9218) | *Major* |
**S3 secret managment through HTTP**
+[HDDS-9218](https://issues.apache.org/jira/browse/HDDS-9218) | *Major* | **S3
secret management through HTTP**
-A set of S3 REST API endpoints are available to manage S3 secrets: /secret for
getting a secret. /revoke for revoking an existing secret. For more details,
check out Securing S3 user document
[https://ozone.apache.org/docs/edge/security/securings3.html](https://ozone.apache.org/docs/edge/security/securings3.html)
+A set of S3 REST API endpoints are available to manage S3 secrets: /secret for
getting a secret. /revoke for revoking an existing secret. For more details,
check out [Securing S3 user
document](https://ozone.apache.org/docs/edge/security/securings3.html)
---
@@ -132,12 +133,10 @@ A set of S3 REST API endpoints are available to manage S3
secrets: /secret for g
The format is based on [Keep a
Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0.html).
-**Version [2.0.0] - 2025-04-04**
-
### Added
- New pipeline choosing policy: CapacityPipelineChoosePolicy. This policy
randomly chooses pipelines with relatively lower utilization. To use, configure
`hdds.scm.pipeline.choose.policy.impl` to
`org.apache.hadoop.hdds.scm.pipeline.choose.algorithms.CapacityPipelineChoosePolicy`.
([HDDS-9345](https://issues.apache.org/jira/browse/HDDS-9345))
-- APIs to fetch single datanode specific information, reducing data transfer
from server to client.
([HDDS-9648](https://issues.apache.org/jira/browse/HDDS-9648))
+- APIs to fetch single Datanode specific information, reducing data transfer
from server to client.
([HDDS-9648](https://issues.apache.org/jira/browse/HDDS-9648))
- Support for symmetric keys for delegation tokens.
([HDDS-8829](https://issues.apache.org/jira/browse/HDDS-8829))
- A Storage Container Manager (SCM) can now be decommissioned from a set of
SCM nodes. ([HDDS-7852](https://issues.apache.org/jira/browse/HDDS-7852))
- Option to close all pipelines via CLI (`ozone admin pipeline close --all`).
([HDDS-10742](https://issues.apache.org/jira/browse/HDDS-10742))
@@ -150,13 +149,13 @@ and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0
- S3 Gateway endpoints for static content and admin purposes (/prom, /logs,
etc.) are now served on a separate port (default: 19878). Config keys are under
`ozone.s3g.webadmin`.
([HDDS-7307](https://issues.apache.org/jira/browse/HDDS-7307))
- Improved logging for container not found in CloseContainerCommandHandler to
INFO level. ([HDDS-9958](https://issues.apache.org/jira/browse/HDDS-9958))
- Container scanner (`hdds.datanode.container.scrub.enabled`) is now enabled
by default. ([HDDS-10485](https://issues.apache.org/jira/browse/HDDS-10485))
-- Upgraded jgrapht to 1.4.0.
([HDDS-10503](https://issues.apache.org/jira/browse/HDDS-10503))
+- Upgraded `jgrapht` to 1.4.0.
([HDDS-10503](https://issues.apache.org/jira/browse/HDDS-10503))
- Bumped follow-redirects to 1.15.6 in Ozone Recon.
([HDDS-10526](https://issues.apache.org/jira/browse/HDDS-10526))
- Bumped axios to 0.28.0 in Ozone Recon.
([HDDS-10669](https://issues.apache.org/jira/browse/HDDS-10669))
- Bumped es5-ext to 0.10.64 in Ozone Recon.
([HDDS-10673](https://issues.apache.org/jira/browse/HDDS-10673))
- Bumped ip to 1.1.9 in Ozone Recon.
([HDDS-10674](https://issues.apache.org/jira/browse/HDDS-10674))
- Bumped browserify-sign to 4.2.3 in Ozone Recon.
([HDDS-10676](https://issues.apache.org/jira/browse/HDDS-10676))
-- Bumped plotly.js to 2.25.2 in Ozone Recon.
([HDDS-10677](https://issues.apache.org/jira/browse/HDDS-10677))
+- Bumped `plotly.js` to 2.25.2 in Ozone Recon.
([HDDS-10677](https://issues.apache.org/jira/browse/HDDS-10677))
- Replaced ConcurrentHashMap with HashMap protected by ReadWriteLock in
NodeStateMap for potential performance improvement.
([HDDS-10830](https://issues.apache.org/jira/browse/HDDS-10830))
- Replaced ConcurrentHashMap with HashMap in PipelineStateMap as access is
already protected by locks.
([HDDS-10971](https://issues.apache.org/jira/browse/HDDS-10971))
- Bumped express to 4.21.0 in Ozone Recon.
([HDDS-11460](https://issues.apache.org/jira/browse/HDDS-11460))
@@ -167,13 +166,13 @@ and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0
- Migrated Ozone Recon UI build process from react-scripts/Jest to
Vite/vitest. ([HDDS-11017](https://issues.apache.org/jira/browse/HDDS-11017))
- Added wrapper methods for getting/setting port details (Standalone, Ratis,
Rest) in DatanodeDetails, replacing direct usage.
([HDDS-117](https://issues.apache.org/jira/browse/HDDS-117))
- Refactored OMRequest building in TrashOzoneFileSystem to reduce code
duplication. ([HDDS-6796](https://issues.apache.org/jira/browse/HDDS-6796))
-- Switched chunk file reading in Datanode to use Netty's ChunkedNioFile for
potential performance improvement.
([HDDS-7188](https://issues.apache.org/jira/browse/HDDS-7188))
+- Switched chunk file reading in Datanode to use Netty's `ChunkedNioFile` for
potential performance improvement.
([HDDS-7188](https://issues.apache.org/jira/browse/HDDS-7188))
- Improved multipart upload part ETag generation to use MD5 hash of content
for consistency. ([HDDS-9680](https://issues.apache.org/jira/browse/HDDS-9680))
- Pipeline failure now triggers an immediate heartbeat to SCM to minimize
client impact. ([HDDS-9823](https://issues.apache.org/jira/browse/HDDS-9823))
- Improved performance of processing IncrementalContainerReport requests from
DN in Recon by batching SCM lookups and reducing client timeouts.
([HDDS-9883](https://issues.apache.org/jira/browse/HDDS-9883))
-- Changed Recon datanode 'Last Heartbeat' display to show relative time values
(e.g., "2s ago") instead of absolute timestamps.
([HDDS-9933](https://issues.apache.org/jira/browse/HDDS-9933))
+- Changed Recon Datanode 'Last Heartbeat' display to show relative time values
(e.g., "2s ago") instead of absolute timestamps.
([HDDS-9933](https://issues.apache.org/jira/browse/HDDS-9933))
- SCM UI now shows cluster storage usage percentage in addition to absolute
values. ([HDDS-9988](https://issues.apache.org/jira/browse/HDDS-9988))
-- Added functionality to freon OmMetadataGenerator (ommg) Test.
([HDDS-10025](https://issues.apache.org/jira/browse/HDDS-10025))
+- Added functionality to freon `OmMetadataGenerator` (`ommg`) Test.
([HDDS-10025](https://issues.apache.org/jira/browse/HDDS-10025))
- Improved logs for SCMDeletedBlockTransactionStatusManager.
([HDDS-10029](https://issues.apache.org/jira/browse/HDDS-10029))
- OzoneManagerRatisServer.getServer() now returns the specific Ratis
`Division` for the group.
([HDDS-10036](https://issues.apache.org/jira/browse/HDDS-10036))
- Reduced buffer copying in OMRatisHelper by using ByteBuffer.
([HDDS-10037](https://issues.apache.org/jira/browse/HDDS-10037))
@@ -192,26 +191,26 @@ and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0
- Implemented `getHomeDirectory` in OzoneFileSystem implementations to
correctly return `/user/<ugi user>` in secure clusters, respecting
impersonation. ([HDDS-10905](https://issues.apache.org/jira/browse/HDDS-10905))
- Reduced client watch requests by using CommitInfoProto from
NotReplicatedException (requires Ratis 3.1.0+ and config tuning).
([HDDS-10932](https://issues.apache.org/jira/browse/HDDS-10932))
- Added Netty off-heap memory usage metrics to OM and SCM for better
monitoring. ([HDDS-11100](https://issues.apache.org/jira/browse/HDDS-11100))
-- Enhanced `ozone admin containerbalancer status` output with richer
information including start time, parameters, progress details, and involved
datanodes using `-v` or `--verbose`.
([HDDS-11120](https://issues.apache.org/jira/browse/HDDS-11120))
+- Enhanced `ozone admin containerbalancer status` output with richer
information including start time, parameters, progress details, and involved
Datanodes using `-v` or `--verbose`.
([HDDS-11120](https://issues.apache.org/jira/browse/HDDS-11120))
- Improved SCM WebUI display: formatted JVM properties, added DN version/UUID
to list, formatted SCM HA info as a list.
([HDDS-11196](https://issues.apache.org/jira/browse/HDDS-11196))
-- Added statistical indicators (min, max, median, stdev) for DataNode storage
usage to SCM UI/metrics.
([HDDS-11206](https://issues.apache.org/jira/browse/HDDS-11206))
+- Added statistical indicators (`min`, `max`, `median`, `stdev`) for Datanode
storage usage to SCM UI/metrics.
([HDDS-11206](https://issues.apache.org/jira/browse/HDDS-11206))
- Added statistics for Capacity, ScmUsed, Remaining, NonScmUsed storage space
indicators. ([HDDS-11252](https://issues.apache.org/jira/browse/HDDS-11252))
- Improved CLI display for OM/SCM roles with a `--table` option.
([HDDS-11268](https://issues.apache.org/jira/browse/HDDS-11268))
- Added statistics for node status counts (Healthy, Dead, Decommissioning,
EnteringMaintenance).
([HDDS-11272](https://issues.apache.org/jira/browse/HDDS-11272))
- Allowed disabling OM version-specific features via internal config (e.g.,
atomic rewrite key).
([HDDS-11378](https://issues.apache.org/jira/browse/HDDS-11378))
- Introduced schema versioning for Recon DB to handle upgrades and distinguish
schema changes. ([HDDS-11465](https://issues.apache.org/jira/browse/HDDS-11465))
- Added statistics for Pipeline and Container counts/states to SCM UI/metrics.
([HDDS-11469](https://issues.apache.org/jira/browse/HDDS-11469))
-- Improved `--duration` option handling in freon tests (ombg, ommg) for
consistency with `-n` limit.
([HDDS-11494](https://issues.apache.org/jira/browse/HDDS-11494))
-- Made SCMDBDefinition a singleton to reflect its immutability.
([HDDS-11555](https://issues.apache.org/jira/browse/HDDS-11555))
+- Improved `--duration` option handling in freon tests (`ombg`, `ommg`) for
consistency with `-n` limit.
([HDDS-11494](https://issues.apache.org/jira/browse/HDDS-11494))
+- Made `SCMDBDefinition` a singleton to reflect its immutability.
([HDDS-11555](https://issues.apache.org/jira/browse/HDDS-11555))
- Simplified DBColumnFamilyDefinition by removing redundant keyType/valueType
fields (relying on Codec).
([HDDS-11557](https://issues.apache.org/jira/browse/HDDS-11557))
-- Made ReconSCMDBDefinition a singleton.
([HDDS-11589](https://issues.apache.org/jira/browse/HDDS-11589))
+- Made `ReconSCMDBDefinition` a singleton.
([HDDS-11589](https://issues.apache.org/jira/browse/HDDS-11589))
- Clarified OM Ratis configuration change log message to avoid confusion about
peer roles. ([HDDS-11623](https://issues.apache.org/jira/browse/HDDS-11623))
- Optimized `OmUtils.normalizeKey` to check `isDebugEnabled` before performing
string comparison.
([HDDS-11669](https://issues.apache.org/jira/browse/HDDS-11669))
- Enhanced Recon metrics for background task status (lastRunStatus,
currentTaskStatus) and queue monitoring.
([HDDS-11680](https://issues.apache.org/jira/browse/HDDS-11680))
-- Implemented OM-side filtering for ranged GET requests for specific MPU parts
to reduce network overhead.
([HDDS-11699](https://issues.apache.org/jira/browse/HDDS-11699))
-- Refactored S3 request unmarshalling logic to reduce code duplication.
([HDDS-11739](https://issues.apache.org/jira/browse/HDDS-11739))
+- Implemented OM-side filtering for ranged GET requests for specific `MPU`
parts to reduce network overhead.
([HDDS-11699](https://issues.apache.org/jira/browse/HDDS-11699))
+- Refactored S3 request `unmarshalling` logic to reduce code duplication.
([HDDS-11739](https://issues.apache.org/jira/browse/HDDS-11739))
- Improved efficiency of `BufferUtils.writeFully` for `ByteBuffer[]` using
`GatheringByteChannel`.
([HDDS-11860](https://issues.apache.org/jira/browse/HDDS-11860))
-- The ozonefs-hadoop3-client jar may be optionally relocated to a different
classpath fix by specifying the Maven properties `proto.shaded.prefix`.
([HDDS-12116](https://issues.apache.org/jira/browse/HDDS-12116))
+- The `ozonefs-hadoop3-client` jar may be optionally relocated to a different
classpath fix by specifying the Maven properties `proto.shaded.prefix`.
([HDDS-12116](https://issues.apache.org/jira/browse/HDDS-12116))
- Changed default Replication Manager command deadline to 12 minutes (SCM) and
Datanode offset to 6 minutes.
([HDDS-12135](https://issues.apache.org/jira/browse/HDDS-12135))
- Improved error messages in Ozone CLI for FileSystemExceptions (e.g.,
NoSuchFileException, AccessDeniedException) when not in verbose mode.
([HDDS-12241](https://issues.apache.org/jira/browse/HDDS-12241))
- Returned explicit QUOTA_EXCEEDED S3 error code instead of a generic 500
internal error. ([HDDS-12329](https://issues.apache.org/jira/browse/HDDS-12329))
@@ -228,7 +227,7 @@ and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0
- Refined `ozone admin containerbalancer status` output for better readability
and detail, including time consumption and data units (MB/GB).
([HDDS-11367](https://issues.apache.org/jira/browse/HDDS-11367))
- Added Pipeline count to `ozone admin datanode usageinfo` output.
([HDDS-11357](https://issues.apache.org/jira/browse/HDDS-11357))
- Removed redundant `CommandHandler` thread pool size methods (already covered
by ReplicationSupervisor metrics).
([HDDS-11304](https://issues.apache.org/jira/browse/HDDS-11304))
-- Replaced `clusterId` parameter in `KeyValueHandler` with initialization via
`setClusterId` to prevent potential NPE during concurrent container creation
under high load.
([HDDS-11396](https://issues.apache.org/jira/browse/HDDS-11396))
+- Replaced `clusterId` parameter in `KeyValueHandler` with initialization via
`setClusterId` to prevent potential `NPE` during concurrent container creation
under high load.
([HDDS-11396](https://issues.apache.org/jira/browse/HDDS-11396))
- Added `ozone.om.ratis.leader.election.minimum.timeout.duration.key` config
to OM RaftProperties for leader election timeout.
([HDDS-10761](https://issues.apache.org/jira/browse/HDDS-10761))
- Added configuration (`ozone.om.rocksdb.max_open_files`) to set RocksDB
`max_open_files` option for OM DB.
([HDDS-11191](https://issues.apache.org/jira/browse/HDDS-11191))
- Standardized Datanode command metrics tracking across ReplicationSupervisor
and direct command handlers.
([HDDS-11444](https://issues.apache.org/jira/browse/HDDS-11444))
@@ -271,17 +270,17 @@ and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0
- Fixed `IOException: ParentKeyInfo ... is null` in Recon Namespace Summary
task by handling cases where parent info might be missing.
([HDDS-10855](https://issues.apache.org/jira/browse/HDDS-10855))
- Fixed EC Reconstruction failure (`IllegalArgumentException: The chunk list
has X entries, but the checksum chunks has Y entries`) potentially caused by
out-of-order EC stripe writes leading to inaccurate chunk lists.
([HDDS-10985](https://issues.apache.org/jira/browse/HDDS-10985))
- Fixed OM crash (`SnapshotChainManager: Failure while loading snapshot
chain`) caused by SstFilteringService directly updating snapshot info DB
entries, potentially corrupting the chain if OM restarts before DoubleBuffer
flush. ([HDDS-11068](https://issues.apache.org/jira/browse/HDDS-11068))
-- Resolved `ClassCastException` (RepeatedOmKeyInfo to OmKeyInfo) in Recon's
FileSizeCountTask due to improper event handling in OMDBUpdatesHandler for
conflicting keys across tables (e.g., file and directory with the same name).
([HDDS-11187](https://issues.apache.org/jira/browse/HDDS-11187))
+- Resolved `ClassCastException` (RepeatedOmKeyInfo to OmKeyInfo) in Recon's
FileSizeCountTask due to improper event handling in `OMDBUpdatesHandler` for
conflicting keys across tables (e.g., file and directory with the same name).
([HDDS-11187](https://issues.apache.org/jira/browse/HDDS-11187))
- Fixed `ContainerSizeCountTask` in Recon logging ERROR for negative-sized
containers; reduced log level as these are ignored functionally.
([HDDS-12227](https://issues.apache.org/jira/browse/HDDS-12227))
- Fixed duplicate key violation in Recon's `FileSizeCountTask` by correctly
handling the `isDbTruncated` flag to allow updates instead of only inserts.
([HDDS-12228](https://issues.apache.org/jira/browse/HDDS-12228))
- Made OzoneClientException extend IOException.
([HDDS-64](https://issues.apache.org/jira/browse/HDDS-64))
-- Fixed various S3 gateway issues including multipart upload and other
improvements. ([HDDS-1186](https://issues.apache.org/jira/browse/HDDS-1186))
+- Fixed various S3 Gateway issues including multipart upload and other
improvements. ([HDDS-1186](https://issues.apache.org/jira/browse/HDDS-1186))
- Fixed SCM Decommissioning issue causing `InvalidStateTransitionException`
after recommissioning the same SCM node.
([HDDS-9608](https://issues.apache.org/jira/browse/HDDS-9608))
- Fixed Recon Disk Usage page UI issues with large numbers of
keys/buckets/volumes (pie chart usability, axis ticks, path overflow).
([HDDS-9626](https://issues.apache.org/jira/browse/HDDS-9626))
- Fixed Ozone admin namespace CLI `du` command printing incorrect validation
error messages for root (""/"") or volume paths.
([HDDS-9644](https://issues.apache.org/jira/browse/HDDS-9644))
- Fixed Recon incorrectly including out-of-service (decommissioned,
maintenance) nodes when checking container health status
(over/under/mis-replication).
([HDDS-9645](https://issues.apache.org/jira/browse/HDDS-9645))
- Fixed potential `NullPointerException` in
`ContainerStateMap.ContainerAttribute` due to race condition between update and
get operations. ([HDDS-9527](https://issues.apache.org/jira/browse/HDDS-9527))
-- Fixed Recon potentially showing duplicate DEAD datanodes after
decommission/reformat/recommission cycles.
([HDDS-10409](https://issues.apache.org/jira/browse/HDDS-10409)) -> Now only
allows removing DEAD nodes.
([HDDS-11032](https://issues.apache.org/jira/browse/HDDS-11032))
+- Fixed Recon potentially showing duplicate DEAD Datanodes after
decommission/reformat/recommission cycles.
([HDDS-10409](https://issues.apache.org/jira/browse/HDDS-10409)) -> Now only
allows removing DEAD nodes.
([HDDS-11032](https://issues.apache.org/jira/browse/HDDS-11032))
- Fixed potential memory overflow in Recon's Container Health Task due to
unbounded list growth.
([HDDS-9819](https://issues.apache.org/jira/browse/HDDS-9819))
- Reduced Ozone client heap memory utilization during writes by using pooled
direct buffers for chunks.
([HDDS-9843](https://issues.apache.org/jira/browse/HDDS-9843))
- Fixed `Pipeline.nodesInOrder` using ThreadLocal, making it inaccessible to
other threads after being set.
([HDDS-9848](https://issues.apache.org/jira/browse/HDDS-9848))
@@ -294,7 +293,7 @@ and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0
- Fixed potential `NullPointerException` in `VolumeInfoMetrics.getCommitted()`
if `HddsVolume.committedBytes` is null.
([HDDS-10027](https://issues.apache.org/jira/browse/HDDS-10027))
- Refined SCM RPC handler counts to be configurable per protocol (Client,
Block, Datanode) instead of a single global count.
([HDDS-10088](https://issues.apache.org/jira/browse/HDDS-10088))
- Removed static `dbNameToCfHandleMap` from RocksDatabase, using non-static
`columnFamilies` map instead.
([HDDS-10107](https://issues.apache.org/jira/browse/HDDS-10107))
-- Fixed potential `NullPointerException` in OMDBCheckpointServlet lock
acquisition when SstFilteringService is accessed before initialization.
([HDDS-10138](https://issues.apache.org/jira/browse/HDDS-10138))
+- Fixed potential `NullPointerException` in `OMDBCheckpointServlet` lock
acquisition when SstFilteringService is accessed before initialization.
([HDDS-10138](https://issues.apache.org/jira/browse/HDDS-10138))
- Enabled Zero-Copy reads during container replication for improved
performance. ([HDDS-10144](https://issues.apache.org/jira/browse/HDDS-10144))
- Corrected metric names `createOmResoonseLatencyNs` and
`validateAndUpdateCacneLatencyNs` in `OMPerformanceMetrics`.
([HDDS-10162](https://issues.apache.org/jira/browse/HDDS-10162))
- Fixed `OmMetadataManagerImpl` creating a new `S3Batcher` instance for each
S3 secret operation instead of reusing one.
([HDDS-10202](https://issues.apache.org/jira/browse/HDDS-10202))
@@ -312,11 +311,11 @@ and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0
- Fixed metadata not being updated when overwriting existing keys via S3
PutObject. ([HDDS-10324](https://issues.apache.org/jira/browse/HDDS-10324))
- Fixed `SetTimes` API not working with linked buckets due to missing link
resolution. ([HDDS-10369](https://issues.apache.org/jira/browse/HDDS-10369))
- Fixed Recon not handling pre-existing MISSING_EMPTY containers correctly
(introduced in HDDS-9695), leaving them marked as missing indefinitely.
([HDDS-10370](https://issues.apache.org/jira/browse/HDDS-10370))
-- Fixed S3 listParts incompatibility for keys created before HDDS-9680
(missing ETag metadata) and NPE when ETag is null.
([HDDS-10395](https://issues.apache.org/jira/browse/HDDS-10395))
+- Fixed S3 listParts incompatibility for keys created before HDDS-9680
(missing ETag metadata) and `NPE` when ETag is null.
([HDDS-10395](https://issues.apache.org/jira/browse/HDDS-10395))
- Restricted directory deletion in LEGACY buckets via `ozone sh key delete`;
users must use `ozone fs` interface.
([HDDS-10397](https://issues.apache.org/jira/browse/HDDS-10397))
- Fixed `ArrayIndexOutOfBoundsException` when listing keys in OBS buckets via
S3/s3a under certain conditions.
([HDDS-10399](https://issues.apache.org/jira/browse/HDDS-10399))
- Fixed `ozone admin` CLI having hard-coded INFO log level, ignoring
environment/config settings.
([HDDS-10405](https://issues.apache.org/jira/browse/HDDS-10405))
-- Fixed Datanode startup failure ("Illegal configuration:
raft.grpc.message.size.max must be 1m larger than …") when using latest Ratis
due to default config mismatch.
([HDDS-11375](https://issues.apache.org/jira/browse/HDDS-11375))
+- Fixed Datanode startup failure ("Illegal configuration:
`raft.grpc.message.size.max` must be 1m larger than …") when using latest Ratis
due to default config mismatch.
([HDDS-11375](https://issues.apache.org/jira/browse/HDDS-11375))
- Fixed Datanode startup failure ("checksum size setting 1024 is not in
expected format") due to incorrect type validation for
`hdds.ratis.raft.server.snapshot.creation.gap`.
([HDDS-10423](https://issues.apache.org/jira/browse/HDDS-10423))
- Fixed Grafana dashboard Prometheus endpoint configuration for Datanodes and
added missing Recon endpoint.
([HDDS-10433](https://issues.apache.org/jira/browse/HDDS-10433))
- Fixed Datanode Maintenance failing early incorrectly (logic refined).
([HDDS-10463](https://issues.apache.org/jira/browse/HDDS-10463))
@@ -330,12 +329,12 @@ and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0
- Fixed Ozone CLI not respecting default `ozone.om.service.id` when only one
service ID is configured.
([HDDS-10861](https://issues.apache.org/jira/browse/HDDS-10861))
- Fixed `ClosePipelineCommandHandler` potentially causing
`GroupMismatchException` by calling `removeGroup` before getting peer list for
propagation. ([HDDS-10875](https://issues.apache.org/jira/browse/HDDS-10875))
- Fixed Recon `ReconContainerManager` potentially throwing
`DuplicatedPipelineIdException` when checking/adding containers due to race
conditions or stale data.
([HDDS-10880](https://issues.apache.org/jira/browse/HDDS-10880))
-- Improved logging clarity in Recon's `ReconNodeManager` regarding datanode
finalization status checks during upgrades.
([HDDS-10883](https://issues.apache.org/jira/browse/HDDS-10883))
+- Improved logging clarity in Recon's `ReconNodeManager` regarding Datanode
finalization status checks during upgrades.
([HDDS-10883](https://issues.apache.org/jira/browse/HDDS-10883))
- Fixed OM startup failure in single-node Docker container due to Ratis group
directory mismatch when using default service ID.
([HDDS-10909](https://issues.apache.org/jira/browse/HDDS-10909))
- Fixed Recon startup failing silently or logging incorrect errors in non-HA
SCM scenarios due to inability to fetch SCM roles or snapshot.
([HDDS-10937](https://issues.apache.org/jira/browse/HDDS-10937))
- Fixed OM decommission config (`ozone.om.decommissioned.nodes`) not working
without service ID suffix when only one OM service ID is configured.
([HDDS-10942](https://issues.apache.org/jira/browse/HDDS-10942))
- Fixed EC key read corruption potentially occurring if a container's replica
index on a DN mismatches the index expected by the client (e.g., after
container move). Added validation.
([HDDS-10983](https://issues.apache.org/jira/browse/HDDS-10983))
-- Fixed S3 gateway potentially throwing exceptions
(`javax.xml.xpath.XPathExpressionException`) during concurrent XML parsing
(e.g., CompleteMultipartUpload, DeleteObjects).
([HDDS-10777](https://issues.apache.org/jira/browse/HDDS-10777))
+- Fixed S3 Gateway potentially throwing exceptions
(`javax.xml.xpath.XPathExpressionException`) during concurrent XML parsing
(e.g., CompleteMultipartUpload, DeleteObjects).
([HDDS-10777](https://issues.apache.org/jira/browse/HDDS-10777))
- Fixed `NullPointerException` in `XceiverClientRatis.watchForCommit` when
`updateCommitInfosMap` encounters a new Datanode ID in the response after a
previous timeout removed it from `commitInfoMap`.
([HDDS-10780](https://issues.apache.org/jira/browse/HDDS-10780))
- Fixed potential `OMLeaderNotReadyException` after leader switch if
transactions were pending in the double buffer, preventing
`lastNotifiedTermIndex` update.
([HDDS-10798](https://issues.apache.org/jira/browse/HDDS-10798))
- Fixed various HTTP server components (Recon, SCM, OM, DN) failing to start
if configured with a wildcard Kerberos principal (`*`) due to missing
`kerb-core` dependency.
([HDDS-10803](https://issues.apache.org/jira/browse/HDDS-10803))
@@ -344,7 +343,7 @@ and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0
- Fixed `SnapshotDiffManager` logging `NativeLibraryNotLoadedException` as
ERROR even when native tools are optional; changed to WARN.
([HDDS-11486](https://issues.apache.org/jira/browse/HDDS-11486))
- Fixed potential `NullPointerException` when checking container balancer
status (`ozone admin containerbalancer status`) if balancer is started but not
fully initialized (e.g., waiting for DU info).
([HDDS-11350](https://issues.apache.org/jira/browse/HDDS-11350))
- Fixed `ozone fs -rm -r` prompt for volume deletion suggesting incorrect
`ozone sh volume delete` options (`-skipTrash`, `-id`).
([HDDS-11346](https://issues.apache.org/jira/browse/HDDS-11346))
-- Fixed `ozone sh key list -h` showing duplicate options (`--all`, `--length`)
due to picocli version issue (reverted).
([HDDS-11446](https://issues.apache.org/jira/browse/HDDS-11446)) -> Reverted
picocli upgrade.
+- Fixed `ozone sh key list -h` showing duplicate options (`--all`, `--length`)
due to `picocli` version issue (reverted).
([HDDS-11446](https://issues.apache.org/jira/browse/HDDS-11446)) -> Reverted
`picocli` upgrade.
- Fixed S3 CompleteMultipartUpload returning 500 Internal Server Error instead
of S3-compliant InvalidRequest error when no parts are specified in the request
body. ([HDDS-11457](https://issues.apache.org/jira/browse/HDDS-11457))
- Fixed multiple `IOzoneAuthorizer` instances potentially being created and
leaked if Ratis snapshot installation fails repeatedly after stopping the
metadata manager.
([HDDS-11472](https://issues.apache.org/jira/browse/HDDS-11472))
- Fixed `ozone sh volume delete` command line parsing error for `-r` option.
([HDDS-11535](https://issues.apache.org/jira/browse/HDDS-11535)) -> Resolved as
part of HDDS-11346 fix.
@@ -353,13 +352,13 @@ and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0
- Fixed Grafana dashboard for Chunk read/write rates using incorrect interval
variable (`$__interval` instead of `$__rate_interval`).
([HDDS-12112](https://issues.apache.org/jira/browse/HDDS-12112))
- Fixed Replication Manager potentially expiring pending container deletes
incorrectly instead of retrying them if the Datanode doesn't confirm deletion
within the deadline.
([HDDS-12127](https://issues.apache.org/jira/browse/HDDS-12127))
- Fixed Replication Manager non-deterministically selecting replicas for
deletion if preferred target nodes are overloaded, potentially deleting
required replicas.
([HDDS-12115](https://issues.apache.org/jira/browse/HDDS-12115))
-- Fixed delete container commands potentially running indefinitely or past
their deadline due to long lock waits or slow disk I/O; added lock timeout and
moved ICR earlier.
([HDDS-12114](https://issues.apache.org/jira/browse/HDDS-12114))
+- Fixed delete container commands potentially running indefinitely or past
their deadline due to long lock waits or slow disk I/O; added lock timeout and
moved `ICR` earlier.
([HDDS-12114](https://issues.apache.org/jira/browse/HDDS-12114))
- Fixed Recon UI potentially switching from old UI to new UI automatically
upon page refresh.
([HDDS-12084](https://issues.apache.org/jira/browse/HDDS-12084))
- Fixed missing local refresh button in new Recon UI's Disk Usage page to
reload data for the current path without navigating back to root.
([HDDS-12085](https://issues.apache.org/jira/browse/HDDS-12085))
- Fixed unnecessary parameters "Source Volume" & "Source Bucket" appearing in
the metadata table for non-link buckets in the new Recon UI Disk Usage page.
([HDDS-12073](https://issues.apache.org/jira/browse/HDDS-12073))
- Fixed Recon API endpoints `/api/v1/volumes` and `/api/v1/buckets` missing
from Swagger documentation.
([HDDS-11300](https://issues.apache.org/jira/browse/HDDS-11300))
- Fixed potential `NullPointerException` in Recon `/api/v1/volumes` and
`/api/v1/buckets` endpoints if accessed before Recon tables are fully
initialized after startup.
([HDDS-11349](https://issues.apache.org/jira/browse/HDDS-11349))
-- Fixed `ozone freon cr` (closed container replication) command failing with
NPE due to metrics map lookup failure in ReplicationSupervisor.
([HDDS-12040](https://issues.apache.org/jira/browse/HDDS-12040))
+- Fixed `ozone freon cr` (closed container replication) command failing with
`NPE` due to metrics map lookup failure in ReplicationSupervisor.
([HDDS-12040](https://issues.apache.org/jira/browse/HDDS-12040))
- Fixed incorrect display of Ozone Service ID name in Recon UI (New UI showed
"OM ID", Old UI showed "OM Service"). Corrected to "Ozone Service ID".
([HDDS-12049](https://issues.apache.org/jira/browse/HDDS-12049))
- Fixed difference in Cluster Capacity % calculation (floor vs round) and
Container Pre-Allocated Size display (committed vs 0) between new and old Recon
UI. ([HDDS-12042](https://issues.apache.org/jira/browse/HDDS-12042))
- Fixed long path names wrapping to the next line in the new Recon UI Disk
Usage page; made it scrollable instead.
([HDDS-11957](https://issues.apache.org/jira/browse/HDDS-11957))
@@ -367,10 +366,10 @@ and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0
- Fixed serialization error (`Conflicting/ambiguous property name`) in Recon's
listKeys API due to Jackson ambiguity between `key` field and `isKey()` getter.
Renamed getter. ([HDDS-11848](https://issues.apache.org/jira/browse/HDDS-11848))
- Fixed potential deadlock in OM between DoubleBuffer flush thread (waiting
for DeletedTable lock during snapshot checkpoint) and KeyDeletingService
(holding DeletedTable lock, waiting for Ratis future).
([HDDS-11124](https://issues.apache.org/jira/browse/HDDS-11124))
- Fixed OM crashing with `IOException: Rocks Database is closed` during
`SnapshotMoveDeletedKeys` request processing if the snapshot was purged
concurrently. ([HDDS-11152](https://issues.apache.org/jira/browse/HDDS-11152))
-- Fixed containers potentially stuck in DELETING state after upgrade if they
were affected by HDDS-8129 (incorrect block counts) and datanodes rejected
delete commands due to negative counts. Added recovery logic.
([HDDS-11136](https://issues.apache.org/jira/browse/HDDS-11136))
+- Fixed containers potentially stuck in DELETING state after upgrade if they
were affected by HDDS-8129 (incorrect block counts) and Datanodes rejected
delete commands due to negative counts. Added recovery logic.
([HDDS-11136](https://issues.apache.org/jira/browse/HDDS-11136))
- Fixed `fs -mkdir` incorrectly creating directories in OBS buckets (bypassing
layout validation added in HDDS-11235). Reverted the optimization for mkdir.
([HDDS-11348](https://issues.apache.org/jira/browse/HDDS-11348))
- Fixed Datanode potentially failing heartbeats or other operations due to
deadlock on `StateContext#pipelineActions` map under high load. Replaced with
concurrent map. ([HDDS-11331](https://issues.apache.org/jira/browse/HDDS-11331))
-- Fixed S3 gateway returning 403 Forbidden instead of 302 Redirect for root
path (`/`) requests containing `Authorization: Negotiate` header (used by newer
curl versions). ([HDDS-11096](https://issues.apache.org/jira/browse/HDDS-11096))
+- Fixed S3 Gateway returning 403 Forbidden instead of 302 Redirect for root
path (`/`) requests containing `Authorization: Negotiate` header (used by newer
curl versions). ([HDDS-11096](https://issues.apache.org/jira/browse/HDDS-11096))
- Fixed `DELETE_TENANT` request logging an unnecessary and uninformative
`UPDATE_VOLUME` audit entry, even on failure.
([HDDS-11119](https://issues.apache.org/jira/browse/HDDS-11119))
- Fixed intermittent timeout in `TestBlockDeletion.testBlockDeletion`
potentially caused by race conditions or slow command processing.
([HDDS-9962](https://issues.apache.org/jira/browse/HDDS-9962))
- Fixed "Bad file descriptor" error in
`TestOmSnapshotFsoWithNativeLib.testSnapshotCompactionDag` when using native
RocksDB tools library.
([HDDS-10149](https://issues.apache.org/jira/browse/HDDS-10149))
@@ -383,15 +382,15 @@ and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0
- Fixed Recon showing incorrect (zero) count for DELETED containers in cluster
state summary API (`/api/v1/clusterState`).
([HDDS-11389](https://issues.apache.org/jira/browse/HDDS-11389))
- Fixed issue where OM could fail if `IOzoneAuthorizer` (e.g., Ranger plugin)
fails to initialize during snapshot installation and reload attempts create
multiple instances, leading to heap exhaustion.
([HDDS-11472](https://issues.apache.org/jira/browse/HDDS-11472))
- Fixed `NoSuchUpload` error when aborting multipart uploads for keys where
the parent directory was missing (potentially due to FSO-related bugs or
cleanup issues).
([HDDS-11784](https://issues.apache.org/jira/browse/HDDS-11784))
-- Fixed secure acceptance tests failing on arm64 due to keytab checksum
mismatch when using keytabs generated on amd64. Regenerated keytabs for
multi-arch compatibility.
([HDDS-11810](https://issues.apache.org/jira/browse/HDDS-11810))
-- Fixed race condition in datanode VERSION file creation where multiple
threads could attempt to write using the same temporary file via
`AtomicFileOutputStream`.
([HDDS-12608](https://issues.apache.org/jira/browse/HDDS-12608))
+- Fixed secure acceptance tests failing on arm64 due to `keytab` checksum
mismatch when using `keytabs` generated on amd64. Regenerated `keytabs` for
multi-arch compatibility.
([HDDS-11810](https://issues.apache.org/jira/browse/HDDS-11810))
+- Fixed race condition in Datanode VERSION file creation where multiple
threads could attempt to write using the same temporary file via
`AtomicFileOutputStream`.
([HDDS-12608](https://issues.apache.org/jira/browse/HDDS-12608))
- Fixed SCM logging an error when updating sequence ID for a CLOSED container
based on a replica report with higher BCSID; changed log level and added
context. ([HDDS-12409](https://issues.apache.org/jira/browse/HDDS-12409))
### Security
- Disabled REST endpoint for S3 secret manipulation by username for non-admin
users via S3Gateway Secret REST endpoint.
([HDDS-11040](https://issues.apache.org/jira/browse/HDDS-11040))
-For more details, check out [Apache Ozone 2.0.0 JIRA
list](https://issues.apache.org/jira/projects/HDDS/versions/12353070).
+For more details, check out [Apache Ozone 2.0.0 Jira
list](https://issues.apache.org/jira/projects/HDDS/versions/12353070).
This is a generally available (GA) release. It represents a point of API
stability and quality that we consider production-ready.
@@ -406,6 +405,7 @@ This is a generally available (GA) release. It represents a
point of API stabili
**Release Date:** 2025 Apr 30
-*Generated-by: Google AI Studio + Gemini 2.5 Pro Preview 03-25, with input
data from a [filtered JIRA
list](https://issues.apache.org/jira/issues/?filter=12353885) using [this
prompt](https://gist.github.com/jojochuang/f36bcdf135b2df26c2f0ab1b9e8c0c27).*
-
+*Generated-by: Google AI Studio + Gemini 2.5 Pro Preview 03-25, with input
data from a [filtered Jira
list](https://issues.apache.org/jira/issues/?filter=12353885) using [this
prompt](https://gist.github.com/jojochuang/f36bcdf135b2df26c2f0ab1b9e8c0c27).*
+// cSpell:disable
*Image credit: [Indiana Dunes National Lakeshore, Michigan City, Indiana,
USA](https://commons.wikimedia.org/wiki/File:Indiana_Dunes_National_Lakeshore,_Michigan_City,_Indiana,_Estados_Unidos,_2012-10-20,_DD_03.jpg)
by [Diego Delso](https://delso.photo/), [CC-BY-SA
3.0](https://creativecommons.org/licenses/by-sa/3.0/) / Text added to original*
+// cSpell:enable
diff --git a/src/pages/release-notes/2.1.0.md b/src/pages/release-notes/2.1.0.md
index f5a33a5d0..e5d80b26f 100644
--- a/src/pages/release-notes/2.1.0.md
+++ b/src/pages/release-notes/2.1.0.md
@@ -8,25 +8,25 @@ Apache Ozone 2.1.0 adds 805 new features, improvements and
bug fixes on top of O
## Notable Changes
-#### [HDDS-10239](https://issues.apache.org/jira/browse/HDDS-10239) |
**Storage Container Reconciliation**
+[HDDS-10239](https://issues.apache.org/jira/browse/HDDS-10239) | **Storage
Container Reconciliation**
Introduced a container reconciliation protocol to resolve mismatched container
states and verify replica integrity.
---
-#### [HDDS-12940](https://issues.apache.org/jira/browse/HDDS-12940) | **Ozone
Snapshot Phase 3: Scale up Snapshot Operations**
+[HDDS-12940](https://issues.apache.org/jira/browse/HDDS-12940) | **Ozone
Snapshot Phase 3: Scale up Snapshot Operations**
Enhanced Ozone Snapshot scalability and continued stability improvements.
---
-#### [HDDS-8387](https://issues.apache.org/jira/browse/HDDS-8387) |
**Container and volume scanners phase II**
+[HDDS-8387](https://issues.apache.org/jira/browse/HDDS-8387) | **Container and
volume scanners phase II**
Enhanced storage volume failure handling by introducing a 'degraded' state to
preserve data availability, along with improved health observability.
---
-#### [HDDS-12564](https://issues.apache.org/jira/browse/HDDS-12564) |
**Handling disk issues in Datanodes - Phase II**
+[HDDS-12564](https://issues.apache.org/jira/browse/HDDS-12564) | **Handling
disk issues in Datanodes - Phase II**
Enhanced Datanode disk space management to prevent out-of-space failures.
@@ -34,17 +34,17 @@ Enhanced Datanode disk space management to prevent
out-of-space failures.
## New Configuration Options
-- **OZONE_SERVER_OPTS**: A new environment variable was added to allow setting
common Java options for all Ozone server processes at once.
-- **ozone.compaction.service.enabled**: Enable or disable a background job
that periodically compacts rocksdb tables flagged for compaction. The default
is false.
-- **ozone.om.compaction.service.run.interval**: A background job that
periodically compacts rocksdb tables flagged for compaction. The default is 6
hours.
-- **ozone.om.compaction.service.timeout**: A timeout value of compaction
service. If this is set greater than 0, the service will stop waiting for
compaction completion after this time. Unit could be defined with postfix
(ns,ms,s,m,h,d). The default is 10 min.
-- **ozone.om.compaction.service.columnfamilies**: A comma separated, no spaces
list of all the column families that are compacted by the compaction service.
If this is empty, no column families are compacted. The default is
"keyTable,fileTable,directoryTable,deletedTable,deletedDirectoryTable,multipartInfoTable".
-- **ozone.om.snapshot.prune.compaction.backup.batch.size**: This property
controls Prune SST files in Compaction backup directory in batches every
`ozone.om.snapshot.compaction.dag.prune.daemon.run.interval`. The default is
2000.
+- `OZONE_SERVER_OPTS`: A new environment variable was added to allow setting
common Java options for all Ozone server processes at once.
+- `ozone.compaction.service.enabled`: Enable or disable a background job that
periodically compacts RocksDB tables flagged for compaction. The default is
false.
+- `ozone.om.compaction.service.run.interval`: A background job that
periodically compacts RocksDB tables flagged for compaction. The default is 6
hours.
+- `ozone.om.compaction.service.timeout`: A timeout value of compaction
service. If this is set greater than 0, the service will stop waiting for
compaction completion after this time. Unit could be defined with postfix
(ns,ms,s,m,h,d). The default is 10 min.
+- `ozone.om.compaction.service.columnfamilies`: A comma separated, no spaces
list of all the column families that are compacted by the compaction service.
If this is empty, no column families are compacted. The default is
"keyTable,fileTable,directoryTable,deletedTable,deletedDirectoryTable,multipartInfoTable".
+- `ozone.om.snapshot.prune.compaction.backup.batch.size`: This property
controls Prune SST files in Compaction backup directory in batches every
`ozone.om.snapshot.compaction.dag.prune.daemon.run.interval`. The default is
2000.
These properties provide more control over the Ratis write buffer, which can
be adjusted to optimize performance based on workload and hardware:
-- **ozone.om.ratis.server.pending.write.byte-limit**: Sets the maximum byte
size of all pending write requests. The default is 64MB.
-- **ozone.om.ratis.server.pending.write.element-limit**: Sets the maximum
number of pending write requests. The default is 4096.
+- `ozone.om.ratis.server.pending.write.byte-limit`: Sets the maximum byte size
of all pending write requests. The default is 64MB.
+- `ozone.om.ratis.server.pending.write.element-limit`: Sets the maximum number
of pending write requests. The default is 4096.
## Incompatible Change
@@ -52,47 +52,45 @@ These properties provide more control over the Ratis write
buffer, which can be
### Default Value Changes
-- **hdds.scm.block.deletion.per-interval.max**: Default is now 500,000 blocks
per interval.
-- **hdds.datanode.volume.choosing.policy**: Default changed from
RoundRobinVolumeChoosingPolicy to CapacityVolumeChoosingPolicy.
-- **hdds.datanode.volume.min.free.space**: Default changed from 5GB to 20GB.
-- **hdds.datanode.volume.min.free.space.percent**: Default changed to 0.1%.
-- **hdds.datanode.block.deleting.limit.per.interval**: Default is now 20,000
blocks per interval.
-- **hdds.scm.safemode.min.datanode**: Default changed from 1 to 3.
-- **hdds.secret.key.expiry.duration**: Default is now 9 days. This change
ensures that tokens remain valid for their full configured duration, preventing
premature key invalidation and improving stable authentication.
-- **fs.trash.classname**: Class name updated to
org.apache.hadoop.fs.ozone.OzoneTrashPolicy.
-- **ozone.key.deleting.limit.per.task**: Default is now 50,000 keys per task.
-- **ozone.s3g.https-address**: Default changed from None to 0.0.0.0:9879.
-- **ozone.om.fs.snapshot.max.limit**: Default is now 10,000 snapshots.
-- **ozone.om.ratis.segment.size**: Default is now 64MB (was 4MB).
-- **ozone.scm.ha.dbtransactionbuffer.flush.interval**: Default is now 1 min.
-- **ozone.scm.ha.ratis.segment.size**: Default is now 64MB (was 4MB).
+- `hdds.scm.block.deletion.per-interval.max`: Default is now 500,000 blocks
per interval.
+- `hdds.datanode.volume.choosing.policy`: Default changed from
RoundRobinVolumeChoosingPolicy to CapacityVolumeChoosingPolicy.
+- `hdds.datanode.volume.min.free.space`: Default changed from 5GB to 20GB.
+- `hdds.datanode.volume.min.free.space.percent`: Default changed to 0.1%.
+- `hdds.datanode.block.deleting.limit.per.interval`: Default is now 20,000
blocks per interval.
+- `hdds.scm.safemode.min.datanode`: Default changed from 1 to 3.
+- `hdds.secret.key.expiry.duration`: Default is now 9 days. This change
ensures that tokens remain valid for their full configured duration, preventing
premature key invalidation and improving stable authentication.
+- `fs.trash.classname`: Class name updated to
`org.apache.hadoop.fs.ozone.OzoneTrashPolicy`.
+- `ozone.key.deleting.limit.per.task`: Default is now 50,000 keys per task.
+- `ozone.s3g.https-address`: Default changed from None to 0.0.0.0:9879.
+- `ozone.om.fs.snapshot.max.limit`: Default is now 10,000 snapshots.
+- `ozone.om.ratis.segment.size`: Default is now 64MB (was 4MB).
+- `ozone.scm.ha.dbtransactionbuffer.flush.interval`: Default is now 1 min.
+- `ozone.scm.ha.ratis.segment.size`: Default is now 64MB (was 4MB).
### Removed Configurations
-- **hdds.rest.http-address**: This configuration is removed since
[HDDS-12761](https://issues.apache.org/jira/browse/HDDS-12761).
-- **hdds.scm.safemode.pipeline-availability.check**: This configuration is
removed since [HDDS-11799](https://issues.apache.org/jira/browse/HDDS-11799).
+- `hdds.rest.http-address`: This configuration is removed since
[HDDS-12761](https://issues.apache.org/jira/browse/HDDS-12761).
+- `hdds.scm.safemode.pipeline-availability.check`: This configuration is
removed since [HDDS-11799](https://issues.apache.org/jira/browse/HDDS-11799).
## Changelog
The format is based on [Keep a
Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0.html).
-**[2.1.0] - 2025-12-31**
-
### Added
- Added design documentation and initial integration steps for OpenTelemetry.
([HDDS-13679](https://issues.apache.org/jira/browse/HDDS-13679))
- Implemented an in-memory manager for Snapshot Local Data.
([HDDS-13627](https://issues.apache.org/jira/browse/HDDS-13627))
- Added support for Ranger to authorize STS tokens.
([HDDS-13848](https://issues.apache.org/jira/browse/HDDS-13848))
- Added latency metrics for key creation operations and deletion services to
Grafana dashboards.
([HDDS-13510](https://issues.apache.org/jira/browse/HDDS-13510))
-- Include openssl native library check in the ozone debug checknative command
output. ([HDDS-13266](https://issues.apache.org/jira/browse/HDDS-13266))
+- Include openssl native library check in the Ozone debug `checknative`
command output. ([HDDS-13266](https://issues.apache.org/jira/browse/HDDS-13266))
- Apache Ozone is migrated from OpenTracing to OpenTelemetry for distributed
tracing. ([HDDS-13680](https://issues.apache.org/jira/browse/HDDS-13680))
-- Enable rpm builds for Ozone. To build rpm packages, do: mvn clean package
-DskipTests=true -Prpm. Optionally specify -Drpm.targetArch=aarch64 for ARM
builds. ([HDDS-13439](https://issues.apache.org/jira/browse/HDDS-13439))
-- Ozone supports creating deb package for Debian. Example command: mvn clean
package -Pdeb The package file `ozone_<ozone_version>-<linux_distro>_.deb` will
be created under folder path hadoop-ozone/dist/target. The Ozone binary will be
installed under /opt/ozone directory.
([HDDS-13414](https://issues.apache.org/jira/browse/HDDS-13414))
+- Enable rpm builds for Ozone. To build rpm packages, do: `mvn clean package
-DskipTests=true -Prpm`. Optionally specify `-Drpm.targetArch=aarch64` for ARM
builds. ([HDDS-13439](https://issues.apache.org/jira/browse/HDDS-13439))
+- Ozone supports creating deb package for Debian. Example command: `mvn clean
package -Pdeb`. The package file `ozone_<ozone_version>-<linux_distro>_.deb`
will be created under folder path `hadoop-ozone/dist/target`. The Ozone binary
will be installed under `/opt/ozone` directory.
([HDDS-13414](https://issues.apache.org/jira/browse/HDDS-13414))
- Added a "Deletion Progress" section to the OM Web UI to track Key Deleting
Service metrics (count and size) from the last 24 hours, along with service
status and schedule details.
([HDDS-12887](https://issues.apache.org/jira/browse/HDDS-12887))
- Added a throttling mechanism to SCM to prevent excessive memory usage and
long GC pauses during large-scale block deletions.
([HDDS-12087](https://issues.apache.org/jira/browse/HDDS-12087))
- Added support for Listener Ozone Managers (OM). Listener OMs are read-only,
non-voting nodes that replicate logs from the leader to serve read requests,
improving read performance and offloading voting OMs.
([HDDS-11523](https://issues.apache.org/jira/browse/HDDS-11523))
-- Exposed new metrics under `StorageVolumeScannerMetrics` and
`VolumeInfoMetrics` on DataNodes to improve observability of storage volume
scanning activity and health.
([HDDS-8783](https://issues.apache.org/jira/browse/HDDS-8783))
+- Exposed new metrics under `StorageVolumeScannerMetrics` and
`VolumeInfoMetrics` on Datanodes to improve observability of storage volume
scanning activity and health.
([HDDS-8783](https://issues.apache.org/jira/browse/HDDS-8783))
- Added specific audit logs for background deletion services and internal OM
requests. ([HDDS-13370](https://issues.apache.org/jira/browse/HDDS-13370),
[HDDS-11314](https://issues.apache.org/jira/browse/HDDS-11314))
- Added logic to immediately trigger heartbeat and container close when a
volume is full. ([HDDS-13045](https://issues.apache.org/jira/browse/HDDS-13045))
- Added support for uploading and deleting objects using presigned URLs.
([HDDS-5195](https://issues.apache.org/jira/browse/HDDS-5195),
[HDDS-13663](https://issues.apache.org/jira/browse/HDDS-13663))
@@ -100,7 +98,7 @@ and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0
- Added support for S3 STANDARD_IA storage class to accept EC replication
config and owner field in listBuckets.
([HDDS-1097](https://issues.apache.org/jira/browse/HDDS-1097))
- Added new Grafana dashboards for low-level RocksDB operations and Deletion
progress. ([HDDS-12446](https://issues.apache.org/jira/browse/HDDS-12446),
[HDDS-13259](https://issues.apache.org/jira/browse/HDDS-13259))
- Added a "Mismatched Replica" tab to the Containers Page and improved
mismatch API. ([HDDS-12395](https://issues.apache.org/jira/browse/HDDS-12395))
-- Added ozone admin commands for listing containers based on health state and
sorting datanodes.
([HDDS-12653](https://issues.apache.org/jira/browse/HDDS-12653),
[HDDS-13095](https://issues.apache.org/jira/browse/HDDS-13095))
+- Added `ozone admin` commands for listing containers based on health state
and sorting Datanodes.
([HDDS-12653](https://issues.apache.org/jira/browse/HDDS-12653),
[HDDS-13095](https://issues.apache.org/jira/browse/HDDS-13095))
### Changed
@@ -118,7 +116,7 @@ and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0
### Fixed
- **Snapshot Locking**: Fixed OMLockDetails usage where it incorrectly
returned a ThreadLocal Object.
([HDDS-13978](https://issues.apache.org/jira/browse/HDDS-13978),
[HDDS-13004](https://issues.apache.org/jira/browse/HDDS-13004))
-- **Recon Startup**: Improved Recon bootup times by handling failed delta
tasks from previous runs and making task reprocessing non-blocking.
([HDDS-13791](https://issues.apache.org/jira/browse/HDDS-13791))
+- **Recon Startup**: Improved Recon `bootup` times by handling failed delta
tasks from previous runs and making task reprocessing non-blocking.
([HDDS-13791](https://issues.apache.org/jira/browse/HDDS-13791))
- Corrected pagination semantics for listMultipartUploads and ListObjectsV2.
([HDDS-13290](https://issues.apache.org/jira/browse/HDDS-13290))
- Fixed Datanode decommission failing when other nodes are offline in Ratis
replication. ([HDDS-13544](https://issues.apache.org/jira/browse/HDDS-13544))
- Fixed memory leaks in NSSummary and issues with Derby during schema upgrade.
([HDDS-8565](https://issues.apache.org/jira/browse/HDDS-8565),
[HDDS-12968](https://issues.apache.org/jira/browse/HDDS-12968))
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]