From 33f5208c1e95067606cd24ea90c05cd33626a243 Mon Sep 17 00:00:00 2001 From: Balaji Varadarajan Date: Tue, 28 May 2019 15:17:54 -0700 Subject: [PATCH] Only inflight commit timeline (.commit/.deltacommit) must be used when checking for sanity during compaction scheduling --- .../src/main/java/com/uber/hoodie/HoodieWriteClient.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hoodie-client/src/main/java/com/uber/hoodie/HoodieWriteClient.java b/hoodie-client/src/main/java/com/uber/hoodie/HoodieWriteClient.java index 5a918e4d9..fb642828c 100644 --- a/hoodie-client/src/main/java/com/uber/hoodie/HoodieWriteClient.java +++ b/hoodie-client/src/main/java/com/uber/hoodie/HoodieWriteClient.java @@ -405,7 +405,8 @@ public class HoodieWriteClient extends AbstractHo }); HoodieActiveTimeline activeTimeline = table.getActiveTimeline(); - Optional instant = activeTimeline.filterInflightsExcludingCompaction().lastInstant(); + Optional instant = + activeTimeline.getCommitsTimeline().filterInflightsExcludingCompaction().lastInstant(); activeTimeline.saveToInflight(instant.get(), Optional.of(metadata.toJsonString().getBytes(StandardCharsets.UTF_8))); } catch (IOException io) { @@ -1079,7 +1080,7 @@ public class HoodieWriteClient extends AbstractHo HoodieTableMetaClient metaClient = new HoodieTableMetaClient(jsc.hadoopConfiguration(), config.getBasePath(), true); // if there are inflight writes, their instantTime must not be less than that of compaction instant time - metaClient.getActiveTimeline().filterInflightsExcludingCompaction().firstInstant().ifPresent(earliestInflight -> { + metaClient.getCommitsTimeline().filterInflightsExcludingCompaction().firstInstant().ifPresent(earliestInflight -> { Preconditions.checkArgument( HoodieTimeline.compareTimestamps(earliestInflight.getTimestamp(), instantTime, HoodieTimeline.GREATER), "Earliest write inflight instant time must be later "