apache / doris

Apache Doris is an easy-to-use, high performance and unified analytics database.
https://doris.apache.org
Apache License 2.0
12.78k stars 3.29k forks source link

[Bug] IcebergScanNode throws exception "Split size must be > 0: 0" #44573

Open wenwj0 opened 3 hours ago

wenwj0 commented 3 hours ago

Search before asking

Version

Doris 2.1.6

What's Wrong?

After I upgrade doris from 2.1.5 to 2.1.6, I occasionally encountered an exception when querying iceberg table.

image

The exception may be thrown in org.apache.iceberg.util.TableScanUtil

public static CloseableIterable<FileScanTask> splitFiles(CloseableIterable<FileScanTask> tasks, long splitSize) {
        Preconditions.checkArgument(splitSize > 0L, "Split size must be > 0: %s", splitSize);
        Iterable<FileScanTask> splitTasks = FluentIterable.from(tasks).transformAndConcat((input) -> {
            return input.split(splitSize);
        });
        return CloseableIterable.combine(splitTasks, tasks);
    }

What You Expected?

Expect no exeception

How to Reproduce?

QuerySQL is

SELECT * FROM 
doris_hive_xxx.xxx.ods_xxx_event_iceberg_day 
LIMIT 10;

Anything Else?

No response

Are you willing to submit PR?

Code of Conduct

wenwj0 commented 3 hours ago

@morningman PTAL, I guess it maybe related to #38311