Skip to content

Eliminate usage of CatalogHandlers; introduce CatalogHandlerUtils #1576

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

eric-maynard
Copy link
Contributor

Currently, many methods in IcebergCatalogHandler (formerly IcebergCatalogHandlerWrapper) fall back to implementations in CatalogHandlers, which sometimes can result in undesirable behavior. Two examples came up recently:

  1. In Feature: Rollback compaction on conflict #1285, we partially copied code out of CatalogHandlers, surfacing the fact that there's a hardcoded 4 retries on every commit
  2. In Interface changes for pagination #1528, it was flagged that we could pass along pagination information to the catalog being delegated to rather than use the client-side pagination present in CatalogHandlers

To move us away from CatalogHandlers, this PR introduces a new class CatalogHandlerUtils that's mostly a copy of CatalogHandlers as of Iceberg 1.8 and migrates usage of CatalogHandlers to this new type.

Currently, the only meaningful change is that we inject a configuration store to make the number of retries on commit configurable.

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