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
