github-actions[bot] commented on code in PR #69683:
URL: https://github.com/apache/doris/pull/69683#discussion_r4399108235
##########
fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java:
##########
@@ -2622,22 +2624,27 @@ public Map<String, Action> getForceEagerAggHintMap() {
description = "If the number of partitions exceeds the threshold,
scan ranges will be got through batch "
+ "mode.",
needForward = true)
- public int numPartitionsInBatchMode = 1024;
+ public int numPartitionsInBatchMode = 1;
Review Comment:
[P2] Preserve the planning deadline for small MaxCompute scans
With this default, a MaxCompute scan over one selected partition now enters
`SplitAssignment.init()`, which aborts after about 30 seconds without a sample.
MaxCompute cannot publish that sample until
`TableReadSessionBuilder.buildBatchReadSession()` returns, and its read timeout
defaults to 120 seconds. A valid session creation taking 40 seconds therefore
changes from a successful synchronous scan to `Failed to get first split after
waiting for 30 seconds`, even with the default 900-second query timeout. This
happens before BE dispatch, so the new `INCOMPLETE` fetch retry does not help.
Reconcile the first-split deadline with the query/connector deadline before
enabling this path for small scans, and cover delayed initial production.
##########
be/src/exec/scan/split_source_connector.h:
##########
@@ -40,8 +41,10 @@ class SplitSourceConnector {
* Get the next scan range. has_next should be to true to fetch the next
scan range.
* @param has_next whether exists the next scan range
* @param range the obtained next scan range
+ * @param scanner_stop the caller's local stop signal, which can be set
without query cancellation
*/
- virtual Status get_next(bool* has_next, TFileRangeDesc* range) = 0;
+ virtual Status get_next(bool* has_next, TFileRangeDesc* range,
+ const std::atomic_bool* scanner_stop) = 0;
Review Comment:
[P1] Update the WAL test connector for the new virtual signature
`be/test/format/wal/wal_manager_test.cpp:50` still declares the two-argument
`get_next(...) override`, and `WalManagerTest::generate_scanner()` instantiates
that class at line 321. With this new pure virtual signature, the method no
longer overrides anything and the class is abstract, so the BE unit-test target
cannot compile (`be/test/CMakeLists.txt` includes `format/*.cpp` recursively).
Update this remaining override with the scanner-stop parameter too.
--
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]