RocMarshal commented on a change in pull request #3813:
URL: https://github.com/apache/hudi/pull/3813#discussion_r750877073
##########
File path:
hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/compact/CompactionTriggerStrategy.java
##########
@@ -18,13 +18,114 @@
package org.apache.hudi.table.action.compact;
+import java.text.ParseException;
+import org.apache.hudi.common.table.timeline.HoodieActiveTimeline;
+import org.apache.hudi.common.util.collection.Pair;
+import org.apache.hudi.exception.HoodieCompactionException;
+import org.apache.log4j.LogManager;
+import org.apache.log4j.Logger;
+
+@SuppressWarnings("checkstyle:LineLength")
public enum CompactionTriggerStrategy {
- // trigger compaction when reach N delta commits
- NUM_COMMITS,
- // trigger compaction when time elapsed > N seconds since last compaction
- TIME_ELAPSED,
- // trigger compaction when both NUM_COMMITS and TIME_ELAPSED are satisfied
- NUM_AND_TIME,
- // trigger compaction when NUM_COMMITS or TIME_ELAPSED is satisfied
- NUM_OR_TIME
+
+ // trigger compaction when reach N delta commits
+ NUM_COMMITS {
+ @Override
+ public boolean compactable(
+ long compactInlineMaxDeltaCommits,
+ long compactInlineMaxDeltaSeconds,
+ Pair<Integer, String> latestDeltaCommitInfo,
+ String instantTime) {
+
+ boolean compactable = compactInlineMaxDeltaCommits <=
latestDeltaCommitInfo.getLeft();
+ if (compactable) {
+ LOG.info(String.format("The delta commits >= %s, trigger compaction
scheduler.", compactInlineMaxDeltaCommits));
+ }
+ return compactable;
+ }
+ },
+ // trigger compaction when time elapsed > N seconds since last compaction
+ TIME_ELAPSED {
+ @Override
+ public boolean compactable(
+ long compactInlineMaxDeltaCommits,
+ long compactInlineMaxDeltaSeconds,
+ Pair<Integer, String> latestDeltaCommitInfo,
+ String instantTime) {
+
+ boolean compactable = compactInlineMaxDeltaSeconds
+ <= (parsedToSeconds(instantTime) -
parsedToSeconds(latestDeltaCommitInfo.getRight()));
Review comment:
It's a good idea to putting (parsedToSeconds(instantTime) -
parsedToSeconds(latestDeltaCommitInfo.getRight()) into a variable . Thanks
@yanghua for the suggestion.
[ERROR]
src/main/java/org/apache/hudi/table/action/compact/CompactionTriggerStrategy.java:[56,58]
(whitespace) OperatorWrap: '<=' 应另起一行。
[ERROR]
src/main/java/org/apache/hudi/table/action/compact/CompactionTriggerStrategy.java:[73,93]
(whitespace) OperatorWrap: '&&' 应另起一行。
[ERROR]
src/main/java/org/apache/hudi/table/action/compact/CompactionTriggerStrategy.java:[74,40]
(whitespace) OperatorWrap: '<=' 应另起一行。
[ERROR]
src/main/java/org/apache/hudi/table/action/compact/CompactionTriggerStrategy.java:[92,93]
(whitespace) OperatorWrap: '||' 应另起一行。
[ERROR]
src/main/java/org/apache/hudi/table/action/compact/CompactionTriggerStrategy.java:[93,40]
(whitespace) OperatorWrap: '<=' 应另起一行。
It's the hint message when the '<=' position was at the line end. Should we
find other drafts to resolve the case ?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]