Releases: apache/ozone
Release list
Apache Ozone 2.1.1 Release
Hello all,
We are excited to announce the release of Apache Ozone 2.1.0!
Critical bug fixes (upgrade strongly recommended)
HDDS-14858 — OM requests fail on JDK 11 with ClassNotFoundException: java.lang.constant.Constable
Impact: If you run Ozone 2.1.0 on JDK 11 or lower, OM operations such as ozone sh key put can fail with:
RemoteException: java/lang/constant/ConstableCaused by: java.lang.ClassNotFoundException: java.lang.constant.Constable
Who is affected: Anyone on 2.1.0 + JDK ≤ 11. This is a regression from AspectJ bytecode generation referencing JDK 12+ APIs.
Action: Upgrade to 2.1.1 if you cannot move to JDK 17+.
HDDS-14778 — ozone-filesystem-shaded protobuf corruption breaks ofs:// clients
Impact: With TRACE logging enabled, Ozone filesystem client operations via ofs:// can fail at class load time:
ExceptionInInitializerError at OzoneManagerProtocolProtos.Caused by: InvalidProtocolBufferException: Protocol message tag had invalid wire type
Root cause: Over-broad Maven shade relocation rules (io, kotlin, info, etc.) corrupted protobuf descriptor bytes inside the shaded JAR. The bug is latent and can reappear after proto changes.
Who is affected: Users of ozone-filesystem-shaded (Hadoop/OFS integration), especially with debug/trace logging.
Action: Upgrade to 2.1.1 and rebuild/redeploy shaded client JARs.
Security / authorization behavior changes
HDDS-14898 & HDDS-14894 — Missing ACL checks on S3 multipart APIs
Impact: Behavior change (tightening). ListParts and ListMultipartUploads previously had no ACL checks. They now enforce authorization like other S3 APIs.
Who is affected:
-
STS users with narrowly scoped tokens (e.g., PutObject-only) that previously could call these APIs
-
Any workflow that relied on implicit access via multipart upload ownership
Action: After upgrade, verify multipart upload workflows and STS session policies. Previously “working” calls may now return 403 Access Denied.
HDDS-15064 — Ranger/STS S3 action–aware authorization
Impact: API/authorization model change for STS + Apache Ranger integration.
-
Adds s3Action to RequestContext so Ranger can restrict permissions by specific S3 action (e.g., distinguish s3:PutObjectTagging from s3:DeleteObjectTagging)
-
OzoneGrant now carries a Set of allowed S3 actions for inline policies
Who is affected: Clusters using STS temporary credentials with Ranger. Authorization becomes more granular; tokens may grant less access than before when S3 actions are explicitly scoped.
Action: Coordinate with your Ranger/Ozone plugin team. This was backported specifically so Ranger can consume it upstream in 2.1.1.
HDDS-14366 — Log4j2 bump to 2.25.3 (CVE-2025-68161)
Impact: Fixes TLS hostname verification bypass in Log4j2 Socket Appender (MITM risk for remote log shipping).
Who is affected: Only if you use Log4j2 Socket Appender over TLS with hostname verification enabled. Most clusters are unaffected unless they ship logs this way.
Notable operational fixes (lower severity)
HDDS-14368 — Recon shows wrong pipelines per container
Impact: Recon UI/API incorrectly showed all pipelines for every container instead of the container’s actual WRITE pipeline.
Action: Upgrade if you rely on Recon for container/pipeline troubleshooting.
HDDS-13069 — S3 Gateway shutdown error
Impact: S3 Gateway logged an IllegalStateException from Weld/Jetty during admin webserver shutdown. Shutdown could appear to fail even though the process was stopping.
Action: Cosmetic/operational fix; shutdown now completes cleanly (error is caught and logged).
Apache Ozone 2.1.0 Release
Hello all,
We are excited to announce the release of Apache Ozone 2.1.0!
Apache Ozone 2.1.0 adds 805 new features, improvements and bug fixes on top of Ozone 2.0.
Notable Changes
- HDDS-10239 | Storage Container Reconciliation
Introduced a container reconciliation protocol to resolve mismatched container states and verify replica integrity.
- HDDS-12940 | Ozone Snapshot Phase 3: Scale up Snapshot Operations
Enhanced Ozone Snapshot scalability and continued stability improvements.
- 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 | Handling disk issues in Datanodes - Phase II
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.
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.
Incompatible change
- HDDS-12152 | Ozone now requires the Hadoop 3.4 runtime. Support for Hadoop 3.1.2 is deprecated.
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).
Removed Configurations:
- hdds.rest.http-address: This configuration is removed since HDDS-12761.
- hdds.scm.safemode.pipeline-availability.check: This configuration is removed since HDDS-11799.
Changelog
The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.
[2.1.0] - 2025-12-31
Added
- Added design documentation and initial integration steps for OpenTelemetry. (HDDS-13679)
- Implemented an in-memory manager for Snapshot Local Data. (HDDS-13627)
- Added support for Ranger to authorize STS tokens. (HDDS-13848)
- Added latency metrics for key creation operations and deletion services to Grafana dashboards. (HDDS-13510)
- Include openssl native library check in the ozone debug checknative command output. (HDDS-13266)
- Apache Ozone is migrated from OpenTracing to OpenTelemetry for distributed tracing. (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)
- 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)
- 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)
- Added a throttling mechanism to SCM to prevent excessive memory usage and long GC pauses during large-scale block deletions. (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)
- Exposed new metrics under
StorageVolumeScannerMetricsandVolumeInfoMetricson DataNodes to improve observability of storage volume scanning activity and health. (HDDS-8783) - Added specific audit logs for background deletion services and internal OM requests. (HDDS-13370) (HDDS-11314)
- Added logic to immediately trigger heartbeat and container close when a volume is full. (HDDS-13045)
- Added support for uploading and deleting objects using presigned URLs. (HDDS-5195) (HDDS-13663)
- Added support for custom metadata headers with uppercase characters. (HDDS-13429)
- Added support for S3 STANDARD_IA storage class to accept EC replication config and owner field in listBuckets. (HDDS-1097)
- Added new Grafana dashboards for low-level RocksDB operations and Deletion progress. (HDDS-12446) (HDDS-13259)
- Added a "Mismatched Replica" tab to the Containers Page and improved mismatch API. (HDDS-12395)
- Added ozone admin commands for listing containers based on health state and sorting datanodes. (HDDS-12653) (HDDS-13095)
- Implemented AWS STS AssumeRole support to generate short-lived temporary credentials. (HDDS-13323)
Changed
- Metadata Storage: Moved container-related metadata and OM task metadata from Derby DB to Ozone Manager (OM) RocksDB. (HDDS-13669)
- Locking: Refactored OzoneManagerLock to handle hierarchical resource locking and implemented a pool-based lock manager. (HDDS-13797) (HDDS-13798)
- Bumped Apache Ratis to version 3.2.0. (HDDS-12070)
- Bumped AWS SDK to version 2.35.5. (HDDS-13793)
- Bumped Jetty to 9.4.58. (HDDS-13585)
- Bumped minimum Maven version to 3.6.3. (HDDS-13364)
- Recon Sync: Separated Recon OM synchronization from task processing to improve stability. (HDDS-8633)
- The default backup SST pruning interval is now 10 minutes. This means old backup files will be deleted more frequently, improving disk space usage if Ozone Snapshot is enabled. (HDDS-13638)
- Ozone now requires the Hadoop 3.4 runtime. Support for Hadoop 3.1.2 is deprecated. (HDDS-12152)
- Renamed the previous functionality of the
--alloption inozone sh snapshot lsDiffto--all-status. The--alloption now behaves as a listing limit, setting the count toInteger.MAX_VALUE. (HDDS-8802)
Fixed
- Snapshot Locking: Fixed OMLockDetails usage where it incorrectly returned a ThreadLocal Object. (HDDS-13978) (HDDS-13004)
- Recon Startup: Improved Recon bootup times by handling failed delta tasks from previous runs and making task reprocessing non-blocking. (HDDS-13791)
- Corrected pagination semantics for listMultipartUploads and ListObjectsV2. (HDDS-13290)
- Fixed Datanode decommission failing when other nodes are offline in Ratis replication. (HDDS-13544)
- Fixed memory leaks in NSSummary and issues with Derby during schema upgrade. (HDDS-8565) (HDDS-12968)
Security
- Ranger: Added artifacts for Ranger to authorize STS tokens. (HDDS-13848)
Getting Started:
Download Apache Ozone 2.1.0 https://ozone.apache.org/downloads/
Documentation https://ozone.apache.org/docs/2.1.0/
Thank you for your continued support, and we look forward to your feedback
on this release!
Apache Ozone 2.0.0 Release
Hello all,
We are excited to announce the release of Apache Ozone 2.0.0!
Apache Ozone 2.0.0 adds 1700 new features, improvements and bug fixes on top of Ozone 1.4.
Notable features:
HDDS-7593 Supporting HSync and lease recovery
HDDS-7852 SCM Decommissioning Support
HDDS-8829 Symmetric Keys for Delegation Tokens
HDDS-10656 Atomic Key Overwrite and Key Replacement
Other noteworthy changes:
HDDS-6263 ARM64 support
HDDS-8246 Java 11/17/21 Support and Testing
HDDS-11577 AWS SDK v2 client support
Observability:
HDDS-9307 Ozone performance and operational dashboards
HDDS-11153 [UI] Recon UI Improvements
HDDS-11825 Support interactive mode for ozone CLI
Developer:
HDDS-6729 JUnit 4 to 5 upgrade
HDDS-8113 Dropped Hadoop 2.7 ~ 2.9 support.
HDDS-10986 Publish SBOM artifacts
HDDS-11617 Hadoop dependency was updated to 3.4.1
Incompatible change:
HDDS-7307 Move S3 Gateway web admin to separate port
HDDS-11753 Deprecate file per chunk layout from datanode code
HDDS-11754 Drop support for non-Ratis OM and SCM
HDDS-11759 Remove LegacyReplicationManager
Release Notes https://ozone.apache.org/release/2.0.0/: Detailed
information about new features, improvements, and resolved issues.
Getting Started:
Download Apache Ozone 2.0.0 https://ozone.apache.org/downloads/
Documentation https://ozone.apache.org/docs/2.0.0/
Thank you for your continued support, and we look forward to your feedback
on this release!
Apache Ozone 1.4.1 Release
Hello all,
We are excited to announce the release of Apache Ozone 1.4.1!
This version brings numerous enhancements and bug fixes
Key Highlights:
- Release Notes https://ozone.apache.org/release/1.4.1/: Detailed
information about new features, improvements, and resolved issues.
Getting Started:
- Download Apache Ozone 1.4.1 https://ozone.apache.org/downloads/:
Access the latest version here. - Versioned Documentation https://ozone.apache.org/docs/:
Comprehensive guides and resources for Apache Ozone 1.4.1.
Thank you for your continued support, and we look forward to your feedback
on this release!