Skip to content

[Improvement] Implement commitTransaction REST endpoint for Iceberg REST catalog #10674

@laserninja

Description

@laserninja

What would you like to be improved?

Implement the missing POST /v1/{prefix}/transactions/commit REST endpoint in Gravitino's Iceberg REST catalog server, as defined by the Iceberg REST Catalog API spec (CommitTransactionRequest).

The Iceberg REST spec defines POST /v1/{prefix}/transactions/commit for atomic multi-table commits. Gravitino's Iceberg REST server does not implement this endpoint. Clients performing atomic cross-table operations (e.g., Spark multi-table writes) will fail when targeting Gravitino as an Iceberg REST catalog.

How should we improve?

  • Add IcebergTransactionOperations JAX-RS class with POST /v1/{prefix}/transactions/commit
  • Add IcebergTransactionOperationDispatcher interface + Executor/EventDispatcher/HookDispatcher chain
  • Wire the endpoint into the existing server bootstrap
  • Register the endpoint in ConfigResponse so clients discover it
  • Add unit and integration tests

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions