suxiaogang223 opened a new pull request, #61825:
URL: https://github.com/apache/doris/pull/61825
### What problem does this PR solve?
Issue Number: N/A
Related PR: N/A
Problem Summary:
- Refactor Iceberg async batch split planning by extracting split production
into producer/sink abstractions.
- Keep existing SplitAssignment + SplitSource consumption path unchanged.
- Preserve current local async planning behavior while reserving a
distributed producer extension point.
### Release note
None
### Check List (For Author)
- Test: FE compile and test-compile
- Unit Test: Added/updated FE unit tests
(`LocalParallelPlanningSplitProducerTest`, `SplitAssignmentSinkTest`,
`IcebergScanNodeTest`)
- Note: surefire runtime execution is blocked in current local env due
existing fork startup issue (`@{argLine}` unresolved)
- Behavior changed: No
- Does this need documentation: No
### Main Changes
1. Introduce `PlanningSplitProducer` and `SplitSink` abstractions for
Iceberg planning split production.
2. Add `SplitAssignmentSink` to bridge producer output into existing
`SplitAssignment`.
3. Add `LocalParallelPlanningSplitProducer` with current FE local async
planning logic and idempotent stop.
4. Add placeholder `DistributedPlanningSplitProducer` for future distributed
planning.
5. Refactor `IcebergScanNode` to delegate `startSplit`, `isBatchMode`, and
`numApproximateSplits` through producer selection and manage producer lifecycle
in `stop()`.
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]