You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@impala.apache.org by "Michael Ho (Code Review)" <ge...@cloudera.org> on 2016/03/03 04:59:24 UTC

[Impala-CR](cdh5-trunk) IMPALA-561: Allow multiple callbacks in a thread resource pool.

Michael Ho has uploaded a new change for review.

  http://gerrit.cloudera.org:8080/2430

Change subject: IMPALA-561: Allow multiple callbacks in a thread resource pool.
......................................................................

IMPALA-561: Allow multiple callbacks in a thread resource pool.

Previously, thread resource manager only supports a single callback
for each resource pool. The callback is invoked when a thread token
is available. This mostly works as scan node is the only consumer
and there is usually one scan node in a plan fragment. As shown in
IMPALA-3064 and IMPALA-561, it's possible to generate a plan fragment
with more than one scan nodes. In which case, one of the scan nodes
may be running with single thread and in debug builds, a DCHECK will
be hit.

This change fixes the problem by allowing more than one callbacks
in a given resource pool. The thread resource manager will go through
all the registered callbacks in round robin fashion.

Change-Id: Iddfff1feef0b59d407994ad3bc560166acbfa623
---
M be/src/exec/hdfs-scan-node.cc
M be/src/exec/hdfs-scan-node.h
M be/src/runtime/thread-resource-mgr-test.cc
M be/src/runtime/thread-resource-mgr.cc
M be/src/runtime/thread-resource-mgr.h
M testdata/workloads/functional-query/queries/QueryTest/single-node-nlj.test
6 files changed, 144 insertions(+), 30 deletions(-)


  git pull ssh://gerrit.cloudera.org:29418/Impala refs/changes/30/2430/1
-- 
To view, visit http://gerrit.cloudera.org:8080/2430
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iddfff1feef0b59d407994ad3bc560166acbfa623
Gerrit-PatchSet: 1
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Michael Ho <kw...@cloudera.com>