Detect when no work should be done because of lack of input data in cursors

This commit is contained in:
János Benjamin Antal 2023-01-19 10:43:07 +01:00
parent a0274bbdd9
commit 52baaf8030

View File

@ -193,6 +193,9 @@ class DistributedCreateNodeCursor : public Cursor {
SCOPED_PROFILE_OP("CreateNodeMF");
input_cursor_->PullMultiple(multi_frame, context);
auto *request_router = context.request_router;
if (!multi_frame.HasValidFrame()) {
return;
}
{
SCOPED_REQUEST_WAIT_PROFILE;
request_router->CreateVertices(NodeCreationInfoToRequests(context, multi_frame));
@ -2484,6 +2487,9 @@ class DistributedCreateExpandCursor : public Cursor {
void PullMultiple(MultiFrame &multi_frame, ExecutionContext &context) override {
SCOPED_PROFILE_OP("CreateExpandMF");
input_cursor_->PullMultiple(multi_frame, context);
if (!multi_frame.HasValidFrame()) {
return;
}
auto request_vertices = ExpandCreationInfoToRequests(multi_frame, context);
{
SCOPED_REQUEST_WAIT_PROFILE;