sahilTakiar commented on a change in pull request #595: HDFS-14304: High lock contention on
hdfsHashMutex in libhdfs
URL: https://github.com/apache/hadoop/pull/595#discussion_r267096318
##########
File path: hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/libhdfs/jni_helper.c
##########
@@ -534,6 +545,21 @@ JNIEnv* getJNIEnv(void)
state->env = getGlobalJNIEnv();
mutexUnlock(&jvmMutex);
+
+ if (!jclassesInitialized) {
+ mutexLock(&jclassInitMutex);
+ if (!jclassesInitialized) {
+ jthrowable jthr = NULL;
+ jthr = initCachedClasses(state->env);
+ if (jthr) {
+ printExceptionAndFree(state->env, jthr, PRINT_EXC_ALL,
+ "initCachedClasses failed");
+ return NULL;
Review comment:
Yeah, fixed. I think the one above is okay; the cleanup is dependent on `ThreadLocalState`
being created.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-issues-help@hadoop.apache.org
|