You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "aryangupta1998 (via GitHub)" <gi...@apache.org> on 2026/08/18 11:29:16 UTC
[PR] HDDS-12865. Handle automatic container cache refresh for replica verification. [ozone]
aryangupta1998 opened a new pull request, #11044:
URL: https://github.com/apache/ozone/pull/11044
## What changes were proposed in this pull request?
If any of the block-level verifications for a key report that the block was not found on the datanode, the driver should fetch the key location info from OM again forcing a cache refresh and re-run all block level checks. If they fail again, consider the failure legitimate. This is similar to what currently happens on the [main read path](https://github.com/apache/ozone/blob/a0c07c5a0aae76b2249370cdd6a305e690417210/hadoop-ozone/client/src/main/java/org/apache/hadoop/ozone/client/rpc/RpcClient.java#L2230).
## What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-12865
## How was this patch tested?
Tested Manually.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org
Re: [PR] HDDS-12865. Handle automatic container cache refresh for replica verification. [ozone]
Posted by "rich7420 (via GitHub)" <gi...@apache.org>.
rich7420 commented on code in PR #11044:
URL: https://github.com/apache/ozone/pull/11044#discussion_r3835592900
##########
hadoop-ozone/cli-debug/src/main/java/org/apache/hadoop/ozone/debug/replicas/ReplicasVerify.java:
##########
@@ -346,13 +346,40 @@ void processKey(OzoneClient ozoneClient, String volumeName, String bucketName, S
return;
}
+ KeyVerificationResult keyVerificationResult = verifyKey(keyInfo, volumeName, bucketName, keyName);
+ if (keyVerificationResult.shouldRefreshKeyLocation()) {
+ OmKeyInfo refreshedKeyInfo = ozoneClient.getProxy().getKeyInfo(
Review Comment:
The retry path looks good. The same exposure remains on the initial `getKeyInfo` in `processKey` (~L340): `checkBucket` iterates `listKeys()` with no per-key catch, so a key deleted between listing and this fetch throws `KEY_NOT_FOUND` and aborts the whole run (remaining keys unverified, and the output is never written). Worth the same catch-and-continue there, or wrapping the per-key body in `checkBucket`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org
Re: [PR] HDDS-12865. Handle automatic container cache refresh for replica verification. [ozone]
Posted by "rich7420 (via GitHub)" <gi...@apache.org>.
rich7420 commented on code in PR #11044:
URL: https://github.com/apache/ozone/pull/11044#discussion_r3835592900
##########
hadoop-ozone/cli-debug/src/main/java/org/apache/hadoop/ozone/debug/replicas/ReplicasVerify.java:
##########
@@ -346,13 +346,40 @@ void processKey(OzoneClient ozoneClient, String volumeName, String bucketName, S
return;
}
+ KeyVerificationResult keyVerificationResult = verifyKey(keyInfo, volumeName, bucketName, keyName);
+ if (keyVerificationResult.shouldRefreshKeyLocation()) {
+ OmKeyInfo refreshedKeyInfo = ozoneClient.getProxy().getKeyInfo(
Review Comment:
Same exposure on the initial `getKeyInfo` (~L340): `checkBucket` iterates `listKeys()` with no per-key catch, so a key deleted mid-run throws `KEY_NOT_FOUND` and aborts the whole run. Worth the same catch-and-continue here.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org
Re: [PR] HDDS-12865. Handle automatic container cache refresh for replica verification. [ozone]
Posted by "rich7420 (via GitHub)" <gi...@apache.org>.
rich7420 commented on code in PR #11044:
URL: https://github.com/apache/ozone/pull/11044#discussion_r3828233767
##########
hadoop-ozone/cli-debug/src/main/java/org/apache/hadoop/ozone/debug/replicas/ReplicasVerify.java:
##########
@@ -346,13 +346,40 @@ void processKey(OzoneClient ozoneClient, String volumeName, String bucketName, S
return;
}
+ KeyVerificationResult keyVerificationResult = verifyKey(keyInfo, volumeName, bucketName, keyName);
+ if (keyVerificationResult.shouldRefreshKeyLocation()) {
+ OmKeyInfo refreshedKeyInfo = ozoneClient.getProxy().getKeyInfo(
Review Comment:
This retry fetch isn't wrapped — if `getKeyInfo(..., true)` throws (key deleted mid-run, OM error), `processKey` propagates and aborts the whole verification run. The read path this mirrors catches/logs and continues instead (`RpcClient` ~L2365). Suggest catching it here and marking the key incomplete.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org
Re: [PR] HDDS-12865. Handle automatic container cache refresh for replica verification. [ozone]
Posted by "aryangupta1998 (via GitHub)" <gi...@apache.org>.
aryangupta1998 merged PR #11044:
URL: https://github.com/apache/ozone/pull/11044
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org
Re: [PR] HDDS-12865. Handle automatic container cache refresh for replica verification. [ozone]
Posted by "rich7420 (via GitHub)" <gi...@apache.org>.
rich7420 commented on PR #11044:
URL: https://github.com/apache/ozone/pull/11044#issuecomment-5366776805
@aryangupta1998 thanks for the patch!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org
Re: [PR] HDDS-12865. Handle automatic container cache refresh for replica verification. [ozone]
Posted by "aryangupta1998 (via GitHub)" <gi...@apache.org>.
aryangupta1998 commented on code in PR #11044:
URL: https://github.com/apache/ozone/pull/11044#discussion_r3835475790
##########
hadoop-ozone/cli-debug/src/main/java/org/apache/hadoop/ozone/debug/replicas/ReplicasVerify.java:
##########
@@ -346,13 +346,40 @@ void processKey(OzoneClient ozoneClient, String volumeName, String bucketName, S
return;
}
+ KeyVerificationResult keyVerificationResult = verifyKey(keyInfo, volumeName, bucketName, keyName);
+ if (keyVerificationResult.shouldRefreshKeyLocation()) {
+ OmKeyInfo refreshedKeyInfo = ozoneClient.getProxy().getKeyInfo(
Review Comment:
Done
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org
Re: [PR] HDDS-12865. Handle automatic container cache refresh for replica verification. [ozone]
Posted by "aryangupta1998 (via GitHub)" <gi...@apache.org>.
aryangupta1998 commented on PR #11044:
URL: https://github.com/apache/ozone/pull/11044#issuecomment-5421284025
Thanks @rich7420 and @sadanand48 for the review!
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org