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]>
