message: Avoid taking global lock here since that lock might be destroyed before we exit the function
diff: @@ -292,10 +292,9 @@ public:
  void Execute() override {
  FinalizeHT(state, radix);
  - lock_guard<mutex> glock(state.lock);
  - parent.finished_tasks++;
  + auto finished_tasks = ++parent.finished_tasks;
  // finish the whole pipeline
  - if (parent.total_tasks == parent.finished_tasks) {
  + if (parent.total_tasks == finished_tasks) {
  parent.Finish();
  }
  }
  