Skip to content

[Bug] Remote lookup hangs forever when the query location lookup fails on retry #9228

Description

@thswlsqls

Search before asking

  • I searched in the issues and found nothing similar.

Paimon version
master @ 54e64e3 (2.1-SNAPSHOT)

Compute Engine
Flink lookup join; the defect is in paimon-service-client.

Minimal reproduce step

  1. Run a lookup join on the primary keys with a query service running (LOOKUP_CACHE_MODE=AUTO selects the remote path).
  2. Stop the query service job — its sockets close and its service files are removed.
  3. Issue a lookup.

What doesn't meet your expectations?
Expected: the lookup fails with the location error. Actual: RemoteTableQuery.lookup() blocks forever on its untimed Future.get(), so the subtask hangs — no failure, no log, no restart, and checkpoints time out.

Anything else?
KvQueryClient.getResponse() calls QueryLocation#getLocation(...) unguarded. The first attempt fails to connect, so executeActionAsync() retries with forceUpdate=true inside a whenCompleteAsync callback whose derived stage is discarded. QueryLocationImpl then throws RuntimeException("Cannot find address for table path: ..."); the discarded stage swallows it, so the future returned by getValues() is never completed.

Are you willing to submit a PR?

  • I'm willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions