Skip to content

BDX-645: prototype PollInfo support for JDBC - #21

Open
xborder wants to merge 5 commits into
mainfrom
bdx-645-pollinfo-poc
Open

xborder wants to merge 5 commits into
mainfrom
bdx-645-pollinfo-poc

Conversation

@xborder

@xborder xborder commented Sep 10, 2026 •

Copy link
Copy Markdown
Owner

Summary

BDX-645 POC for progressive PollFlightInfo consumption in Arrow Java JDBC without changing the JDBC API.

  • Returns the existing ResultSet when the first endpoint is published.
  • Polls the next continuation only when ResultSet.next() exhausts current endpoints.
  • Validates the cumulative endpoint prefix and queues only appended endpoints.
  • Surfaces a late continuation failure at the next ResultSet.next() boundary; no fallback or re-execution.
  • Preserves initial-UNIMPLEMENTED fallback/cache, connection opt-out, one operation deadline, and best-effort cancellation on cancel or incomplete close.

Progressive request flow

sequenceDiagram
    participant App as JDBC application
    participant Driver as JDBC driver
    participant Server as Flight SQL server
    App->>Driver: executeQuery
    Driver->>Server: PollFlightInfo original
    Server-->>Driver: Endpoint 1 and continuation
    Driver-->>App: Existing ResultSet
    App->>Driver: next
    Driver->>Server: DoGet endpoint 1
    Server-->>Driver: Row 1
    Driver-->>App: Row 1
    App->>Driver: next
    Driver->>Server: PollFlightInfo continuation
    Server-->>Driver: Endpoint 1 plus endpoint 2
    Driver->>Server: DoGet endpoint 2
    Server-->>Driver: Row 2
    Driver-->>App: Row 2
Loading

Validation

  • Focused PollInfo: 12/12 pass.
  • Shared progressive suite: 11/11 pass.
  • Combined final run: 23/23 pass, Checkstyle clean.
  • T2 server trace: Poll, DoGet, Poll, DoGet, Poll, DoGet.
  • Mermaid rendered successfully with Mermaid CLI 11.17.0.

Feasibility: yes, with documented Java helper/API-boundary limitations.

Jira: BDX-645
Fixture: dremio-employees/helder.gregorio#7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant