diff --git a/polaris-core/src/main/java/org/apache/polaris/core/persistence/TransactionWorkspaceMetaStoreManager.java b/polaris-core/src/main/java/org/apache/polaris/core/persistence/TransactionWorkspaceMetaStoreManager.java index 489920752..4d7d656ad 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/persistence/TransactionWorkspaceMetaStoreManager.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/persistence/TransactionWorkspaceMetaStoreManager.java @@ -53,6 +53,13 @@ public class TransactionWorkspaceMetaStoreManager implements PolarisMetaStoreManager { private final PolarisMetaStoreManager delegate; + // TODO: If we want to support the semantic of opening a transaction in which multiple + // reads and writes occur on the same entities, where the reads are expected to see the writes + // within the transaction workspace that haven't actually been committed, we can augment this + // class by allowing these pendingUpdates to represent the latest state of the entity if we + // also increment entityVersion. We'd need to store both a "latest view" of all updated entities + // to serve reads within the same transaction while also storing the ordered list of + // pendingUpdates that ultimately need to be applied in order within the real MetaStoreManager. private final List pendingUpdates = new ArrayList<>(); public TransactionWorkspaceMetaStoreManager(PolarisMetaStoreManager delegate) { diff --git a/polaris-service/src/test/java/org/apache/polaris/service/catalog/PolarisRestCatalogIntegrationTest.java b/polaris-service/src/test/java/org/apache/polaris/service/catalog/PolarisRestCatalogIntegrationTest.java index 62feed6d2..7b937fdce 100644 --- a/polaris-service/src/test/java/org/apache/polaris/service/catalog/PolarisRestCatalogIntegrationTest.java +++ b/polaris-service/src/test/java/org/apache/polaris/service/catalog/PolarisRestCatalogIntegrationTest.java @@ -49,7 +49,6 @@ import org.apache.iceberg.catalog.SessionCatalog; import org.apache.iceberg.catalog.TableCommit; import org.apache.iceberg.catalog.TableIdentifier; -import org.apache.iceberg.exceptions.BadRequestException; import org.apache.iceberg.exceptions.CommitFailedException; import org.apache.iceberg.exceptions.ForbiddenException; import org.apache.iceberg.expressions.Expressions;