This is an automated email from the ASF dual-hosted git repository.

sammichen pushed a change to branch HDDS-5713
in repository https://gitbox.apache.org/repos/asf/ozone.git


    from 21dcb9c1400 HDDS-13291. [DiskBalancer] Add Performance Test for 
VolumeChoosingPolicy in DiskBalancer (#8661)
     add a4bb94ee639 HDDS-10239. Storage Container Reconciliation. (#6121)
     add 930d3f0552b HDDS-10372. SCM and Datanode communication for 
reconciliation (#6506)
     add 5bde01db4c1 HDDS-10923. Container Scanner should still scan unhealthy 
containers. (#6809)
     add d585363a7ab HDDS-10887. Implement a basic Merkle Tree Manager. (#6778)
     add 8676000a6f6 Merge branch 'master' into 
HDDS-10239-container-reconciliation
     add bde10ab8369 HDDS-10373. Implement framework for capturing Merkle Tree 
Metrics. (#6864)
     add d7f302e25f0 HDDS-10926. Block deletion should update container merkle 
tree. (#6875)
     add ab35173e249 HDDS-10376. Add a Datanode API to supply a merkle tree for 
a given container. (#6945)
     add 98369a8343f Merge branch 'master' into 
HDDS-10239-container-reconciliation
     add 0baba47daad HDDS-11254. Reconcile commands should be handled by 
datanode ReplicationSupervisor (#7076)
     add 3355701853c Merge branch 'master' into 
HDDS-10239-container-reconciliation
     add 5cd6a072b20 Merge branch 'master' into 
HDDS-10239-container-reconciliation
     add c6860db56ce HDDS-10379. Datanodes should generate initial container 
merkle tree during container close. (#7065)
     add 9765a6a1347 HDDS-11253. Handle corrupted merkle tree files (#7083)
     add 01b44374345 Merge branch 'master' into 
HDDS-10239-container-reconciliation
     add 04c196c9f40 HDDS-10377. Allow datanodes to do chunk level 
modifications to closed containers. (#7111)
     add 445eaf1f4a8 HDDS-11290. Container scanner should keep scanning after 
non-fatal errors (#7127)
     add 986e233599b HDDS-11471. Add new tests for container scanner detecting 
multiple errors in one container (#7396)
     add d17c41c0a97 HDDS-10928. Implement container comparison logic within 
datanodes. (#7293)
     add 7bcc9430770 Revert "Merge branch 'master' into 
HDDS-10239-container-reconciliation"
     add cfcabf14223 Merge branch 'master' of https://github.com/apache/ozone 
into HDDS-10239-container-reconciliation-merge
     add 2cfd22a407c Merge branch 'master' into 
HDDS-10239-container-reconciliation
     add 31875f39ae0 HDDS-12079. Improve container merkle tree write handling 
(#7694)
     add fa8e0a422ce HDDS-11345. Add metrics specific tests for reconciliation 
tasks. (#7732)
     add 1aef378d70f Merge branch 'master' of https://github.com/apache/ozone 
into HDDS-10239-container-reconciliation-merge
     add 8fc98b6b340 Merge branch 'master' into 
HDDS-10239-container-reconciliation
     add be53ed7115e HDDS-12397. Persist putBlock for closed container. (#7943)
     add f47b4076464 HDDS-11887. Recon - Identify container replicas difference 
based on content checksums (#7942)
     add b34c537940b HDDS-11763. Implement container repair logic within 
datanodes. (#7474)
     add 8768d048160 HDDS-12745. Container checksum should be reported during 
container close and DN restart (#8204)
     add 989746a0de3 Merge branch 'master' of https://github.com/apache/ozone 
into HDDS-10239-container-reconciliation
     add 7c591b41984 Merge branch 'master' of https://github.com/apache/ozone 
into HDDS-10239-container-reconciliation
     add 2b4708b70e5 Merge branch 'master' of https://github.com/apache/ozone 
into HDDS-10239-container-reconciliation
     add 229e5c94eaf HDDS-12849. On demand container scanner should not be 
static (#8296)
     add a355664093c HDDS-12980. Add unit test framework for reconciliation. 
(#8402)
     add 47c1eaa1eb9 Merge branch 'HDDS-10239-container-reconciliation' of 
https://github.com/apache/ozone into HDDS-10239-container-reconciliation
     add 9a445ed01eb HDDS-10374. Make container scanner generate merkle trees 
during the scan (#7490)
     add 0a53c73de21 Merge branch 'master' of https://github.com/apache/ozone 
into HDDS-10239-container-reconciliation
     add 9958f5bff0c HDDS-13287. Upgrade commons-beanutils to 1.11.0 due to 
CVE-2025-48734 (#8646)
     add a7fc290c200 HDDS-13236. Change Table methods not to throw IOException. 
(#8645)
     add 6df3077fe19 HDDS-9223. Use protobuf for SnapshotDiffJobCodec (#8503)
     add d9049a2aea5 HDDS-13220. Change Recon 'Negative usedBytes' message 
loglevel to DEBUG (#8648)
     add 9d2b4158e7c HDDS-13234. Expired secret key can abort leader OM 
startup. (#8601)
     add 97262aa6d6c HDDS-13256. Updated OM Snapshot Grafana Dashboard to 
reflect metric updates from HDDS-13181. (#8639)
     add de683aad88f HDDS-13263. Refactor DB Checkpoint Utilities. (#8620)
     add b574709dd6d HDDS-12924. datanode used space calculation optimization 
(#8365)
     add f713e57b190 HDDS-12482. Avoid using CommonConfigurationKeys (#8647)
     add e9c0a45888b HDDS-13262. Simplify key name validation (#8619)
     add f3050cffff4 HDDS-13276. Use KEY_ONLY/VALUE_ONLY iterator in 
SCM/Datanode. (#8638)
     add a0af93e2108 HDDS-13292. Change `<? extends KeyValue>` to `<KeyValue>` 
in test (#8657)
     add 732985958d7 HDDS-13023. Container checksum is missing after container 
import (#8459)
     add 8c1b439d51e HDDS-13296. Integration check always passes due to missing 
output (#8662)
     add da53b5b4d64 HDDS-13299. Fix failures related to delete (#8665)
     add 3c4b3bec36e Merge branch 'master' of https://github.com/apache/ozone 
into HDDS-10239-container-reconciliation
     add d207c184281 HDDS-13301. Fix TestSchemaOneBackwardsCompatibility (#8666)
     add af3a0f052a6 HDDS-13307. integration (flaky) fails with all tests 
passing (#8667)
     add e1365a79dca HDDS-13286. Fail stream write when the volume is full.  
(#8644)
     add db6ed84df3c HDDS-13294. Remove the Table.close() method. (#8658)
     add c043be77cf4 HDDS-13312. Bump maven-patch-plugin to 1.3 (#8673)
     add b86fad8b9dc HDDS-13316. Bump commons-text to 1.13.1 (#8669)
     add 774b3ee78a0 HDDS-13315. Bump log4j2 to 2.25.0 (#8670)
     add 803fa3194eb HDDS-13313. Bump maven-javadoc-plugin to 3.11.2 (#8672)
     add 05567e68805 HDDS-13317. Table should support empty array/String (#8676)
     add e60f22745cc Merge branch 'master' of https://github.com/apache/ozone 
into HDDS-10239-container-reconciliation
     add 38673465d1a HDDS-13288. Container checksum file proto changes to 
account for deleted blocks. (#8649)
     add a12d0a5626f HDDS-13306. Intermittent failure in 
testDirectoryDeletingServiceIntervalReconfiguration (#8682)
     add ff7a20d4a7b HDDS-13270. Reduce getBucket API invocations in S3 bucket 
owner verification (#8653)
     add b9a3775ca13 HDDS-13289. Remove usage of Jetty StringUtil (#8684)
     add c34f4c1ce8a HDDS-13322. Remove module auto-detection from 
flaky-test-check (#8679)
     add fa02d7d3e6a Merge branch 'master' of https://github.com/apache/ozone 
into HDDS-10239-container-reconciliation
     add 11ada9f9b6f HDDS-13318. Simplify the getRangeKVs methods in Table 
(#8683)
     add 1c7bcd1e77f HDDS-13325. Introduce OZONE_SERVER_OPTS for common options 
for server processes (#8685)
     add 48c985f8f65 HDDS-13309. Add keyIterator/valueIterator methods to 
Table. (#8675)
     add 23c04bd8048 HDDS-13240. Add newly added metrics into grafana 
dashboard. (#8656)
     add c1e84d90610 HDDS-13324. Optimize memory footprint for Recon listKeys 
API (#8680)
     add 278bcdda947 HDDS-13314. Remove unused maven-pdf-plugin (#8686)
     add fd97f743e27 HDDS-13295. Remove jackson1 exclusions for hadoop-common 
(#8687)
     add 84da9cee920 HDDS-13319. Simplify KeyPrefixFilter (#8692)
     add 96390ac1427 HDDS-12984. Use InodeID to identify the SST files inside 
the tarball. (#8477)
     add 29fc8def65b HDDS-12070. Bump Ratis to 3.2.0 (#8689)
     add d0d09aacf01 HDDS-13251. Support dynamic Byteman scripts via bmsubmit 
in ozonesecure-ha (#8654)
     add 665574c663e HDDS-13251. Update Byteman usage README license (#8700)
     add 99c163ad370 HDDS-12151. Fail write when volume is full considering min 
free space (#8642)
     add 7a237fe7fbb HDDS-12468. Check for space availability for all dns while 
container creation in pipeline (#8663)
     add bb3d2872e9f HDDS-12890. Add acceptance robot tests for ozone debug 
replicas verify (#8613)
     add da4d1ddbf19 HDDS-13280. Smoketest Ozone with Ranger authorizer (#8635)
     add 97a89f1147d HDDS-13347. Bump maven-core to 3.9.10 (#8711)
     add 65088798ba4 HDDS-13348. Bump maven-deploy-plugin to 3.1.4 (#8712)
     add 4fa36540293 HDDS-13349. Bump junit to 5.13.2 (#8714)
     add 0f1b93e0856 HDDS-13350. Bump commons-codec to 1.18.0 (#8715)
     add 2aa71ac27a0 HDDS-13351. Bump commons-configuration2 to 2.12.0 (#8713)
     add 351a6594a10 HDDS-12953. Directly create DataNodeSafeModeRule in 
TestDataNodeSafeModeRule (#8716)
     add 18845e0954e HDDS-13058. Fix dependency warnings in 
ozone-filesystem-hadoop* (#8694)
     add fa3b3684b1c HDDS-12957. Remove unused SafeModeStatus#forceExitSafeMode 
field (#8717)
     add f5019b2d2d2 HDDS-12945. Let Robot test check config whether security 
is enabled (#8632)
     add b1c27bad3f1 HDDS-13359. [Docs] Accessing Ozone using Cyberduck. (#8718)
     add c48fc269409 HDDS-13355. Remove unused class OzoneManagerLockUtil 
(#8720)
     add 9a6428569e4 HDDS-13221. Remove unused flushFuture from 
OMClientResponse (#8723)
     add d79ea9c47a5 HDDS-13281. Disable Ratis metadata write to Raft Log on OM 
& SCM. (#8637)
     add f2ddbf6a474 HDDS-13149. Add details on Performance Optimization to 
Transparent Data Encryption doc (#8622)
     add ba7b3cfcd9b HDDS-13330. DBStore and related classes should not throw 
IOException (#8691)
     add 5e72dd4e1ef HDDS-13208. [Docs] Add volume management section under 
Architecture/Datanodes. (#8585)
     add b9d4e6585bb HDDS-13371. [Docs] Protect in-transit traffic (#8729)
     add 627bebe7746 HDDS-13368. [Docs] Add user doc for Ozone Trash. (#8727)
     add d80589388ec HDDS-13269. [Docs] Multi-raft user doc. (#8641)
     add 1ca2f2a2aa2 HDDS-13358. Refactor SafeModeStatus to an enum (#8721)
     add d9daba0ee80 HDDS-12727. Document high level architecture of S3 Gateway 
(#8184)
     add e582a3908f5 HDDS-13366. Add unique key to ACL table rows. (#8725)
     add 9e5f8371b81 HDDS-13260. Add smoke test for bucket owner condition 
(#8702)
     add d6d92538703 HDDS-13362. Abstract OM response class should not be 
annotated with CleanupTableInfo (#8732)
     add 380f31d4257 HDDS-13341. Rename ScanResult.isHealthy() to hasErrors() 
(#8746)
     add 30db6fc2116 HDDS-13390. Bump license-maven-plugin to 2.6.0 (#8750)
     add 72ffc27a9dc HDDS-13340. Fix minor items identified during 
reconciliation branch merge process. (#8705)
     add 550503c47ae HDDS-13392. Bump awssdk to 2.31.77 (#8748)
     add 65f0c09a464 HDDS-13381. Docs: Add user documentation for Volumes, 
Buckets, and Keys (#8739)
     add 07f08104239 HDDS-13389. Bump junit to 5.13.3 (#8749)
     add afcdebdc8f9 HDDS-13391. Bump sqlite-jdbc to 3.50.2.0 (#8751)
     add 0b7bb92fd37 HDDS-13394. Bump zstd-jni to 1.5.7-4 (#8747)
     add f51bb1bed2a HDDS-13087. [snapshot] Expand user doc (#8496)
     add 39def5d50c9 HDDS-13268. [Docs] Advanced topics: troubleshooting OM 
snapshot installation. (#8719)
     add 3a641357601 HDDS-13198. Avoid warning due to wrong 
min.free.space.percent default value (#8745)
     add f7270513a5f HDDS-12929. Datanode Should Immediately Trigger Container 
Close when Volume Full (#8460)
     add 5af3467a423 HDDS-13375. Add Ozone logo to the Github README.md (#8741)
     add 9b713d0b659 HDDS-12395. Add Mismatched Replica tab to the Containers 
Page (#8407)
     add 14748e831d8 HDDS-13401. Mark TestContainerCommandReconciliation as 
flaky
     add 1315df64617 HDDS-13337. Reduce config required to enable Byteman 
listener (#8701)
     add b610fd0a42e HDDS-13327. Improve log and error handling while starting 
Recon (#8688)
     add 5255c8cbc78 HDDS-13122. Add acceptance test for `ozone repair om 
compact` (#8703)
     add bca868865e2 HDDS-13098. Create PicoCLI mixin to standardize datanode 
selection options (#8674)
     add bf9cdd0df95 HDDS-13162. Improve Container Replica Debugger Tool 
documentation (#8597)
     add 05c7e62f45a HDDS-13404. Improve persistent test data dir 
creation/cleanup (#8762)
     add 7f2931707c3 Merge remote-tracking branch 'apacheupstream' into 
HDDS-5713

No new revisions were added by this update.

Summary of changes:
 .github/workflows/ci.yml                           |   2 +-
 .github/workflows/intermittent-test-check.yml      |  63 +-
 README.md                                          |  13 +
 ...s-no-flush.btm => skip-notify-group-remove.btm} |  15 +-
 .../{ratis-no-flush.btm => skip-put-block.btm}     |  15 +-
 .../hadoop/hdds/scm/storage/BlockInputStream.java  |  11 +-
 .../hadoop/hdds/scm/storage/ChunkInputStream.java  |   4 +
 .../hdds/scm/client/TestHddsClientUtils.java       |   1 +
 .../java/org/apache/hadoop/hdds/HddsUtils.java     |   6 +
 .../hadoop/hdds/client/ReplicationConfig.java      |   1 +
 .../apache/hadoop/hdds/scm/client/ScmClient.java   |   8 +
 .../hdds/scm/container/ContainerReplicaInfo.java   |  28 +-
 .../hadoop/hdds/scm/exceptions/SCMException.java   |   3 +-
 .../apache/hadoop/hdds/scm/net/NetConstants.java   |   2 +-
 .../protocol/StorageContainerLocationProtocol.java |   8 +
 .../ContainerCommandResponseBuilders.java          |  11 +
 .../hdds/scm/storage/ContainerProtocolCalls.java   |  39 ++
 .../apache/hadoop/hdds/utils/db/Proto3Codec.java   |  22 +-
 .../ozone/container/common/helpers/BlockData.java  |   6 +-
 .../common/src/main/resources/ozone-default.xml    |  10 -
 .../apache/hadoop/hdds/utils/db/CodecTestUtil.java |  29 +
 .../ozone/HddsDatanodeClientProtocolServer.java    |   4 +-
 .../org/apache/hadoop/ozone/audit/DNAction.java    |   3 +-
 .../checksum/ContainerChecksumTreeManager.java     | 452 ++++++++++++++
 .../container/checksum/ContainerDiffReport.java    | 113 ++++
 .../checksum/ContainerMerkleTreeMetrics.java       | 155 +++++
 .../checksum/ContainerMerkleTreeWriter.java        | 245 ++++++++
 .../checksum/DNContainerOperationClient.java       | 134 ++++
 .../container/checksum/ReconcileContainerTask.java |  96 +++
 .../ozone/container/checksum}/package-info.java    |   4 +-
 .../container/common/helpers/ContainerMetrics.java |  20 +-
 .../container/common/helpers/ContainerUtils.java   |  52 +-
 .../helpers}/TokenHelper.java                      |  14 +-
 .../common/impl/BlockDeletingService.java          |  22 +-
 .../ozone/container/common/impl/ContainerData.java |  39 +-
 .../container/common/impl/ContainerDataYaml.java   |   4 +-
 .../ozone/container/common/impl/ContainerSet.java  |  42 ++
 .../container/common/impl/HddsDispatcher.java      |  52 +-
 .../container/common/interfaces/Container.java     |  91 +--
 .../container/common/interfaces/DBHandle.java      |   4 +-
 .../ozone/container/common/interfaces/Handler.java |  31 +-
 .../{package-info.java => ScanResult.java}         |  15 +-
 .../common/statemachine/DatanodeConfiguration.java |  78 ++-
 .../common/statemachine/DatanodeStateMachine.java  |   7 +
 ....java => ReconcileContainerCommandHandler.java} |  62 +-
 .../states/endpoint/HeartbeatEndpointTask.java     |   6 +
 .../container/common/utils/ContainerLogger.java    |  41 +-
 .../container/common/utils/DatanodeStoreCache.java |  14 +-
 .../hadoop/ozone/container/common/utils/RawDB.java |   3 +-
 .../container/common/utils/ReferenceCountedDB.java |  12 +-
 .../ozone/container/common/volume/HddsVolume.java  |  41 +-
 .../container/common/volume/MutableVolumeSet.java  |  11 +
 .../container/common/volume/StorageVolume.java     |  28 +-
 .../ozone/container/common/volume/VolumeUsage.java |   1 -
 .../ECReconstructionCoordinator.java               |   3 +-
 .../container/keyvalue/KeyValueContainer.java      |  37 +-
 .../container/keyvalue/KeyValueContainerCheck.java | 534 ++++++++--------
 .../container/keyvalue/KeyValueContainerData.java  |   6 +-
 .../KeyValueContainerMetadataInspector.java        |  16 +-
 .../ozone/container/keyvalue/KeyValueHandler.java  | 660 +++++++++++++++++++-
 .../container/keyvalue/TarContainerPacker.java     |  15 +
 .../keyvalue/helpers/KeyValueContainerUtil.java    |  56 +-
 .../container/keyvalue/impl/BlockManagerImpl.java  |  91 ++-
 .../keyvalue/impl/FilePerBlockStrategy.java        |  26 +-
 .../keyvalue/impl/KeyValueStreamDataChannel.java   |   1 +
 .../keyvalue/impl/StreamDataChannelBase.java       |   5 +
 .../keyvalue/interfaces/BlockManager.java          |  24 +
 .../statemachine/background/BlockDeletingTask.java |  65 +-
 .../container/metadata/AbstractDatanodeStore.java  |  51 +-
 .../ozone/container/metadata/AbstractRDBStore.java |  26 +-
 .../ozone/container/metadata/DBStoreManager.java   |  16 +-
 .../metadata/DatanodeStoreSchemaThreeImpl.java     |  13 +-
 .../ozone/container/metadata/DatanodeTable.java    |  57 +-
 .../metadata/SchemaOneChunkInfoListCodec.java      |  10 +-
 .../metadata/SchemaOneDeletedBlocksTable.java      |  55 +-
 .../WitnessedContainerMetadataStoreImpl.java       |   7 +-
 .../ozoneimpl/BackgroundContainerDataScanner.java  |  60 +-
 .../BackgroundContainerMetadataScanner.java        |  39 +-
 .../container/ozoneimpl/ContainerController.java   |  48 +-
 .../container/ozoneimpl/ContainerScanError.java    |  71 +++
 .../container/ozoneimpl/ContainerScanHelper.java   | 164 +++++
 .../ozoneimpl/ContainerScannerConfiguration.java   |   4 +
 .../ozone/container/ozoneimpl/DataScanResult.java  |  69 +++
 .../container/ozoneimpl/MetadataScanResult.java    |  90 +++
 .../ozoneimpl/OnDemandContainerDataScanner.java    | 150 +----
 .../ozone/container/ozoneimpl/OzoneContainer.java  |  39 +-
 .../container/replication/ContainerImporter.java   |   2 +-
 .../replication/ReplicationSupervisor.java         |   4 +-
 .../commands/ReconcileContainerCommand.java        | 105 ++++
 .../checksum/ContainerMerkleTreeTestUtils.java     | 349 +++++++++++
 .../checksum/TestContainerChecksumTreeManager.java | 575 ++++++++++++++++++
 .../checksum/TestContainerMerkleTreeWriter.java    | 317 ++++++++++
 .../checksum/TestReconcileContainerTask.java       | 124 ++++
 .../common/BlockDeletingServiceTestImpl.java       |   3 +-
 .../ozone/container/common/ContainerTestUtils.java | 129 +++-
 .../container/common/TestBlockDeletingService.java | 126 ++--
 .../common/TestKeyValueContainerData.java          |   4 +
 .../TestSchemaOneBackwardsCompatibility.java       |  16 +-
 .../TestSchemaTwoBackwardsCompatibility.java       |   4 +-
 .../common/impl/TestContainerDataYaml.java         |  34 +-
 .../impl/TestContainerDeletionChoosingPolicy.java  |   3 +-
 .../common/impl/TestContainerPersistence.java      |   3 +-
 .../container/common/impl/TestContainerSet.java    |  57 ++
 .../container/common/impl/TestHddsDispatcher.java  |  30 +-
 .../container/common/interfaces/TestHandler.java   |   4 +-
 .../statemachine/TestDatanodeConfiguration.java    |   9 +
 .../common/statemachine/TestStateContext.java      |   4 +
 .../TestCloseContainerCommandHandler.java          |  12 +-
 .../TestReconcileContainerCommandHandler.java      | 188 ++++++
 .../states/endpoint/TestHeartbeatEndpointTask.java |  39 ++
 .../container/common/volume/TestHddsVolume.java    |  24 +
 .../diskbalancer/TestDiskBalancerService.java      |   7 +-
 .../keyvalue/TestContainerCorruptions.java         | 233 +++++++
 ...stContainerReconciliationWithMockDatanodes.java | 623 +++++++++++++++++++
 .../keyvalue/TestKeyValueBlockIterator.java        |   8 +-
 .../container/keyvalue/TestKeyValueContainer.java  |   2 +
 .../keyvalue/TestKeyValueContainerCheck.java       | 321 +++++++---
 .../container/keyvalue/TestKeyValueHandler.java    | 252 +++++++-
 .../TestKeyValueHandlerWithUnhealthyContainer.java |  57 +-
 .../container/keyvalue/TestTarContainerPacker.java |   2 +-
 .../keyvalue/impl/TestBlockManagerImpl.java        |  75 ++-
 .../keyvalue/impl/TestFilePerBlockStrategy.java    | 204 +++++++
 .../impl/TestKeyValueStreamDataChannel.java        |  30 +
 .../TestBackgroundContainerDataScanner.java        |  73 ++-
 .../TestBackgroundContainerMetadataScanner.java    |  55 +-
 .../ozoneimpl/TestContainerScannersAbstract.java   |  33 +-
 .../container/ozoneimpl/TestDataScanResult.java    |  83 +++
 .../ozoneimpl/TestMetadataScanResult.java          |  58 ++
 .../TestOnDemandContainerDataScanner.java          | 157 +++--
 .../container/ozoneimpl/TestOzoneContainer.java    |   8 +-
 .../replication/TestContainerImporter.java         |   4 +-
 .../replication/TestGrpcReplicationService.java    |   8 +-
 .../replication/TestReplicationSupervisor.java     |  71 ++-
 hadoop-hdds/dev-support/checkstyle/checkstyle.xml  |   3 +-
 hadoop-hdds/docs/content/concept/Datanodes.md      |  34 ++
 hadoop-hdds/docs/content/concept/OzoneS3Gateway.md | 112 ++++
 .../docs/content/concept/VolumesBucketsKeys.md     | 183 ++++++
 .../content/design/container-reconciliation.md     | 344 +++++++++++
 .../content/design/dn-usedspace-calculation.md     |  91 +++
 .../docs/content/design/full-volume-handling.md    | 163 +++++
 hadoop-hdds/docs/content/feature/OM-HA.md          |   1 +
 hadoop-hdds/docs/content/feature/Snapshot.md       | 219 +++++--
 hadoop-hdds/docs/content/feature/Trash.md          |  74 +++
 .../docs/content/feature/multi-raft-support.md     | 114 ++++
 .../docs/content/interface/CyberDuckOzoneS3.md     | 122 ++++
 hadoop-hdds/docs/content/interface/S3.md           |   1 +
 hadoop-hdds/docs/content/security/SecuringTDE.md   |  42 ++
 .../content/security/protect-in-transit-traffic.md |  60 ++
 .../docs/content/tools/ContainerLogParser.md       |  26 +-
 .../docs/content/tools/ContainerLogParser.zh.md    | 239 ++++++++
 .../_index.zh.md => troubleshooting/_index.md}     |  11 +-
 .../troubleshooting/om-ha-snapshot-installation.md |  39 ++
 .../main/java/org/apache/hadoop/hdds/fs/DU.java    |  30 +-
 .../org/apache/hadoop/hdds/fs/DUOptimized.java     |  66 ++
 .../fs/{DUFactory.java => DUOptimizedFactory.java} |  52 +-
 .../hadoop/hdds/fs/SpaceUsageCheckFactory.java     |  14 +-
 .../hadoop/hdds/fs/SpaceUsageCheckParams.java      |   9 +
 ...inerLocationProtocolClientSideTranslatorPB.java |  10 +
 .../hadoop/hdds/server/http/HttpServer2.java       |  16 +-
 .../org/apache/hadoop/hdds/utils/Archiver.java     |  43 ++
 .../hadoop/hdds/utils/DBCheckpointServlet.java     |  58 +-
 .../apache/hadoop/hdds/utils/HddsServerUtil.java   |   8 +-
 .../hadoop/hdds/utils/MetadataKeyFilters.java      | 151 ++---
 .../hdds/utils/db/DBColumnFamilyDefinition.java    |   6 +-
 .../hadoop/hdds/utils/db/DBConfigFromFile.java     |   8 +-
 .../org/apache/hadoop/hdds/utils/db/DBStore.java   |  86 +--
 .../hadoop/hdds/utils/db/DBStoreBuilder.java       |  30 +-
 .../hadoop/hdds/utils/db/RDBBatchOperation.java    |  24 +-
 .../org/apache/hadoop/hdds/utils/db/RDBStore.java  |  99 +--
 .../hdds/utils/db/RDBStoreAbstractIterator.java    |  15 +-
 .../hdds/utils/db/RDBStoreByteArrayIterator.java   |  17 +-
 .../hdds/utils/db/RDBStoreCodecBufferIterator.java |  15 +-
 .../org/apache/hadoop/hdds/utils/db/RDBTable.java  | 121 ++--
 .../org/apache/hadoop/hdds/utils/db/Table.java     | 157 ++---
 .../apache/hadoop/hdds/utils/db/TableIterator.java |  55 +-
 .../apache/hadoop/hdds/utils/db/TypedTable.java    | 169 +++---
 .../org/apache/hadoop/hdds/fs/TestDUOptimized.java |  71 +++
 ...tDUFactory.java => TestDUOptimizedFactory.java} |  26 +-
 .../hadoop/hdds/utils/MapBackedTableIterator.java  |   7 +-
 .../org/apache/hadoop/hdds/utils/TestArchiver.java |  89 +++
 .../hadoop/hdds/utils/TestRDBSnapshotProvider.java |  23 +-
 .../hadoop/hdds/utils/db/InMemoryTestTable.java    |  18 +-
 .../hadoop/hdds/utils/db/TestDBStoreBuilder.java   |  56 +-
 .../apache/hadoop/hdds/utils/db/TestRDBStore.java  | 160 ++---
 .../hadoop/hdds/utils/db/TestRDBTableStore.java    | 669 ++++++++++----------
 .../hdds/utils/db/TestTypedRDBTableStore.java      | 323 +++++-----
 .../hadoop/hdds/utils/db/TestTypedTable.java       | 251 ++++++--
 .../src/main/proto/ScmAdminProtocol.proto          |  22 +-
 .../src/main/proto/DatanodeClientProtocol.proto    |  43 +-
 .../interface-client/src/main/proto/hdds.proto     |   2 +
 .../proto/ScmServerDatanodeHeartbeatProtocol.proto |  18 +-
 .../src/main/proto/ScmServerProtocol.proto         |   1 +
 .../hdds/utils/db/RocksDatabaseException.java      |  10 +-
 hadoop-hdds/server-scm/pom.xml                     |   4 +
 .../hadoop/hdds/scm/block/DeletedBlockLogImpl.java |  10 +-
 .../scm/block/DeletedBlockLogStateManager.java     |   5 +-
 .../scm/block/DeletedBlockLogStateManagerImpl.java |  22 +-
 .../container/AbstractContainerReportHandler.java  |   1 +
 .../hdds/scm/container/ContainerManager.java       |   9 +-
 .../hdds/scm/container/ContainerManagerImpl.java   |  27 +-
 .../hdds/scm/container/ContainerReplica.java       |  13 +
 .../hdds/scm/container/ContainerStateManager.java  |   5 -
 .../scm/container/ContainerStateManagerImpl.java   |  17 +-
 .../ReconcileContainerEventHandler.java            |  92 +++
 .../ReconciliationEligibilityHandler.java          | 139 +++++
 .../container/reconciliation}/package-info.java    |   5 +-
 .../apache/hadoop/hdds/scm/events/SCMEvents.java   |   7 +
 .../org/apache/hadoop/hdds/scm/ha/RatisUtil.java   |   6 +
 .../org/apache/hadoop/hdds/scm/ha/SCMContext.java  |  18 +-
 .../hdds/scm/ha/SCMDBCheckpointProvider.java       |   5 +-
 .../apache/hadoop/hdds/scm/ha/SCMStateMachine.java |   4 +-
 .../hadoop/hdds/scm/ha/SequenceIdGenerator.java    |  25 +-
 .../apache/hadoop/hdds/scm/node/NodeManager.java   |   1 +
 .../hadoop/hdds/scm/node/SCMNodeManager.java       |   3 +-
 .../hadoop/hdds/scm/pipeline/PipelineManager.java  |   9 +
 .../hdds/scm/pipeline/PipelineManagerImpl.java     |  16 +
 .../hdds/scm/pipeline/PipelineStateManager.java    |   2 +-
 .../scm/pipeline/PipelineStateManagerImpl.java     |  16 +-
 .../scm/pipeline/WritableECContainerProvider.java  |   6 +
 ...inerLocationProtocolServerSideTranslatorPB.java |  13 +
 .../hdds/scm/safemode/SCMSafeModeManager.java      |  91 +--
 .../hdds/scm/server/SCMBlockProtocolServer.java    |   4 +-
 .../hadoop/hdds/scm/server/SCMCertStore.java       |   4 +-
 .../hdds/scm/server/SCMClientProtocolServer.java   |  48 +-
 .../hdds/scm/server/SCMDatanodeProtocolServer.java |  13 +-
 .../apache/hadoop/hdds/scm/server/SCMMXBean.java   |   7 -
 .../hdds/scm/server/StorageContainerManager.java   |  14 +-
 .../upgrade/FinalizationStateManagerImpl.java      |   1 -
 .../org/apache/hadoop/ozone/audit/SCMAction.java   |   3 +-
 .../org/apache/hadoop/hdds/scm/HddsTestUtils.java  |  14 +
 .../hadoop/hdds/scm/block/TestBlockManager.java    |   5 +-
 .../hadoop/hdds/scm/block/TestDeletedBlockLog.java |   4 +-
 .../hadoop/hdds/scm/container/MockNodeManager.java |   6 +
 .../hdds/scm/container/SimpleMockNodeManager.java  |   2 +
 .../scm/container/TestContainerManagerImpl.java    |  67 +-
 .../scm/container/TestContainerReportHandler.java  | 152 ++++-
 .../scm/container/TestContainerStateManager.java   |   1 -
 .../TestIncrementalContainerReportHandler.java     | 139 ++++-
 .../scm/container/TestUnknownContainerReport.java  |  18 -
 .../TestReconcileContainerEventHandler.java        | 312 ++++++++++
 .../hdds/scm/ha/TestBackgroundSCMService.java      |   5 +-
 .../apache/hadoop/hdds/scm/ha/TestSCMContext.java  |   7 +-
 .../hadoop/hdds/scm/ha/TestSCMServiceManager.java  |  20 +-
 .../hdds/scm/node/TestContainerPlacement.java      |   1 -
 .../hadoop/hdds/scm/node/TestDeadNodeHandler.java  |   6 +-
 .../hadoop/hdds/scm/node/TestSCMNodeManager.java   |   6 +-
 .../hdds/scm/pipeline/MockPipelineManager.java     |   5 +
 .../hdds/scm/pipeline/TestPipelineManagerImpl.java |  90 ++-
 .../scm/safemode/TestDataNodeSafeModeRule.java     |  23 +-
 .../hdds/scm/cli/ContainerOperationClient.java     |   5 +
 .../hdds/scm/cli/container/ContainerCommands.java  |   1 +
 ...oseSubcommand.java => ReconcileSubcommand.java} |  19 +-
 .../cli/datanode/DecommissionStatusSubCommand.java |  33 +-
 .../hdds/scm/cli/datanode/ListInfoSubcommand.java  |  30 +-
 .../hdds/scm/cli/datanode/NodeSelectionMixin.java  |  66 ++
 .../hdds/scm/cli/datanode/UsageInfoSubcommand.java |  25 +-
 .../datanode/TestDecommissionStatusSubCommand.java |  35 +-
 .../scm/cli/datanode/TestListInfoSubcommand.java   |   2 +
 .../apache/hadoop/ozone/client/rpc/RpcClient.java  |   7 +-
 .../org/apache/hadoop/ozone/om/OMConfigKeys.java   |   5 -
 .../java/org/apache/hadoop/ozone/om/OmConfig.java  |  20 +
 .../hadoop/ozone/om/helpers/SnapshotDiffJob.java   |  13 +-
 .../hadoop/ozone/om/lock/OzoneManagerLockUtil.java |  96 ---
 .../org/apache/hadoop/ozone/om/TestOmConfig.java   |   2 +
 .../helpers/OldSnapshotDiffJobCodecForTesting.java |  56 ++
 .../om/helpers/TestOmSnapshotDiffJobCodec.java     |  73 +++
 hadoop-ozone/dev-support/checks/_post_process.sh   |  10 +-
 hadoop-ozone/dev-support/checks/integration.sh     |   3 +
 hadoop-ozone/dev-support/checks/junit.sh           |   3 +-
 hadoop-ozone/dev-support/checks/rat.sh             |   3 +-
 hadoop-ozone/dist/pom.xml                          |   2 +-
 .../dashboards/Ozone - DeleteKey Metrics.json      | 406 ++++++++++++-
 .../Ozone - DeleteKeyProgress Metrics.json         |   2 +-
 .../grafana/dashboards/Ozone - OM Snapshot.json    | 295 ++++++++-
 .../dist/src/main/compose/common/hadoop-test.sh    |   2 +-
 .../dist/src/main/compose/common/init-kdc.sh       |   5 +
 .../dist/src/main/compose/common/ranger.yaml       |   4 +
 .../dist/src/main/compose/common/replicas-test.sh  |  64 +-
 .../src/main/compose/compatibility/docker-config   |   1 +
 .../dist/src/main/compose/ozone-om-prepare/test.sh |  14 +-
 hadoop-ozone/dist/src/main/compose/ozone/test.sh   |   1 -
 .../src/main/compose/ozonesecure-ha/docker-config  |   3 +
 .../src/main/compose/ozonesecure-ha/ranger.yaml    |  13 +-
 .../compose/ozonesecure-ha/test-debug-tools.sh     |  17 +-
 .../src/main/compose/ozonesecure-ha/test-ranger.sh |   4 +
 .../{test-leadership.sh => test-repair-tools.sh}   |  25 +-
 .../dist/src/main/compose/ozonesecure-ha/test.sh   |   3 +
 hadoop-ozone/dist/src/main/compose/restart/test.sh |   3 +-
 hadoop-ozone/dist/src/main/compose/testlib.sh      |  18 +-
 .../src/main/compose/upgrade/compose/ha/load.sh    |   3 +-
 .../main/compose/upgrade/compose/non-ha/load.sh    |   3 +-
 .../dist/src/main/compose/upgrade/testlib.sh       |  15 -
 .../dist/src/main/dockerlibexec/entrypoint.sh      |   4 +
 .../dist/src/main/smoketest/__init__.robot         |   2 +-
 .../dist/src/main/smoketest/admincli/cert.robot    |   1 +
 .../src/main/smoketest/admincli/container.robot    |  52 +-
 .../src/main/smoketest/admincli/datanode.robot     |  12 +-
 .../src/main/smoketest/admincli/pipeline.robot     |   2 +-
 .../src/main/smoketest/admincli/reconfigure.robot  |   3 +-
 .../smoketest/admincli/replicationmanager.robot    |   2 +-
 .../src/main/smoketest/balancer/testBalancer.robot |   3 +-
 .../dist/src/main/smoketest/basic/basic.robot      |   1 +
 .../dist/src/main/smoketest/basic/links.robot      |   1 +
 .../src/main/smoketest/basic/ozone-shell-lib.robot |   1 +
 .../src/main/smoketest/basic/ozone-shell.robot     |   3 +-
 .../src/main/smoketest/basic/single_node.robot     |   1 +
 .../smoketest/certrotation/cert-rotation.robot     |   2 +-
 .../dist/src/main/smoketest/commonlib.robot        |  11 +-
 .../dist/src/main/smoketest/compatibility/dn.robot |   7 +-
 .../compatibility/{recon.robot => lib.resource}    |  19 +-
 .../dist/src/main/smoketest/compatibility/om.robot |  13 +-
 .../src/main/smoketest/compatibility/recon.robot   |  11 +-
 .../src/main/smoketest/compatibility/scm.robot     |   7 +-
 .../src/main/smoketest/debug/auditparser.robot     |   1 +
 ...-datanode.robot => block-existence-check.robot} |  17 +-
 ...datanode.robot => corrupt-block-checksum.robot} |  26 +-
 .../debug/ozone-debug-corrupt-block.robot          |  46 --
 .../smoketest/debug/ozone-debug-keywords.robot     |  63 ++
 .../src/main/smoketest/debug/ozone-debug-ldb.robot |   2 +-
 .../debug/ozone-debug-stale-datanode.robot         |  46 --
 .../smoketest/debug/ozone-debug-tests-ec3-2.robot  |  49 +-
 .../smoketest/debug/ozone-debug-tests-ec6-3.robot  | 100 ---
 .../main/smoketest/debug/ozone-debug-tests.robot   |   8 +-
 .../src/main/smoketest/debug/ozone-debug.robot     |  98 ---
 ...atanode.robot => stale-datanode-checksum.robot} |  25 +-
 .../dist/src/main/smoketest/ec/lib.resource        |   1 +
 .../dist/src/main/smoketest/ec/rewrite.robot       |   2 +-
 .../src/main/smoketest/ec/upgrade-ec-check.robot   |   2 +-
 .../dist/src/main/smoketest/fcq/s3_om_fcq.robot    |   1 +
 .../src/main/smoketest/freon/generate-chunk.robot  |   2 +
 .../src/main/smoketest/freon/validate-chunk.robot  |   3 +
 .../main/smoketest/grpc/grpc-om-s3-metrics.robot   |   2 +-
 .../main/smoketest/hsync/upgrade-hsync-check.robot |   2 +-
 .../main/smoketest/httpfs/operations_tests.robot   |   4 +-
 .../dist/src/main/smoketest/lib/BytemanLibrary.py  |  77 +++
 .../omha/data-creation-before-om-bootstrap.robot   |   1 +
 .../omha/data-validation-after-om-bootstrap.robot  |   1 +
 .../main/smoketest/omha/om-cancel-prepare.robot    |   3 +-
 .../src/main/smoketest/omha/om-fetch-key.robot     |   2 +-
 .../dist/src/main/smoketest/omha/om-prepare.robot  |   3 +-
 .../dist/src/main/smoketest/omha/om-prepared.robot |   1 +
 .../dist/src/main/smoketest/omha/om-roles.robot    |   3 +-
 .../main/smoketest/ozone-fi/BytemanKeywords.robot  | 119 ++++
 .../dist/src/main/smoketest/ozone-fi/README.md     | 211 +++++++
 .../smoketest/ozone-fi/byteman_faults_sample.robot |  60 ++
 .../dist/src/main/smoketest/ozone-lib/freon.robot  |   1 -
 .../dist/src/main/smoketest/recon/recon-api.robot  |   1 +
 .../src/main/smoketest/recon/recon-nssummary.robot |   1 +
 .../main/smoketest/recon/recon-taskstatus.robot    |   1 +
 .../src/main/smoketest/repair/om-compact.robot     |  60 ++
 .../src/main/smoketest/s3/MultipartUpload.robot    |  32 +
 .../dist/src/main/smoketest/s3/bucketcreate.robot  |   8 +
 .../dist/src/main/smoketest/s3/bucketdelete.robot  |   7 +
 .../dist/src/main/smoketest/s3/buckethead.robot    |   6 +
 .../dist/src/main/smoketest/s3/commonawslib.robot  |  30 +
 .../dist/src/main/smoketest/s3/objectcopy.robot    |   9 +
 .../dist/src/main/smoketest/s3/objectdelete.robot  |  18 +
 .../dist/src/main/smoketest/s3/objecthead.robot    |  10 +
 .../dist/src/main/smoketest/s3/objectlist.robot    |   6 +
 .../dist/src/main/smoketest/s3/objectputget.robot  |  15 +-
 .../dist/src/main/smoketest/s3/objecttagging.robot |  15 +
 .../dist/src/main/smoketest/s3/s3_getsecret.robot  |   2 +-
 .../src/main/smoketest/s3/secretgenerate.robot     |   4 +-
 .../dist/src/main/smoketest/s3/secretrevoke.robot  |   4 +-
 .../main/smoketest/scmha/scm-decommission.robot    |   4 +-
 .../smoketest/security/ozone-secure-token.robot    |   1 +
 .../main/smoketest/snapshot/snapshot-acls.robot    |   3 +-
 .../snapshot/upgrade-snapshot-check.robot          |   2 +-
 .../smoketest/upgrade/check-finalization.robot     |   1 +
 .../dist/src/main/smoketest/upgrade/finalize.robot |   1 +
 .../dist/src/main/smoketest/upgrade/generate.robot |   2 +-
 .../dist/src/main/smoketest/upgrade/prepare.robot  |   1 +
 .../dist/src/main/smoketest/upgrade/validate.robot |   2 +-
 hadoop-ozone/dist/src/shell/ozone/ozone            |   1 +
 .../dist/src/shell/ozone/ozone-functions.sh        |  12 +
 .../ozone/freon/ClosedContainerReplicator.java     |   7 +-
 .../TestReconInsightsForDeletedDirectories.java    |  12 +-
 .../ozone/recon/TestReconWithOzoneManagerHA.java   |  15 +-
 .../java/org/apache/hadoop/fs/ozone/TestHSync.java |  14 +-
 .../apache/hadoop/hdds/scm/TestCloseContainer.java | 134 +++-
 .../hdds/scm/TestSCMDbCheckpointServlet.java       |  19 +-
 ...estStorageContainerManagerHAWithAllRunning.java |   2 +-
 .../hadoop/hdds/upgrade/TestScmHAFinalization.java |  87 +--
 .../java/org/apache/hadoop/ozone/TestDataUtil.java |   5 +-
 .../ozone/client/rpc/TestECKeyOutputStream.java    |   4 +-
 .../ozone/client/rpc/TestSecureOzoneRpcClient.java |   8 +-
 .../apache/hadoop/ozone/container/TestHelper.java  |  14 +
 .../TestRefreshVolumeUsageHandler.java             |   7 +
 .../container/metrics/TestContainerMetrics.java    |   3 +-
 .../ozoneimpl/TestOzoneContainerWithTLS.java       |  75 +++
 .../container/server/TestContainerServer.java      |   4 +-
 .../server/TestSecureContainerServer.java          |   3 +-
 .../TestContainerCommandReconciliation.java        | 673 +++++++++++++++++++++
 ...tBackgroundContainerDataScannerIntegration.java |  42 +-
 ...kgroundContainerMetadataScannerIntegration.java |  47 +-
 .../TestContainerScannerIntegrationAbstract.java   | 207 +------
 ...estOnDemandContainerDataScannerIntegration.java |  50 +-
 .../hadoop/ozone/om/TestOMDbCheckpointServlet.java |  21 +-
 .../TestOMDbCheckpointServletInodeBasedXfer.java   | 368 +++++++++++
 .../hadoop/ozone/om/TestOMRatisSnapshots.java      |   3 +
 .../ozone/om/TestObjectStoreWithLegacyFS.java      |   3 +-
 .../org/apache/hadoop/ozone/om/TestOmMetrics.java  |   3 +-
 .../om/TestOzoneManagerHAWithStoppedNodes.java     |   3 +-
 .../om/TestOzoneManagerListVolumesSecure.java      |   7 +
 .../TestDirectoryDeletingServiceWithFSO.java       |  11 +-
 ...TestSnapshotDeletingServiceIntegrationTest.java |   6 +-
 .../ozone/om/snapshot/TestOMDBCheckpointUtils.java | 100 +++
 .../om/snapshot/TestOzoneManagerHASnapshot.java    |   4 +-
 .../snapshot/TestSnapshotBackgroundServices.java   |   6 +-
 .../TestSnapshotDirectoryCleaningService.java      |   3 +-
 .../hadoop/ozone/repair/om/TestFSORepairTool.java  |   5 +-
 .../hadoop/ozone/shell/TestOzoneTenantShell.java   |   2 +-
 .../hadoop/ozone/shell/TestReconfigShell.java      |  40 +-
 .../tools/contract/AbstractContractDistCpTest.java |   3 +-
 hadoop-ozone/ozone-manager/pom.xml                 |   4 -
 .../apache/hadoop/ozone/common/BekInfoUtils.java   |   4 +-
 .../hadoop/ozone/om/OMDBCheckpointServlet.java     |  74 +--
 .../om/OMDBCheckpointServletInodeBasedXfer.java    | 436 +++++++++++++
 .../hadoop/ozone/om/OmMetadataManagerImpl.java     |  25 +-
 .../apache/hadoop/ozone/om/OmSnapshotManager.java  |  19 +-
 .../org/apache/hadoop/ozone/om/OzoneManager.java   |   3 +-
 .../ozone/om/ratis/OzoneManagerRatisServer.java    |   5 +
 .../om/request/file/OMDirectoryCreateRequest.java  |   6 +-
 .../ozone/om/request/file/OMFileCreateRequest.java |  13 +-
 .../ozone/om/request/key/OMKeyCommitRequest.java   |   9 +-
 .../ozone/om/request/key/OMKeyCreateRequest.java   |  10 +-
 .../ozone/om/request/key/OMKeyRenameRequest.java   |   8 +-
 .../hadoop/ozone/om/request/key/OMKeyRequest.java  |  75 ---
 .../ozone/om/request/upgrade/OMPrepareRequest.java |  27 +-
 .../hadoop/ozone/om/response/OMClientResponse.java |  11 -
 .../response/key/AbstractOMKeyDeleteResponse.java  |   4 -
 .../AbstractS3MultipartAbortResponse.java          |   9 -
 .../S3MultipartUploadAbortResponseWithFSO.java     |   3 +-
 .../hadoop/ozone/om/service/QuotaRepairTask.java   |  10 +-
 .../ozone/om/snapshot/OMDBCheckpointUtils.java     |  80 +++
 .../hadoop/ozone/om/snapshot/OmSnapshotUtils.java  |  21 +
 .../OzoneDelegationTokenSecretManager.java         |  19 +-
 .../hadoop/ozone/security/OzoneSecretStore.java    |  14 +-
 .../hadoop/ozone/om/TestOmSnapshotManager.java     |  47 +-
 .../ozone/om/request/key/TestOMKeyRequest.java     |  22 -
 .../TestOMSnapshotPurgeRequestAndResponse.java     |   3 +-
 ...estOMSnapshotSetPropertyRequestAndResponse.java |   8 +-
 .../ozone/om/response/TestCleanupTableInfo.java    |  20 +-
 .../snapshot/TestOMSnapshotCreateResponse.java     |   5 +-
 .../snapshot/TestOMSnapshotDeleteResponse.java     |   6 +-
 .../ozone/om/service/TestKeyDeletingService.java   |   7 +-
 .../om/service/TestOpenKeyCleanupService.java      |   3 +-
 .../om/snapshot/TestFSODirectoryPathResolver.java  |   4 +-
 .../ozone/om/snapshot/TestSnapshotCache.java       |   3 +-
 .../filter/TestReclaimableRenameEntryFilter.java   |   5 +-
 .../TestOzoneDelegationTokenSecretManager.java     |  41 ++
 hadoop-ozone/ozonefs-hadoop2/pom.xml               |  51 +-
 hadoop-ozone/ozonefs-hadoop3-client/pom.xml        |  25 +
 hadoop-ozone/ozonefs-hadoop3/pom.xml               |  46 +-
 .../recon/schema/ContainerSchemaDefinition.java    |   3 +-
 hadoop-ozone/recon/pom.xml                         |   4 -
 .../org/apache/hadoop/ozone/recon/ReconServer.java |  46 +-
 .../org/apache/hadoop/ozone/recon/ReconUtils.java  |  26 +-
 .../hadoop/ozone/recon/api/BlocksEndPoint.java     |  30 +-
 .../api/types/UnhealthyContainersResponse.java     |  13 +
 .../ozone/recon/fsck/ContainerHealthStatus.java    |  15 +-
 .../ozone/recon/fsck/ContainerHealthTask.java      |  34 +-
 .../ozone/recon/fsck/ReconSafeModeMgrTask.java     |   6 +-
 .../ozone/recon/persistence/ContainerHistory.java  |  13 +-
 .../recon/recovery/ReconOmMetadataManagerImpl.java |   4 +-
 .../ozone/recon/scm/ContainerReplicaHistory.java   |  16 +-
 .../ozone/recon/scm/ReconContainerManager.java     |  18 +-
 .../scm/ReconStorageContainerManagerFacade.java    |  14 +-
 .../recon/spi/ReconContainerMetadataManager.java   |   6 -
 .../spi/impl/OzoneManagerServiceProviderImpl.java  |   3 +
 .../impl/ReconContainerMetadataManagerImpl.java    |   5 +-
 .../ozone/recon/tasks/ContainerSizeCountTask.java  |   2 +-
 .../ozone/recon/upgrade/ReconLayoutFeature.java    |   3 +-
 ...> UnhealthyContainerReplicaMismatchAction.java} |  34 +-
 .../webapps/recon/ozone-recon-web/api/db.json      |  40 ++
 .../src/__tests__/datanodes/Datanodes.test.tsx     |  19 +-
 .../__tests__/datanodes/DatanodesTable.test.tsx    |  15 +-
 .../mocks/pipelineMocks/pipelinesServer.ts         |   4 +-
 .../src/__tests__/pipelines/Pipelines.test.tsx     |  19 +-
 .../__tests__/pipelines/PipelinesTable.test.tsx    |   8 +-
 .../src/__tests__/utils/pipelines.utils.tsx        |   4 +-
 .../src/components/aclDrawer/aclDrawer.tsx         |   5 +-
 .../src/components/navBar/navBar.tsx               |   8 +-
 .../src/v2/components/aclDrawer/aclDrawer.tsx      |   2 +-
 .../src/v2/components/duMetadata/duMetadata.tsx    |  12 +-
 .../src/v2/components/navBar/navBar.tsx            |  12 +-
 .../src/v2/components/tables/containersTable.tsx   |  56 +-
 .../src/v2/components/tables/pipelinesTable.tsx    |  17 +-
 .../src/v2/pages/containers/containers.less        |  13 +-
 .../src/v2/pages/containers/containers.tsx         |  27 +-
 .../src/v2/pages/diskUsage/diskUsage.tsx           |  22 +-
 .../src/v2/types/container.types.ts                |   2 +
 .../src/views/diskUsage/diskUsage.tsx              |  29 +-
 .../ozone-recon-web/src/views/insights/om/om.tsx   |  20 +-
 .../views/missingContainers/missingContainers.tsx  |  12 +-
 .../ozone/recon/api/TestContainerEndpoint.java     |  74 ++-
 .../recon/fsck/TestContainerHealthStatus.java      |  51 ++
 .../ozone/recon/fsck/TestContainerHealthTask.java  |  42 +-
 .../TestContainerHealthTaskRecordGenerator.java    |  51 ++
 .../scm/AbstractReconContainerManagerTest.java     |   1 -
 .../ozone/recon/scm/TestReconContainerManager.java |   6 +-
 .../ozone/recon/scm/TestReconPipelineManager.java  |   6 +-
 .../hadoop/ozone/s3/endpoint/BucketEndpoint.java   |  13 +-
 .../hadoop/ozone/s3/endpoint/ObjectEndpoint.java   |  71 ++-
 .../apache/hadoop/ozone/s3/endpoint/S3Owner.java   |  57 +-
 .../hadoop/ozone/s3/endpoint/TestS3Owner.java      |  36 ++
 .../ozone/s3/metrics/TestS3GatewayMetrics.java     |   1 +
 .../datanode/container/ContainerCommands.java      |   5 +-
 .../apache/hadoop/ozone/debug/om/PrefixParser.java |  22 +-
 pom.xml                                            |  75 +--
 510 files changed, 17778 insertions(+), 5092 deletions(-)
 copy dev-support/byteman/{ratis-no-flush.btm => skip-notify-group-remove.btm} 
(72%)
 copy dev-support/byteman/{ratis-no-flush.btm => skip-put-block.btm} (75%)
 create mode 100644 
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/checksum/ContainerChecksumTreeManager.java
 create mode 100644 
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/checksum/ContainerDiffReport.java
 create mode 100644 
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/checksum/ContainerMerkleTreeMetrics.java
 create mode 100644 
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/checksum/ContainerMerkleTreeWriter.java
 create mode 100644 
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/checksum/DNContainerOperationClient.java
 create mode 100644 
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/checksum/ReconcileContainerTask.java
 copy hadoop-hdds/{client/src/main/java/org/apache/hadoop/hdds/scm/client => 
container-service/src/main/java/org/apache/hadoop/ozone/container/checksum}/package-info.java
 (87%)
 rename 
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/{ec/reconstruction
 => common/helpers}/TokenHelper.java (88%)
 copy 
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/interfaces/{package-info.java
 => ScanResult.java} (76%)
 copy 
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/{ReconstructECContainersCommandHandler.java
 => ReconcileContainerCommandHandler.java} (56%)
 create mode 100644 
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerScanError.java
 create mode 100644 
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/ContainerScanHelper.java
 create mode 100644 
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/DataScanResult.java
 create mode 100644 
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/ozoneimpl/MetadataScanResult.java
 create mode 100644 
hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/protocol/commands/ReconcileContainerCommand.java
 create mode 100644 
hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/checksum/ContainerMerkleTreeTestUtils.java
 create mode 100644 
hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/checksum/TestContainerChecksumTreeManager.java
 create mode 100644 
hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/checksum/TestContainerMerkleTreeWriter.java
 create mode 100644 
hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/checksum/TestReconcileContainerTask.java
 create mode 100644 
hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/common/statemachine/commandhandler/TestReconcileContainerCommandHandler.java
 create mode 100644 
hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/TestContainerCorruptions.java
 create mode 100644 
hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/keyvalue/TestContainerReconciliationWithMockDatanodes.java
 create mode 100644 
hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/ozoneimpl/TestDataScanResult.java
 create mode 100644 
hadoop-hdds/container-service/src/test/java/org/apache/hadoop/ozone/container/ozoneimpl/TestMetadataScanResult.java
 create mode 100644 hadoop-hdds/docs/content/concept/OzoneS3Gateway.md
 create mode 100644 hadoop-hdds/docs/content/concept/VolumesBucketsKeys.md
 create mode 100644 hadoop-hdds/docs/content/design/container-reconciliation.md
 create mode 100644 hadoop-hdds/docs/content/design/dn-usedspace-calculation.md
 create mode 100644 hadoop-hdds/docs/content/design/full-volume-handling.md
 create mode 100644 hadoop-hdds/docs/content/feature/Trash.md
 create mode 100644 hadoop-hdds/docs/content/feature/multi-raft-support.md
 create mode 100644 hadoop-hdds/docs/content/interface/CyberDuckOzoneS3.md
 create mode 100644 
hadoop-hdds/docs/content/security/protect-in-transit-traffic.md
 create mode 100644 hadoop-hdds/docs/content/tools/ContainerLogParser.zh.md
 copy hadoop-hdds/docs/content/{feature/_index.zh.md => 
troubleshooting/_index.md} (80%)
 create mode 100644 
hadoop-hdds/docs/content/troubleshooting/om-ha-snapshot-installation.md
 create mode 100644 
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/fs/DUOptimized.java
 copy 
hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/fs/{DUFactory.java 
=> DUOptimizedFactory.java} (54%)
 create mode 100644 
hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/fs/TestDUOptimized.java
 copy 
hadoop-hdds/framework/src/test/java/org/apache/hadoop/hdds/fs/{TestDUFactory.java
 => TestDUOptimizedFactory.java} (75%)
 create mode 100644 
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/reconciliation/ReconcileContainerEventHandler.java
 create mode 100644 
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/reconciliation/ReconciliationEligibilityHandler.java
 copy 
{hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/execution 
=> 
hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/container/reconciliation}/package-info.java
 (86%)
 create mode 100644 
hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/container/reconciliation/TestReconcileContainerEventHandler.java
 copy 
hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/container/{CloseSubcommand.java
 => ReconcileSubcommand.java} (66%)
 create mode 100644 
hadoop-ozone/cli-admin/src/main/java/org/apache/hadoop/hdds/scm/cli/datanode/NodeSelectionMixin.java
 delete mode 100644 
hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/lock/OzoneManagerLockUtil.java
 create mode 100644 
hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/helpers/OldSnapshotDiffJobCodecForTesting.java
 create mode 100644 
hadoop-ozone/common/src/test/java/org/apache/hadoop/ozone/om/helpers/TestOmSnapshotDiffJobCodec.java
 copy hadoop-ozone/dist/src/main/compose/ozonesecure-ha/{test-leadership.sh => 
test-repair-tools.sh} (75%)
 copy hadoop-ozone/dist/src/main/smoketest/compatibility/{recon.robot => 
lib.resource} (64%)
 copy 
hadoop-ozone/dist/src/main/smoketest/debug/{ozone-debug-dead-datanode.robot => 
block-existence-check.robot} (69%)
 copy 
hadoop-ozone/dist/src/main/smoketest/debug/{ozone-debug-dead-datanode.robot => 
corrupt-block-checksum.robot} (60%)
 delete mode 100644 
hadoop-ozone/dist/src/main/smoketest/debug/ozone-debug-corrupt-block.robot
 create mode 100644 
hadoop-ozone/dist/src/main/smoketest/debug/ozone-debug-keywords.robot
 delete mode 100644 
hadoop-ozone/dist/src/main/smoketest/debug/ozone-debug-stale-datanode.robot
 delete mode 100644 
hadoop-ozone/dist/src/main/smoketest/debug/ozone-debug-tests-ec6-3.robot
 delete mode 100644 hadoop-ozone/dist/src/main/smoketest/debug/ozone-debug.robot
 rename 
hadoop-ozone/dist/src/main/smoketest/debug/{ozone-debug-dead-datanode.robot => 
stale-datanode-checksum.robot} (61%)
 create mode 100644 hadoop-ozone/dist/src/main/smoketest/lib/BytemanLibrary.py
 create mode 100644 
hadoop-ozone/dist/src/main/smoketest/ozone-fi/BytemanKeywords.robot
 create mode 100644 hadoop-ozone/dist/src/main/smoketest/ozone-fi/README.md
 create mode 100644 
hadoop-ozone/dist/src/main/smoketest/ozone-fi/byteman_faults_sample.robot
 create mode 100644 hadoop-ozone/dist/src/main/smoketest/repair/om-compact.robot
 create mode 100644 
hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/dn/checksum/TestContainerCommandReconciliation.java
 create mode 100644 
hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/TestOMDbCheckpointServletInodeBasedXfer.java
 create mode 100644 
hadoop-ozone/integration-test/src/test/java/org/apache/hadoop/ozone/om/snapshot/TestOMDBCheckpointUtils.java
 create mode 100644 
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/OMDBCheckpointServletInodeBasedXfer.java
 create mode 100644 
hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/snapshot/OMDBCheckpointUtils.java
 copy 
hadoop-ozone/recon/src/main/java/org/apache/hadoop/ozone/recon/upgrade/{InitialConstraintUpgradeAction.java
 => UnhealthyContainerReplicaMismatchAction.java} (77%)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@ozone.apache.org
For additional commands, e-mail: commits-h...@ozone.apache.org

Reply via email to