Hi Everyone, I'm experiencing a threading issue with the Hive client where I want to run multiple queries on the same JVM.
The problem I'm having is that org.apache.hadoop.hive.ql.Driver#run (line 907) has the following few lines of code : synchronized (compileMonitor) { ret = compile(command); } The compileMonitor is a static so it blocks all threads even though I'm using different instances of the Driver class. I could explicitly call Driver#compile then Driver#execute to avoid the synchronized block but I don't know if it's serving a special purpose. Does anyone know why that synchronized block is there and if its really necessary ? Thanks, Kris