(also been reading up on this code a bit just now)

That's weird. It seems to be using TThreadPoolServer and that seems to just 
service all requests from a single connection in one thread. (and uses the same 
processor I assume that seems to initialize the session state in the interface 
constructor)

Are ur execute calls happening on the same connection?
________________________________
From: Min Zhou [mailto:coderp...@gmail.com]
Sent: Monday, March 09, 2009 8:03 PM
To: hive-user@hadoop.apache.org
Subject: thread cofinement session state

Hi list,
   I found each invoke of HiveServer's execute method run in different threads. 
Those threads which execute a HSQL query(not a client connection may execute 
several pieces of queries), have not their own session state. when I call 
SessionState.get(), it will return null beacuse session state on this thread 
hadnot been constructed before. see also fragment of ExecDriver.java:

  public static String getRealFiles(Configuration conf) {
    // fill in local files to be added to the task environment
    SessionState ss = SessionState.get();  // return ss will get null !!!
   ...
  }

Is it a bug?

Thanks,
Min
--
My research interests are distributed systems, parallel computing and bytecode 
based virtual machine.

http://coderplay.javaeye.com

Reply via email to