thswlsqls opened a new pull request, #9229: URL: https://github.com/apache/paimon/pull/9229
### Purpose fix #9228 - On retry, `KvQueryClient.getResponse()` looks up the location inside a `whenCompleteAsync` callback whose derived stage is discarded. The `RuntimeException` that `QueryLocationImpl` throws once the service file is gone is swallowed there, so the future from `getValues()` never completes and `RemoteTableQuery.lookup()` blocks forever on its untimed `get()`. - Guard the lookup and return an exceptionally completed future instead. - Behavior note: the first attempt no longer throws synchronously; the future completes exceptionally and `RemoteTableQuery.lookup()` reports its declared `IOException`, cause preserved. - The retry policy in `executeActionAsync()` is untouched. ### Tests - Added `KvQueryClientLocationFailureTest#testLocationLookupThrowingOnRetryCompletesFuture`: the stubbed location returns an unused port to force a `ConnectException` retry, then throws. It times out without the fix. - `mvn -pl paimon-service/paimon-service-client,paimon-service/paimon-service-runtime clean install` — 16 tests passed, checkstyle, spotless and rat included. -- 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]
