Skip to content

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

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions