Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix the wrong order of execution summary for list based executors #5242

Merged
merged 8 commits into from
Jul 4, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion dbms/src/Flash/Coprocessor/DAGContext.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ void DAGContext::addSubquery(const String & subquery_id, SubqueryForSet && subqu
subqueries.push_back(std::move(subqueries_for_sets));
}

std::unordered_map<String, BlockInputStreams> & DAGContext::getProfileStreamsMap()
std::map<String, BlockInputStreams> & DAGContext::getProfileStreamsMap()
{
return profile_streams_map;
}
Expand Down
6 changes: 4 additions & 2 deletions dbms/src/Flash/Coprocessor/DAGContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,7 @@ class DAGContext
}

void attachBlockIO(const BlockIO & io_);
std::unordered_map<String, BlockInputStreams> & getProfileStreamsMap();
std::map<String, BlockInputStreams> & getProfileStreamsMap();

std::unordered_map<String, std::vector<String>> & getExecutorIdToJoinIdMap();

Expand Down Expand Up @@ -349,7 +349,9 @@ class DAGContext
/// Hold io for correcting the destruction order.
BlockIO io;
/// profile_streams_map is a map that maps from executor_id to profile BlockInputStreams
std::unordered_map<String, BlockInputStreams> profile_streams_map;
/// The order of map.key is necessary for the executor summary of executor list which without executor_id.
/// It uses `${i}_${type}` as executor_id to ensure the order of map.keys is consistent.
std::map<String, BlockInputStreams> profile_streams_map;
/// executor_id_to_join_id_map is a map that maps executor id to all the join executor id of itself and all its children.
std::unordered_map<String, std::vector<String>> executor_id_to_join_id_map;
/// join_execute_info_map is a map that maps from join_probe_executor_id to JoinExecuteInfo
Expand Down