aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasily Gerasimov <UgnineSirdis@gmail.com>2022-04-08 22:52:40 +0300
committerVasily Gerasimov <UgnineSirdis@gmail.com>2022-04-08 22:52:40 +0300
commitdbdd644acbc825ce2c83b2746f02d4ebe869fbab (patch)
tree1ca125120aec66468504701ae04e81ea9b8fc847
parent1331b4eeb3379e6b60ee2bdec44c6394ee34be24 (diff)
downloadydb-dbdd644acbc825ce2c83b2746f02d4ebe869fbab.tar.gz
YQ-1004 Kick Compute Actor after reading data from source to make sure that we read all the data
Kick Compute Actor after reading data from source to make sure that we read all the data ref:de0ea033687c56d842dbf53f9957677aee65cd5b
-rw-r--r--ydb/library/yql/dq/actors/compute/dq_compute_actor_impl.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/ydb/library/yql/dq/actors/compute/dq_compute_actor_impl.h b/ydb/library/yql/dq/actors/compute/dq_compute_actor_impl.h
index f0c2582385..1e58957161 100644
--- a/ydb/library/yql/dq/actors/compute/dq_compute_actor_impl.h
+++ b/ydb/library/yql/dq/actors/compute/dq_compute_actor_impl.h
@@ -1248,6 +1248,13 @@ protected:
<< ". Buffer free space: " << freeSpace
<< ", read from source: " << space << " bytes, "
<< batch.size() << " rows, finished: " << finished);
+
+ if (!batch.empty()) {
+ // If we have read some data, we must run such reading again
+ // to process the case when source actor notified us about new data
+ // but we haven't read all of it.
+ ContinueExecute();
+ }
SourcePush(std::move(batch), source, space, finished);
}
}