wangyong9999 commented on code in PR #282:
URL: https://github.com/apache/paimon-cpp/pull/282#discussion_r3932269550


##########
src/paimon/core/operation/scan_context.cpp:
##########
@@ -178,13 +179,14 @@ Result<std::unique_ptr<ScanContext>> 
ScanContextBuilder::Finish() {
     if (impl_->path_.empty()) {
         return Status::Invalid("cannot scan with empty table path");
     }
+    std::shared_ptr<Executor> executor =
+        impl_->executor_ ? impl_->executor_ : GetGlobalDefaultExecutor();

Review Comment:
   One concrete failure mode is `FileStoreScan::ReadFileEntries()`: it submits 
manifest work to the context executor and then blocks in `CollectAll()`. If all 
global workers are already running scans, every worker can wait for child work 
queued to the same pool and deadlock. Please keep the fallback lazy but private 
(`CreateDefaultExecutor()` in `Finish()`), while leaving `Reset()` null; that 
removes the eager thread creation without changing executor isolation.



-- 
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]

Reply via email to