Hi Folks,
I recently opened a PR to introduce support for staged table creations
within the commitTransaction REST API endpoint [1]. Because this
touches core transactional boundaries, I wanted to bring it to the dev
list for discussion and feedback.

Currently, Polaris throws a BadRequestException if a
CommitTransactionRequest contains an updateForStagedCreate (identified
by the AssertTableDoesNotExist requirement). This prevents compute
engines from executing multi-table transactions that involve creating
new tables alongside updating existing ones. From the Iceberg client's
perspective, it builds the table metadata locally and expects to
commit the new tables and updates in a single server roundtrip.

This PR aims to remove this restriction so Polaris can process mixed
batches of staged creates and regular updates atomically.

I'd love to get the community's thoughts on supporting this flow and
hear any high-level feedback you might have. The PR is here [1]

-Ayush

[1] https://github.com/apache/polaris/pull/4939

Reply via email to