This is an automated email from the ASF dual-hosted git repository.
vinoyang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git
The following commit(s) were added to refs/heads/master by this push:
new 971f028 [HUDI-1393] Add compaction action in archive command (#2246)
971f028 is described below
commit 971f028aaf3e90ddee571e9862509d34a637782d
Author: hongdd <[email protected]>
AuthorDate: Mon Nov 23 16:53:01 2020 +0800
[HUDI-1393] Add compaction action in archive command (#2246)
---
.../hudi/cli/commands/ArchivedCommitsCommand.java | 60 +++++++++-------------
1 file changed, 25 insertions(+), 35 deletions(-)
diff --git
a/hudi-cli/src/main/java/org/apache/hudi/cli/commands/ArchivedCommitsCommand.java
b/hudi-cli/src/main/java/org/apache/hudi/cli/commands/ArchivedCommitsCommand.java
index 1dc925b..102fcc2 100644
---
a/hudi-cli/src/main/java/org/apache/hudi/cli/commands/ArchivedCommitsCommand.java
+++
b/hudi-cli/src/main/java/org/apache/hudi/cli/commands/ArchivedCommitsCommand.java
@@ -30,6 +30,7 @@ import org.apache.hudi.common.table.log.HoodieLogFormat;
import org.apache.hudi.common.table.log.HoodieLogFormat.Reader;
import org.apache.hudi.common.table.log.block.HoodieAvroDataBlock;
import org.apache.hudi.common.table.timeline.HoodieTimeline;
+import org.apache.hudi.common.util.Option;
import org.apache.avro.generic.GenericRecord;
import org.apache.avro.generic.IndexedRecord;
@@ -172,49 +173,38 @@ public class ArchivedCommitsCommand implements
CommandMarker {
return HoodiePrintHelper.print(header, new HashMap<>(), sortByField,
descending, limit, headerOnly, allCommits);
}
- private Comparable[] readCommit(GenericRecord record, boolean skipMetadata) {
+ private Comparable[] commitDetail(GenericRecord record, String metadataName,
+ boolean skipMetadata) {
List<Object> commitDetails = new ArrayList<>();
+ commitDetails.add(record.get("commitTime"));
+ commitDetails.add(record.get("actionType").toString());
+ if (!skipMetadata) {
+
commitDetails.add(Option.ofNullable(record.get(metadataName)).orElse("{}").toString());
+ }
+ return commitDetails.toArray(new Comparable[commitDetails.size()]);
+ }
+
+ private Comparable[] readCommit(GenericRecord record, boolean skipMetadata) {
try {
switch (record.get("actionType").toString()) {
- case HoodieTimeline.CLEAN_ACTION: {
- commitDetails.add(record.get("commitTime"));
- commitDetails.add(record.get("actionType").toString());
- if (!skipMetadata) {
- commitDetails.add(record.get("hoodieCleanMetadata").toString());
- }
- break;
- }
+ case HoodieTimeline.CLEAN_ACTION:
+ return commitDetail(record, "hoodieCleanMetadata", skipMetadata);
case HoodieTimeline.COMMIT_ACTION:
- case HoodieTimeline.DELTA_COMMIT_ACTION: {
- commitDetails.add(record.get("commitTime"));
- commitDetails.add(record.get("actionType").toString());
- if (!skipMetadata) {
- commitDetails.add(record.get("hoodieCommitMetadata").toString());
- }
- break;
- }
- case HoodieTimeline.ROLLBACK_ACTION: {
- commitDetails.add(record.get("commitTime"));
- commitDetails.add(record.get("actionType").toString());
- if (!skipMetadata) {
- commitDetails.add(record.get("hoodieRollbackMetadata").toString());
- }
- break;
+ case HoodieTimeline.DELTA_COMMIT_ACTION:
+ return commitDetail(record, "hoodieCommitMetadata", skipMetadata);
+ case HoodieTimeline.ROLLBACK_ACTION:
+ return commitDetail(record, "hoodieRollbackMetadata", skipMetadata);
+ case HoodieTimeline.SAVEPOINT_ACTION:
+ return commitDetail(record, "hoodieSavePointMetadata", skipMetadata);
+ case HoodieTimeline.COMPACTION_ACTION:
+ return commitDetail(record, "hoodieCompactionMetadata",
skipMetadata);
+ default: {
+ return new Comparable[]{};
}
- case HoodieTimeline.SAVEPOINT_ACTION: {
- commitDetails.add(record.get("commitTime"));
- commitDetails.add(record.get("actionType").toString());
- if (!skipMetadata) {
-
commitDetails.add(record.get("hoodieSavePointMetadata").toString());
- }
- break;
- }
- default:
- return commitDetails.toArray(new Comparable[commitDetails.size()]);
}
} catch (Exception e) {
e.printStackTrace();
+ return new Comparable[]{};
}
- return commitDetails.toArray(new Comparable[commitDetails.size()]);
}
}