This is an automated email from the ASF dual-hosted git repository.
lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-paimon.git
The following commit(s) were added to refs/heads/master by this push:
new 60d7ca193 [core] AppendOnlySplitGenerator skips the check of sequence
number overlap in UNAWARE mode to reduce invalid logs. (#2398)
60d7ca193 is described below
commit 60d7ca193ba0663a8d9387f7f0f5eff37c9794a1
Author: liming.1018 <[email protected]>
AuthorDate: Mon Nov 27 17:07:01 2023 +0800
[core] AppendOnlySplitGenerator skips the check of sequence number overlap
in UNAWARE mode to reduce invalid logs. (#2398)
---
.../java/org/apache/paimon/append/AppendOnlyCompactManager.java | 6 +++---
.../org/apache/paimon/table/source/AppendOnlySplitGenerator.java | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git
a/paimon-core/src/main/java/org/apache/paimon/append/AppendOnlyCompactManager.java
b/paimon-core/src/main/java/org/apache/paimon/append/AppendOnlyCompactManager.java
index a9edf0f42..58106e070 100644
---
a/paimon-core/src/main/java/org/apache/paimon/append/AppendOnlyCompactManager.java
+++
b/paimon-core/src/main/java/org/apache/paimon/append/AppendOnlyCompactManager.java
@@ -70,7 +70,7 @@ public class AppendOnlyCompactManager extends
CompactFutureManager {
CompactRewriter rewriter,
@Nullable CompactionMetrics metrics) {
this.executor = executor;
- this.toCompact = new TreeSet<>(fileComparator());
+ this.toCompact = new TreeSet<>(fileComparator(false));
this.toCompact.addAll(restored);
this.minFileNum = minFileNum;
this.maxFileNum = maxFileNum;
@@ -304,13 +304,13 @@ public class AppendOnlyCompactManager extends
CompactFutureManager {
* may be put after the new files, and this order will be disrupted. We
need to ensure this
* order, so we force the order by sequence.
*/
- public static Comparator<DataFileMeta> fileComparator() {
+ public static Comparator<DataFileMeta> fileComparator(boolean
ignoreOverlap) {
return (o1, o2) -> {
if (o1 == o2) {
return 0;
}
- if (isOverlap(o1, o2)) {
+ if (!ignoreOverlap && isOverlap(o1, o2)) {
LOG.warn(
String.format(
"There should no overlap in append files, but
Range1(%s, %s), Range2(%s, %s),"
diff --git
a/paimon-core/src/main/java/org/apache/paimon/table/source/AppendOnlySplitGenerator.java
b/paimon-core/src/main/java/org/apache/paimon/table/source/AppendOnlySplitGenerator.java
index e0ee8388d..002072a38 100644
---
a/paimon-core/src/main/java/org/apache/paimon/table/source/AppendOnlySplitGenerator.java
+++
b/paimon-core/src/main/java/org/apache/paimon/table/source/AppendOnlySplitGenerator.java
@@ -46,7 +46,7 @@ public class AppendOnlySplitGenerator implements
SplitGenerator {
@Override
public List<List<DataFileMeta>> splitForBatch(List<DataFileMeta> input) {
List<DataFileMeta> files = new ArrayList<>(input);
- files.sort(fileComparator());
+ files.sort(fileComparator(bucketMode == BucketMode.UNAWARE));
Function<DataFileMeta, Long> weightFunc = file ->
Math.max(file.fileSize(), openFileCost);
return BinPacking.packForOrdered(files, weightFunc, targetSplitSize);
}