Skip to content

Commit c8940d7

Browse files
yihuavoonhous
authored andcommitted
[MINOR] Improve code style of CLI Command classes (apache#6427)
1 parent 1a66807 commit c8940d7

25 files changed

Lines changed: 219 additions & 212 deletions

hudi-cli/src/main/java/org/apache/hudi/cli/commands/ArchivedCommitsCommand.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,12 +200,12 @@ private Comparable[] readCommit(GenericRecord record, boolean skipMetadata) {
200200
case HoodieTimeline.COMPACTION_ACTION:
201201
return commitDetail(record, "hoodieCompactionMetadata", skipMetadata);
202202
default: {
203-
return new Comparable[]{};
203+
return new Comparable[] {};
204204
}
205205
}
206206
} catch (Exception e) {
207207
e.printStackTrace();
208-
return new Comparable[]{};
208+
return new Comparable[] {};
209209
}
210210
}
211211
}

hudi-cli/src/main/java/org/apache/hudi/cli/commands/BootstrapCommand.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@
4040

4141
import java.io.IOException;
4242
import java.net.URISyntaxException;
43-
import java.util.Arrays;
4443
import java.util.ArrayList;
44+
import java.util.Arrays;
4545
import java.util.HashMap;
4646
import java.util.List;
4747
import java.util.stream.Collectors;
@@ -113,8 +113,7 @@ public String showBootstrapIndexMapping(
113113
@CliOption(key = {"limit"}, unspecifiedDefaultValue = "-1", help = "Limit rows to be displayed") Integer limit,
114114
@CliOption(key = {"sortBy"}, unspecifiedDefaultValue = "", help = "Sorting Field") final String sortByField,
115115
@CliOption(key = {"desc"}, unspecifiedDefaultValue = "false", help = "Ordering") final boolean descending,
116-
@CliOption(key = {"headeronly"}, unspecifiedDefaultValue = "false", help = "Print Header Only")
117-
final boolean headerOnly) {
116+
@CliOption(key = {"headeronly"}, unspecifiedDefaultValue = "false", help = "Print Header Only") final boolean headerOnly) {
118117

119118
if (partitionPath.isEmpty() && !fileIds.isEmpty()) {
120119
throw new IllegalStateException("PartitionPath is mandatory when passing fileIds.");

hudi-cli/src/main/java/org/apache/hudi/cli/commands/CleansCommand.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ public String showCleans(
7171
List<Comparable[]> rows = new ArrayList<>();
7272
for (HoodieInstant clean : cleans) {
7373
HoodieCleanMetadata cleanMetadata =
74-
TimelineMetadataUtils.deserializeHoodieCleanMetadata(timeline.getInstantDetails(clean).get());
75-
rows.add(new Comparable[]{clean.getTimestamp(), cleanMetadata.getEarliestCommitToRetain(),
76-
cleanMetadata.getTotalFilesDeleted(), cleanMetadata.getTimeTakenInMillis()});
74+
TimelineMetadataUtils.deserializeHoodieCleanMetadata(timeline.getInstantDetails(clean).get());
75+
rows.add(new Comparable[] {clean.getTimestamp(), cleanMetadata.getEarliestCommitToRetain(),
76+
cleanMetadata.getTotalFilesDeleted(), cleanMetadata.getTimeTakenInMillis()});
7777
}
7878

7979
TableHeader header =
@@ -85,7 +85,8 @@ public String showCleans(
8585
}
8686

8787
@CliCommand(value = "clean showpartitions", help = "Show partition level details of a clean")
88-
public String showCleanPartitions(@CliOption(key = {"clean"}, help = "clean to show") final String instantTime,
88+
public String showCleanPartitions(
89+
@CliOption(key = {"clean"}, help = "clean to show") final String instantTime,
8990
@CliOption(key = {"limit"}, help = "Limit commits", unspecifiedDefaultValue = "-1") final Integer limit,
9091
@CliOption(key = {"sortBy"}, help = "Sorting Field", unspecifiedDefaultValue = "") final String sortByField,
9192
@CliOption(key = {"desc"}, help = "Ordering", unspecifiedDefaultValue = "false") final boolean descending,
@@ -122,13 +123,14 @@ public String showCleanPartitions(@CliOption(key = {"clean"}, help = "clean to s
122123
}
123124

124125
@CliCommand(value = "cleans run", help = "run clean")
125-
public String runClean(@CliOption(key = "sparkMemory", unspecifiedDefaultValue = "4G",
126-
help = "Spark executor memory") final String sparkMemory,
127-
@CliOption(key = "propsFilePath", help = "path to properties file on localfs or dfs with configurations for hoodie client for cleaning",
128-
unspecifiedDefaultValue = "") final String propsFilePath,
129-
@CliOption(key = "hoodieConfigs", help = "Any configuration that can be set in the properties file can be passed here in the form of an array",
130-
unspecifiedDefaultValue = "") final String[] configs,
131-
@CliOption(key = "sparkMaster", unspecifiedDefaultValue = "", help = "Spark Master ") String master) throws IOException, InterruptedException, URISyntaxException {
126+
public String runClean(
127+
@CliOption(key = "sparkMemory", unspecifiedDefaultValue = "4G",
128+
help = "Spark executor memory") final String sparkMemory,
129+
@CliOption(key = "propsFilePath", help = "path to properties file on localfs or dfs with configurations for hoodie client for cleaning",
130+
unspecifiedDefaultValue = "") final String propsFilePath,
131+
@CliOption(key = "hoodieConfigs", help = "Any configuration that can be set in the properties file can be passed here in the form of an array",
132+
unspecifiedDefaultValue = "") final String[] configs,
133+
@CliOption(key = "sparkMaster", unspecifiedDefaultValue = "", help = "Spark Master ") String master) throws IOException, InterruptedException, URISyntaxException {
132134
boolean initialized = HoodieCLI.initConf();
133135
HoodieCLI.initFS(initialized);
134136
HoodieTableMetaClient metaClient = HoodieCLI.getTableMetaClient();

hudi-cli/src/main/java/org/apache/hudi/cli/commands/ClusteringCommand.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.apache.hudi.common.table.HoodieTableMetaClient;
2626
import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;
2727
import org.apache.hudi.utilities.UtilHelpers;
28+
2829
import org.apache.log4j.LogManager;
2930
import org.apache.log4j.Logger;
3031
import org.apache.spark.launcher.SparkLauncher;
@@ -33,6 +34,7 @@
3334
import org.springframework.shell.core.annotation.CliCommand;
3435
import org.springframework.shell.core.annotation.CliOption;
3536
import org.springframework.stereotype.Component;
37+
3638
import scala.collection.JavaConverters;
3739

3840
@Component

hudi-cli/src/main/java/org/apache/hudi/cli/commands/CommitsCommand.java

Lines changed: 57 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -68,23 +68,23 @@ private String printCommits(HoodieDefaultTimeline timeline,
6868
final List<Comparable[]> rows = new ArrayList<>();
6969

7070
final List<HoodieInstant> commits = timeline.getCommitsTimeline().filterCompletedInstants()
71-
.getInstants().collect(Collectors.toList());
71+
.getInstants().collect(Collectors.toList());
7272
// timeline can be read from multiple files. So sort is needed instead of reversing the collection
7373
Collections.sort(commits, HoodieInstant.COMPARATOR.reversed());
7474

7575
for (int i = 0; i < commits.size(); i++) {
7676
final HoodieInstant commit = commits.get(i);
7777
final HoodieCommitMetadata commitMetadata = HoodieCommitMetadata.fromBytes(
78-
timeline.getInstantDetails(commit).get(),
79-
HoodieCommitMetadata.class);
80-
rows.add(new Comparable[]{commit.getTimestamp(),
81-
commitMetadata.fetchTotalBytesWritten(),
82-
commitMetadata.fetchTotalFilesInsert(),
83-
commitMetadata.fetchTotalFilesUpdated(),
84-
commitMetadata.fetchTotalPartitionsWritten(),
85-
commitMetadata.fetchTotalRecordsWritten(),
86-
commitMetadata.fetchTotalUpdateRecordsWritten(),
87-
commitMetadata.fetchTotalWriteErrors()});
78+
timeline.getInstantDetails(commit).get(),
79+
HoodieCommitMetadata.class);
80+
rows.add(new Comparable[] {commit.getTimestamp(),
81+
commitMetadata.fetchTotalBytesWritten(),
82+
commitMetadata.fetchTotalFilesInsert(),
83+
commitMetadata.fetchTotalFilesUpdated(),
84+
commitMetadata.fetchTotalPartitionsWritten(),
85+
commitMetadata.fetchTotalRecordsWritten(),
86+
commitMetadata.fetchTotalUpdateRecordsWritten(),
87+
commitMetadata.fetchTotalWriteErrors()});
8888
}
8989

9090
final Map<String, Function<Object, String>> fieldNameToConverterMap = new HashMap<>();
@@ -93,47 +93,47 @@ private String printCommits(HoodieDefaultTimeline timeline,
9393
});
9494

9595
final TableHeader header = new TableHeader()
96-
.addTableHeaderField(HoodieTableHeaderFields.HEADER_COMMIT_TIME)
97-
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_BYTES_WRITTEN)
98-
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_FILES_ADDED)
99-
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_FILES_UPDATED)
100-
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_PARTITIONS_WRITTEN)
101-
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_RECORDS_WRITTEN)
102-
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_UPDATE_RECORDS_WRITTEN)
103-
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_ERRORS);
96+
.addTableHeaderField(HoodieTableHeaderFields.HEADER_COMMIT_TIME)
97+
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_BYTES_WRITTEN)
98+
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_FILES_ADDED)
99+
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_FILES_UPDATED)
100+
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_PARTITIONS_WRITTEN)
101+
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_RECORDS_WRITTEN)
102+
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_UPDATE_RECORDS_WRITTEN)
103+
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_ERRORS);
104104

