Apache Ozone 2.0.0 Release Notes

These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.


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


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

For more details, see their respective config description.


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


  • HDDS-11329 | Major | Update Ozone images to Rocky Linux-based runner

Provide Rocky Linux-based convenience Ozone docker image


  • 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 by using snapshot delete command:

ozone sh snapshot delete <vol>/<linked bucket name> <snapshot name>


Ozone’s Hadoop dependency version was updated from 3.3.6 to 3.4.1.


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

Usage: ozone repair om fso-tree –db <dbPath> [–repair | –r] [–volume | -v <volName>] [–bucket | -b <bucketName>] [–verbose]


  • 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


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

The support will be removed in a future release.


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

This change is

  • Proto wire/binary format: compatible (unchanged)
  • Proto text format: compatible (unchanged)
  • Java API: incompatible (changed java_outer_classname)

  • HDDS-9218 | Major | S3 secret managment 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