Skip to content

fix(appkit): use retry client for Lakebase V1 transaction retry#393

Open
fallintoplace wants to merge 1 commit into
databricks:mainfrom
fallintoplace:fix/lakebase-v1-transaction-retry-client
Open

fix(appkit): use retry client for Lakebase V1 transaction retry#393
fallintoplace wants to merge 1 commit into
databricks:mainfrom
fallintoplace:fix/lakebase-v1-transaction-retry-client

Conversation

@fallintoplace
Copy link
Copy Markdown

Summary

  • use the retry PostgreSQL client for retry transaction BEGIN and COMMIT after credential rotation
  • guard the original transaction client release so retry paths do not release it twice
  • add a regression test covering auth-failure transaction retry behavior

Root Cause

The auth retry path opened a retry client and passed it to the transaction callback, but still ran transaction boundaries on the original client after releasing it. That could put callback work and transaction control on different clients, or fail because the original client was already released.

Validation

  • pnpm exec vitest run packages/appkit/src/connectors/tests/lakebase-v1.test.ts
  • pnpm exec biome check packages/appkit/src/connectors/lakebase-v1/client.ts packages/appkit/src/connectors/tests/lakebase-v1.test.ts
  • pnpm --filter @databricks/appkit typecheck
  • git diff --check

Closes #392

@fallintoplace fallintoplace force-pushed the fix/lakebase-v1-transaction-retry-client branch from 0f5a8c1 to 8cc8261 Compare May 19, 2026 18:20
@fallintoplace fallintoplace marked this pull request as ready for review May 19, 2026 18:24
@fallintoplace fallintoplace requested a review from a team as a code owner May 19, 2026 18:24
@fallintoplace fallintoplace requested a review from calvarjorge May 19, 2026 18:24
@fallintoplace fallintoplace force-pushed the fix/lakebase-v1-transaction-retry-client branch from 8cc8261 to cf38613 Compare May 19, 2026 18:28
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.

Lakebase V1 transaction auth retry uses original client for transaction boundaries

1 participant