105105
return HoodiePrintHelper.print(header, fieldNameToConverterMap, sortByField, descending,
106-
limit, headerOnly, rows, tempTableName);
106+
limit, headerOnly, rows, tempTableName);
107107
}
108108

109109
private String printCommitsWithMetadata(HoodieDefaultTimeline timeline,
110-
final Integer limit, final String sortByField,
111-
final boolean descending,
112-
final boolean headerOnly,
113-
final String tempTableName) throws IOException {
110+
final Integer limit, final String sortByField,
111+
final boolean descending,
112+
final boolean headerOnly,
113+
final String tempTableName) throws IOException {
114114
final List<Comparable[]> rows = new ArrayList<>();
115115

116116
final List<HoodieInstant> commits = timeline.getCommitsTimeline().filterCompletedInstants()
117-
.getInstants().collect(Collectors.toList());
117+
.getInstants().collect(Collectors.toList());
118118
// timeline can be read from multiple files. So sort is needed instead of reversing the collection
119119
Collections.sort(commits, HoodieInstant.COMPARATOR.reversed());
120120

121121
for (int i = 0; i < commits.size(); i++) {
122122
final HoodieInstant commit = commits.get(i);
123123
final HoodieCommitMetadata commitMetadata = HoodieCommitMetadata.fromBytes(
124-
timeline.getInstantDetails(commit).get(),
125-
HoodieCommitMetadata.class);
124+
timeline.getInstantDetails(commit).get(),
125+
HoodieCommitMetadata.class);
126126

127127
for (Map.Entry<String, List<HoodieWriteStat>> partitionWriteStat :
128-
commitMetadata.getPartitionToWriteStats().entrySet()) {
128+
commitMetadata.getPartitionToWriteStats().entrySet()) {
129129
for (HoodieWriteStat hoodieWriteStat : partitionWriteStat.getValue()) {
130-
rows.add(new Comparable[]{ commit.getAction(), commit.getTimestamp(), hoodieWriteStat.getPartitionPath(),
131-
hoodieWriteStat.getFileId(), hoodieWriteStat.getPrevCommit(), hoodieWriteStat.getNumWrites(),
132-
hoodieWriteStat.getNumInserts(), hoodieWriteStat.getNumDeletes(),
133-
hoodieWriteStat.getNumUpdateWrites(), hoodieWriteStat.getTotalWriteErrors(),
134-
hoodieWriteStat.getTotalLogBlocks(), hoodieWriteStat.getTotalCorruptLogBlock(),
135-
hoodieWriteStat.getTotalRollbackBlocks(), hoodieWriteStat.getTotalLogRecords(),
136-
hoodieWriteStat.getTotalUpdatedRecordsCompacted(), hoodieWriteStat.getTotalWriteBytes()
130+
rows.add(new Comparable[] {commit.getAction(), commit.getTimestamp(), hoodieWriteStat.getPartitionPath(),
131+
hoodieWriteStat.getFileId(), hoodieWriteStat.getPrevCommit(), hoodieWriteStat.getNumWrites(),
132+
hoodieWriteStat.getNumInserts(), hoodieWriteStat.getNumDeletes(),
133+
hoodieWriteStat.getNumUpdateWrites(), hoodieWriteStat.getTotalWriteErrors(),
134+
hoodieWriteStat.getTotalLogBlocks(), hoodieWriteStat.getTotalCorruptLogBlock(),
135+
hoodieWriteStat.getTotalRollbackBlocks(), hoodieWriteStat.getTotalLogRecords(),
136+
hoodieWriteStat.getTotalUpdatedRecordsCompacted(), hoodieWriteStat.getTotalWriteBytes()
137137
});
138138
}
139139
}
@@ -162,7 +162,7 @@ private String printCommitsWithMetadata(HoodieDefaultTimeline timeline,
162162
.addTableHeaderField(HoodieTableHeaderFields.HEADER_TOTAL_BYTES_WRITTEN);
163163

164164
return HoodiePrintHelper.print(header, new HashMap<>(), sortByField, descending,
165-
limit, headerOnly, rows, tempTableName);
165+
limit, headerOnly, rows, tempTableName);
166166
}
167167

168168
@CliCommand(value = "commits show", help = "Show the commits")
@@ -182,30 +182,26 @@ public String showCommits(
182182
HoodieActiveTimeline activeTimeline = HoodieCLI.getTableMetaClient().getActiveTimeline();
183183
if (includeExtraMetadata) {
184184
return printCommitsWithMetadata(activeTimeline, limit, sortByField, descending, headerOnly, exportTableName);
185-
} else {
185+
} else {
186186
return printCommits(activeTimeline, limit, sortByField, descending, headerOnly, exportTableName);
187187
}
188188
}
189189

190190
@CliCommand(value = "commits showarchived", help = "Show the archived commits")
191191
public String showArchivedCommits(
192-
@CliOption(key = {"includeExtraMetadata"}, help = "Include extra metadata",
193-
unspecifiedDefaultValue = "false") final boolean includeExtraMetadata,
194-
@CliOption(key = {"createView"}, mandatory = false, help = "view name to store output table",
195-
unspecifiedDefaultValue = "") final String exportTableName,
196-
@CliOption(key = {"startTs"}, mandatory = false, help = "start time for commits, default: now - 10 days")
192+
@CliOption(key = {"includeExtraMetadata"}, help = "Include extra metadata",
193+
unspecifiedDefaultValue = "false") final boolean includeExtraMetadata,
194+
@CliOption(key = {"createView"}, mandatory = false, help = "view name to store output table",
195+
unspecifiedDefaultValue = "") final String exportTableName,
196+
@CliOption(key = {"startTs"}, mandatory = false, help = "start time for commits, default: now - 10 days")
197197
String startTs,
198-
@CliOption(key = {"endTs"}, mandatory = false, help = "end time for commits, default: now - 1 day")
198+
@CliOption(key = {"endTs"}, mandatory = false, help = "end time for commits, default: now - 1 day")
199199
String endTs,
200-
@CliOption(key = {"limit"}, mandatory = false, help = "Limit commits", unspecifiedDefaultValue = "-1")
201-
final Integer limit,
202-
@CliOption(key = {"sortBy"}, help = "Sorting Field", unspecifiedDefaultValue = "")
203-
final String sortByField,
204-
@CliOption(key = {"desc"}, help = "Ordering", unspecifiedDefaultValue = "false")
205-
final boolean descending,
206-
@CliOption(key = {"headeronly"}, help = "Print Header Only", unspecifiedDefaultValue = "false")
207-
final boolean headerOnly)
208-
throws IOException {
200+
@CliOption(key = {"limit"}, mandatory = false, help = "Limit commits", unspecifiedDefaultValue = "-1") final Integer limit,
201+
@CliOption(key = {"sortBy"}, help = "Sorting Field", unspecifiedDefaultValue = "") final String sortByField,
202+
@CliOption(key = {"desc"}, help = "Ordering", unspecifiedDefaultValue = "false") final boolean descending,
203+
@CliOption(key = {"headeronly"}, help = "Print Header Only", unspecifiedDefaultValue = "false") final boolean headerOnly)
204+
throws IOException {
209205
if (StringUtils.isNullOrEmpty(startTs)) {
210206
startTs = CommitUtil.getTimeDaysAgo(10);
211207
}
@@ -218,7 +214,7 @@ public String showArchivedCommits(
218214
HoodieDefaultTimeline timelineRange = archivedTimeline.findInstantsInRange(startTs, endTs);
219215
if (includeExtraMetadata) {
220216
return printCommitsWithMetadata(timelineRange, limit, sortByField, descending, headerOnly, exportTableName);
221-
} else {
217+
} else {
222218
return printCommits(timelineRange, limit, sortByField, descending, headerOnly, exportTableName);
223219
}
224220
} finally {
@@ -228,13 +224,14 @@ public String showArchivedCommits(
228224
}
229225

230226
@CliCommand(value = "commit rollback", help = "Rollback a commit")
231-
public String rollbackCommit(@CliOption(key = {"commit"}, help = "Commit to rollback") final String instantTime,
227+
public String rollbackCommit(
228+
@CliOption(key = {"commit"}, help = "Commit to rollback") final String instantTime,
232229
@CliOption(key = {"sparkProperties"}, help = "Spark Properties File Path") final String sparkPropertiesPath,
233230
@CliOption(key = "sparkMaster", unspecifiedDefaultValue = "", help = "Spark Master") String master,
234231
@CliOption(key = "sparkMemory", unspecifiedDefaultValue = "4G",
235-
help = "Spark executor memory") final String sparkMemory,
232+
help = "Spark executor memory") final String sparkMemory,
236233
@CliOption(key = "rollbackUsingMarkers", unspecifiedDefaultValue = "false",
237-
help = "Enabling marker based rollback") final String rollbackUsingMarkers)
234+
help = "Enabling marker based rollback") final String rollbackUsingMarkers)
238235
throws Exception {
239236
HoodieActiveTimeline activeTimeline = HoodieCLI.getTableMetaClient().getActiveTimeline();
240237
HoodieTimeline completedTimeline = activeTimeline.getCommitsTimeline().filterCompletedInstants();
@@ -455,9 +452,9 @@ public String syncCommits(@CliOption(key = {"path"}, help = "Path of the table t
455452
* */
456453
private Option<HoodieInstant> getCommitForInstant(HoodieTimeline timeline, String instantTime) throws IOException {
457454
List<HoodieInstant> instants = Arrays.asList(
458-
new HoodieInstant(false, HoodieTimeline.COMMIT_ACTION, instantTime),
459-
new HoodieInstant(false, HoodieTimeline.REPLACE_COMMIT_ACTION, instantTime),
460-
new HoodieInstant(false, HoodieTimeline.DELTA_COMMIT_ACTION, instantTime));
455+
new HoodieInstant(false, HoodieTimeline.COMMIT_ACTION, instantTime),
456+
new HoodieInstant(false, HoodieTimeline.REPLACE_COMMIT_ACTION, instantTime),
457+
new HoodieInstant(false, HoodieTimeline.DELTA_COMMIT_ACTION, instantTime));
461458

462459
Option<HoodieInstant> hoodieInstant = Option.fromJavaOptional(instants.stream().filter(timeline::containsInstant).findAny());
463460

@@ -471,7 +468,7 @@ private Option<HoodieCommitMetadata> getHoodieCommitMetadata(HoodieTimeline time
471468
HoodieReplaceCommitMetadata.class));
472469
}
473470
return Option.of(HoodieCommitMetadata.fromBytes(timeline.getInstantDetails(hoodieInstant.get()).get(),
474-
HoodieCommitMetadata.class));
471+
HoodieCommitMetadata.class));
475472
}
476473

477474
return Option.empty();

0 commit comments

Comments
 (0)