You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@quickstep.apache.org by ji...@apache.org on 2016/12/06 18:37:47 UTC
incubator-quickstep git commit: Fixes
Repository: incubator-quickstep
Updated Branches:
refs/heads/LIP-time-decomposition 63dcccf8c -> e92cacd29
Fixes
Project: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/commit/e92cacd2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/tree/e92cacd2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-quickstep/diff/e92cacd2
Branch: refs/heads/LIP-time-decomposition
Commit: e92cacd2951fb0ea50ba69f2bf3c2b1c11d2033e
Parents: 63dcccf
Author: Jianqiao Zhu <ji...@cs.wisc.edu>
Authored: Tue Dec 6 12:37:31 2016 -0600
Committer: Jianqiao Zhu <ji...@cs.wisc.edu>
Committed: Tue Dec 6 12:37:31 2016 -0600
----------------------------------------------------------------------
cli/QuickstepCli.cpp | 5 ++++-
relational_operators/HashJoinOperator.cpp | 9 +++++----
utility/EventProfiler.hpp | 4 +++-
3 files changed, 12 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/e92cacd2/cli/QuickstepCli.cpp
----------------------------------------------------------------------
diff --git a/cli/QuickstepCli.cpp b/cli/QuickstepCli.cpp
index 841e22d..4082f64 100644
--- a/cli/QuickstepCli.cpp
+++ b/cli/QuickstepCli.cpp
@@ -365,6 +365,7 @@ int main(int argc, char* argv[]) {
}
start = std::chrono::steady_clock::now();
+ quickstep::simple_profiler.clear();
auto *event_container = quickstep::simple_profiler.getContainer();
event_container->startEvent("overall");
QueryExecutionUtil::ConstructAndSendAdmitRequestMessage(
@@ -411,7 +412,9 @@ int main(int argc, char* argv[]) {
std::cerr << "\n" << dag_visualizer->toDOT() << "\n";
}
if (!quickstep::FLAGS_profile_output.empty()) {
- std::ofstream ofs(quickstep::FLAGS_profile_output, std::ios::out);
+ std::ofstream ofs(
+ quickstep::FLAGS_profile_output + std::to_string(query_processor->query_id()),
+ std::ios::out);
quickstep::simple_profiler.writeToStream(ofs);
ofs.close();
}
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/e92cacd2/relational_operators/HashJoinOperator.cpp
----------------------------------------------------------------------
diff --git a/relational_operators/HashJoinOperator.cpp b/relational_operators/HashJoinOperator.cpp
index df900ea..e1455a9 100644
--- a/relational_operators/HashJoinOperator.cpp
+++ b/relational_operators/HashJoinOperator.cpp
@@ -450,12 +450,13 @@ void HashInnerJoinWorkOrder::execute() {
storage_manager_->getBlock(block_id_, probe_relation_));
const TupleStorageSubBlock &probe_store = probe_block->getTupleStorageSubBlock();
std::unique_ptr<ValueAccessor> probe_accessor(probe_store.createValueAccessor());
+ auto *container = simple_profiler.getContainer();
// Probe the LIPFilters to generate an existence bitmap for probe_accessor, if enabled.
std::unique_ptr<TupleIdSequence> existence_map;
std::unique_ptr<ValueAccessor> base_accessor;
if (lip_filter_adaptive_prober_ != nullptr) {
- auto *event_lip = simple_profiler.getContainer()->getEventLine("ProbeLIP");
+ auto *event_lip = container->getEventLine("ProbeLIP");
event_lip->emplace_back();
base_accessor.reset(probe_accessor.release());
existence_map.reset(
@@ -465,7 +466,7 @@ void HashInnerJoinWorkOrder::execute() {
event_lip->back().endEvent();
}
- auto *event_hash = simple_profiler.getContainer()->getEventLine("ProbeHash");
+ auto *event_hash = container->getEventLine("ProbeHash");
event_hash->emplace_back();
PairsOfVectorsJoinedTuplesCollector collector;
@@ -627,9 +628,9 @@ void HashInnerJoinWorkOrder::execute() {
// avoided by keeping checked-out MutableBlockReferences across iterations
// of this loop, but that would get messy when combined with partitioning.
output_destination_->bulkInsertTuplesFromValueAccessors(accessor_attribute_map);
-
- event_hash->back().endEvent();
}
+
+ event_hash->back().endEvent();
}
void HashSemiJoinWorkOrder::execute() {
http://git-wip-us.apache.org/repos/asf/incubator-quickstep/blob/e92cacd2/utility/EventProfiler.hpp
----------------------------------------------------------------------
diff --git a/utility/EventProfiler.hpp b/utility/EventProfiler.hpp
index f856f00..c28f49b 100644
--- a/utility/EventProfiler.hpp
+++ b/utility/EventProfiler.hpp
@@ -123,7 +123,9 @@ class EventProfiler {
for (const auto &thread_ctx : thread_map_) {
for (const auto &event_group : thread_ctx.second.events) {
for (const auto &event_info : event_group.second) {
- CHECK(event_info.is_finished) << "Unfinished profiling event";
+ CHECK(event_info.is_finished)
+ << "Unfinished profiling event at thread " << thread_id
+ << ": " << event_group.first;
os << std::setprecision(12)
<< event_id << ","