Skip to main content
Version: Next

HDDS-7593: HSync and Lease Recovery

Epic: HDDS-7593 Feature branch: https://github.com/apache/ozone/tree/HDDS-7593

1. builds/intermittent test failures​

Ran full CI for the latest commit for the feature branch two times. In both the runs all the tests has passed.

2. documentation​

The new API is for developers to build upon. Not intended for end-users or administrators.

3. design, attached the docs​

The design and architecture spans across multiple design docs

Design doc: Supporting Hflush and lease recovery

Ozone File Lease Recovery Protocol Detail Design

Support Incremental ChunkList in PutBlock requests

4. S3 compatibility​

S3 behavior was not changed.

The new APIs (hsync, recoverLease, ...) are Hadoop file system APIs and are not supported by S3.

5. Docker-compose / acceptance tests​

Use cases are covered by integration tests.

6. support of containers / Kubernetes​

N/A, the new request does not affect support of containers.

7. coverage/code quality​

Current coverage is ~46.8% for both master and ~44.4% for the feature branch.

8. build time​

Build time in CI of the latest commit on the feature branch (https://github.com/apache/ozone/commit/f7610c0012cd5e83769ff22eebeba092d3893d14) is similar to that of master (https://github.com/apache/ozone/actions/runs/9847590592): 1hr15m vs. 1hr15m.

9. possible incompatible changes/used feature flag​

A number of feature flags were introduced:

ozone.client.incremental.chunk.list
ozone.client.stream.putblock.piggybacking
ozone.incremental.chunk.list

Additionally, new Datanode layout version "HBASE_SUPPORT" was added. A Datanode wire protocol version COMBINED_PUTBLOCK_WRITECHUNK_RPC was added too.

10. third party dependencies/license changes​

N/A, no new dependencies were introduced.

11. performance​

The changes do not impact performance. If the new API is used, an additional parameter is passed and check on the server side. If the feature is not used, the code path is unchanged. No new locks or expensive checks have been added to facilitate the new feature.

12. security considerations​

N/A. New method was added to the existing OM client API.