Skye Wanderman-Milne has uploaded a new change for review.

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

Change subject: IMPALA-3378: create single process-wide UdfExecutor jclass in 
HiveUdfCall
......................................................................

IMPALA-3378: create single process-wide UdfExecutor jclass in HiveUdfCall

This patch removes HiveUdfCall::JniContext::cl, as well as other JNI
constants, and replaces them with process-wide static singletons. It
then moves the initialization to a new HiveUdfCall::Init() method
which is once called in the main thread at the beginning of the
process, which is consistent with other uses of JniUtil. This avoids
calling JniUtil::LocalToGlobalRef() and appending to
JniUtil::global_refs_ from multiple threads.

In addition, this patch removes JniUtil::Cleanup(), since it was never
called.

Unfortunately I am not able to repro this bug so there is no test
case. However, I did manually verify that we do not call
LocalToGlobalRef() concurrently via a DCHECK, whereas we do without
this patch.

Change-Id: I8cd089e355d2ee2d5ace81f05b214272c05cf940
---
M be/src/exec/hbase-table-scanner.h
M be/src/exprs/hive-udf-call.cc
M be/src/exprs/hive-udf-call.h
M be/src/service/impalad-main.cc
M be/src/util/jni-util.cc
M be/src/util/jni-util.h
6 files changed, 47 insertions(+), 45 deletions(-)


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8cd089e355d2ee2d5ace81f05b214272c05cf940
Gerrit-PatchSet: 1
Gerrit-Project: Impala
Gerrit-Branch: cdh5-trunk
Gerrit-Owner: Skye Wanderman-Milne <[email protected]>

Reply via email to