From 3cf9118f00ceb77996a7e24c9d43dc6459769dc0 Mon Sep 17 00:00:00 2001 From: Pratyaksh Sharma Date: Thu, 7 Nov 2019 16:36:05 +0530 Subject: [PATCH] [HUDI-245]: replaced instances of getInstants() and reverse() with getReverseOrderedInstants() --- .../org/apache/hudi/cli/commands/CleansCommand.java | 4 +--- .../org/apache/hudi/cli/commands/CommitsCommand.java | 4 +--- .../apache/hudi/cli/commands/CompactionCommand.java | 4 +--- .../apache/hudi/cli/commands/SavepointsCommand.java | 4 +--- .../main/java/org/apache/hudi/HoodieWriteClient.java | 10 ++++------ 5 files changed, 8 insertions(+), 18 deletions(-) diff --git a/hudi-cli/src/main/java/org/apache/hudi/cli/commands/CleansCommand.java b/hudi-cli/src/main/java/org/apache/hudi/cli/commands/CleansCommand.java index 0143c547fe789..1257b172dd082 100644 --- a/hudi-cli/src/main/java/org/apache/hudi/cli/commands/CleansCommand.java +++ b/hudi-cli/src/main/java/org/apache/hudi/cli/commands/CleansCommand.java @@ -20,7 +20,6 @@ import java.io.IOException; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -69,9 +68,8 @@ public String showCleans( HoodieActiveTimeline activeTimeline = HoodieCLI.tableMetadata.getActiveTimeline(); HoodieTimeline timeline = activeTimeline.getCleanerTimeline().filterCompletedInstants(); - List cleans = timeline.getInstants().collect(Collectors.toList()); + List cleans = timeline.getReverseOrderedInstants().collect(Collectors.toList()); List rows = new ArrayList<>(); - Collections.reverse(cleans); for (int i = 0; i < cleans.size(); i++) { HoodieInstant clean = cleans.get(i); HoodieCleanMetadata cleanMetadata = diff --git a/hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java b/hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java index 448e9956f03cd..ad948651fb001 100644 --- a/hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java +++ b/hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java @@ -20,7 +20,6 @@ import java.io.IOException; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -80,9 +79,8 @@ public String showCommits( HoodieActiveTimeline activeTimeline = HoodieCLI.tableMetadata.getActiveTimeline(); HoodieTimeline timeline = activeTimeline.getCommitsTimeline().filterCompletedInstants(); - List commits = timeline.getInstants().collect(Collectors.toList()); + List commits = timeline.getReverseOrderedInstants().collect(Collectors.toList()); List rows = new ArrayList<>(); - Collections.reverse(commits); for (int i = 0; i < commits.size(); i++) { HoodieInstant commit = commits.get(i); HoodieCommitMetadata commitMetadata = diff --git a/hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java b/hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java index 86f3fe81aa9e3..4a9f4b7809898 100644 --- a/hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java +++ b/hudi-cli/src/main/java/org/apache/hudi/cli/commands/CompactionCommand.java @@ -21,7 +21,6 @@ import java.io.IOException; import java.io.ObjectInputStream; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -89,9 +88,8 @@ public String compactionsAll( HoodieTimeline commitTimeline = activeTimeline.getCommitTimeline().filterCompletedInstants(); Set committed = commitTimeline.getInstants().map(HoodieInstant::getTimestamp).collect(Collectors.toSet()); - List instants = timeline.getInstants().collect(Collectors.toList()); + List instants = timeline.getReverseOrderedInstants().collect(Collectors.toList()); List rows = new ArrayList<>(); - Collections.reverse(instants); for (int i = 0; i < instants.size(); i++) { HoodieInstant instant = instants.get(i); HoodieCompactionPlan workload = null; diff --git a/hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java b/hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java index ae451ef9bded3..bcbaad8b36636 100644 --- a/hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java +++ b/hudi-cli/src/main/java/org/apache/hudi/cli/commands/SavepointsCommand.java @@ -19,7 +19,6 @@ package org.apache.hudi.cli.commands; import java.io.IOException; -import java.util.Collections; import java.util.List; import java.util.stream.Collectors; import org.apache.hudi.HoodieWriteClient; @@ -70,9 +69,8 @@ public boolean isRollbackToSavepointAvailable() { public String showSavepoints() throws IOException { HoodieActiveTimeline activeTimeline = HoodieCLI.tableMetadata.getActiveTimeline(); HoodieTimeline timeline = activeTimeline.getSavePointTimeline().filterCompletedInstants(); - List commits = timeline.getInstants().collect(Collectors.toList()); + List commits = timeline.getReverseOrderedInstants().collect(Collectors.toList()); String[][] rows = new String[commits.size()][]; - Collections.reverse(commits); for (int i = 0; i < commits.size(); i++) { HoodieInstant commit = commits.get(i); rows[i] = new String[] {commit.getTimestamp()}; diff --git a/hudi-client/src/main/java/org/apache/hudi/HoodieWriteClient.java b/hudi-client/src/main/java/org/apache/hudi/HoodieWriteClient.java index 642563167992f..da1d52c998988 100644 --- a/hudi-client/src/main/java/org/apache/hudi/HoodieWriteClient.java +++ b/hudi-client/src/main/java/org/apache/hudi/HoodieWriteClient.java @@ -26,7 +26,6 @@ import java.nio.charset.StandardCharsets; import java.text.ParseException; import java.util.Arrays; -import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.List; @@ -746,11 +745,10 @@ public void restoreToInstant(final String instantTime) throws HoodieRollbackExce // Create a Hoodie table which encapsulated the commits and files visible HoodieTable table = HoodieTable.getHoodieTable(createMetaClient(true), config, jsc); // Get all the commits on the timeline after the provided commit time - List instantsToRollback = table.getActiveTimeline().getCommitsAndCompactionTimeline().getInstants() + List instantsToRollback = table.getActiveTimeline().getCommitsAndCompactionTimeline() + .getReverseOrderedInstants() .filter(instant -> HoodieActiveTimeline.GREATER.test(instant.getTimestamp(), instantTime)) .collect(Collectors.toList()); - // reverse the commits to descending order of commit time - Collections.reverse(instantsToRollback); // Start a rollback instant for all commits to be rolled back String startRollbackInstant = startInstant(); // Start the timer @@ -1116,8 +1114,8 @@ JavaRDD> deduplicateRecords(JavaRDD> records, in private void rollbackInflightCommits() { HoodieTable table = HoodieTable.getHoodieTable(createMetaClient(true), config, jsc); HoodieTimeline inflightTimeline = table.getMetaClient().getCommitsTimeline().filterInflightsExcludingCompaction(); - List commits = inflightTimeline.getInstants().map(HoodieInstant::getTimestamp).collect(Collectors.toList()); - Collections.reverse(commits); + List commits = inflightTimeline.getReverseOrderedInstants().map(HoodieInstant::getTimestamp) + .collect(Collectors.toList()); for (String commit : commits) { rollback(commit); }