increase concurrency
--------------------
Key: HIVE-1557
URL: https://issues.apache.org/jira/browse/HIVE-1557
Project: Hadoop Hive
Issue Type: Improvement
Components: Query Processor
Reporter: Namit Jain
Copying Joy's comment from https://issues.apache.org/jira/browse/HIVE-1293
a little bummed that locks need to be held for entire query execution. that
could mean a writer blocking readers for hours.
hive's query plans seem to be of two distinct stages:
1. read a bunch of stuff, compute intermediate/final data
2. move final data into output locations
ie. - a single query never reads what it writes (into a final output location).
even if #1 and #2 are mingled today - they can easily be put in order.
in that sense - we only need to get shared locks for all read entities involved
in #1 to begin with. once phase #1 is done, we can drop all the read locks and
get the exclusive locks for all the write entities in #2, perform #2 and quit.
that way exclusive locks are held for a very short duration. i think this
scheme is similarly deadlock free (now there are two independent lock
acquire/release phases - and each of them can lock stuff in lex. order).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.