[HUDI-687] Stop incremental reader on RO table when there is a pending compaction (#1396)
This commit is contained in:
@@ -112,7 +112,7 @@ public class HoodieDefaultTimeline implements HoodieTimeline {
|
||||
}
|
||||
|
||||
@Override
|
||||
public HoodieTimeline getCommitsAndCompactionTimeline() {
|
||||
public HoodieDefaultTimeline getCommitsAndCompactionTimeline() {
|
||||
Set<String> validActions = CollectionUtils.createSet(COMMIT_ACTION, DELTA_COMMIT_ACTION, COMPACTION_ACTION);
|
||||
return new HoodieDefaultTimeline(instants.stream().filter(s -> validActions.contains(s.getAction())), details);
|
||||
}
|
||||
@@ -136,6 +136,13 @@ public class HoodieDefaultTimeline implements HoodieTimeline {
|
||||
details);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HoodieDefaultTimeline findInstantsBefore(String instantTime) {
|
||||
return new HoodieDefaultTimeline(instants.stream()
|
||||
.filter(s -> HoodieTimeline.compareTimestamps(s.getTimestamp(), instantTime, LESSER)),
|
||||
details);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HoodieTimeline filter(Predicate<HoodieInstant> filter) {
|
||||
return new HoodieDefaultTimeline(instants.stream().filter(filter), details);
|
||||
|
||||
@@ -143,6 +143,11 @@ public interface HoodieTimeline extends Serializable {
|
||||
*/
|
||||
HoodieTimeline findInstantsAfter(String instantTime, int numCommits);
|
||||
|
||||
/**
|
||||
* Create a new Timeline with all instants before specified time.
|
||||
*/
|
||||
HoodieTimeline findInstantsBefore(String instantTime);
|
||||
|
||||
/**
|
||||
* Custom Filter of Instants.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user