[
https://issues.apache.org/jira/browse/HIVE-11402?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thejas M Nair updated HIVE-11402:
---------------------------------
Description:
HiveServer2 currently allows concurrent queries to be run in a single session.
However, every HS2 session has an associated SessionState object, and the use
of SessionState in many places assumes that only one thread is using it, ie it
is not thread safe.
There are many places where SesssionState thread safety needs to be addressed,
and until then we should serialize all query execution for a single HS2
session. This problem can become more visible with HIVE-4239 now allowing
parallel query compilation.
Note that running queries in parallel for single session is not straightforward
with jdbc, you need to spawn another thread as the Statement.execute calls are
blocking. I believe ODBC has non blocking query execution API, and Hue is
another well known application that shares sessions for all queries that a user
runs.
was:
HiveServer2 currently allows concurrent queries to be run in a single session.
However, every HS2 session has an associated SessionState object, and the use
of SessionState in many places assumes that only one thread is using it, ie it
is not thread safe.
There are many places where SesssionState thread safety needs to be addressed,
and until then we should serialize all query execution for a single HS2
session.
Note that running queries in parallel for single session is not straightforward
with jdbc, you need to spawn another thread as the Statement.execute calls are
blocking. I believe ODBC has non blocking query execution API, and Hue is
another well known application that shares sessions for all queries that a user
runs.
> HS2 - disallow parallel query execution within a single Session
> ---------------------------------------------------------------
>
> Key: HIVE-11402
> URL: https://issues.apache.org/jira/browse/HIVE-11402
> Project: Hive
> Issue Type: Bug
> Reporter: Thejas M Nair
>
> HiveServer2 currently allows concurrent queries to be run in a single
> session. However, every HS2 session has an associated SessionState object,
> and the use of SessionState in many places assumes that only one thread is
> using it, ie it is not thread safe.
> There are many places where SesssionState thread safety needs to be
> addressed, and until then we should serialize all query execution for a
> single HS2 session. This problem can become more visible with HIVE-4239 now
> allowing parallel query compilation.
> Note that running queries in parallel for single session is not
> straightforward with jdbc, you need to spawn another thread as the
> Statement.execute calls are blocking. I believe ODBC has non blocking query
> execution API, and Hue is another well known application that shares sessions
> for all queries that a user runs.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)