rjgoyln opened a new pull request, #11552: URL: https://github.com/apache/ozone/pull/11552
## What changes were proposed in this pull request? `SnapshotCache.get` let only `FILE_NOT_FOUND` escape the `dbMap.compute` lambda and rewrapped every other `OMException` from the loader in an `IllegalStateException`. The loader raises `TIMEOUT` when a snapshot's create transaction has not been flushed yet, the retriable condition the HDDS-13633 poll exists for. `handleReadRequest` maps only `IOException` to a response status, so that `IllegalStateException` left the OM through Hadoop IPC and the client got an unstructured `RemoteException` instead of status `TIMEOUT` and its retry hint. - Rethrow an `OMException` from the loader with its result code intact instead of wrapping it in `IllegalStateException`. - Add a regression test for a loader that throws `TIMEOUT`. The `IOException` and generic `Exception` branches stay wrapped since they carry no result code to preserve. The fix is the patch the reporter attached to the JIRA, adjusted to the conventions of the surrounding code in a second commit. ## What is the link to the Apache JIRA https://issues.apache.org/jira/browse/HDDS-16691 ## How was this patch tested? `TestSnapshotCache` passes with the fix. With `SnapshotCache.java` reverted to master and the new test kept, only `testGetPropagatesLoadTimeout` fails, with `expected: <OMException> but was: <IllegalStateException>`. Checkstyle on `ozone-manager` is clean. Generated-by: Specula (Claude Opus 5) for the JIRA patch; Claude Code (Fable 5.1) for the review adjustments and this description -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
