From 2307ed93456da8f86019b5dc21e685abf9e50f21 Mon Sep 17 00:00:00 2001 From: Piotr Findeisen Date: Wed, 30 Mar 2022 12:57:42 +0200 Subject: [PATCH] Force checkpoint in Delta's OPTIMIZE For optimal optimize result it is reasonable to create a checkpoint. --- .../main/java/io/trino/plugin/deltalake/DeltaLakeMetadata.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeMetadata.java b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeMetadata.java index b715c8508dcc..f8b5c2d8406f 100644 --- a/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeMetadata.java +++ b/plugin/trino-delta-lake/src/main/java/io/trino/plugin/deltalake/DeltaLakeMetadata.java @@ -1272,7 +1272,6 @@ private void finishOptimize(ConnectorSession session, DeltaLakeTableExecuteHandl { DeltaTableOptimizeHandle optimizeHandle = (DeltaTableOptimizeHandle) executeHandle.getProcedureHandle(); long readVersion = optimizeHandle.getCurrentVersion().orElseThrow(() -> new IllegalArgumentException("currentVersion not set")); - Optional checkpointInterval = optimizeHandle.getMetadataEntry().getCheckpointInterval(); String tableLocation = executeHandle.getTableLocation(); // paths to be deleted @@ -1322,6 +1321,7 @@ private void finishOptimize(ConnectorSession session, DeltaLakeTableExecuteHandl transactionLogWriter.flush(); writeCommitted = true; + Optional checkpointInterval = Optional.of(1L); // force checkpoint writeCheckpointIfNeeded(session, executeHandle.getSchemaTableName(), checkpointInterval, commitVersion); } catch (Exception e) {