hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Hadoop Wiki] Update of "Hive/Locking" by NamitJain
Date Wed, 05 May 2010 23:35:00 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.

The "Hive/Locking" page has been changed by NamitJain.
http://wiki.apache.org/hadoop/Hive/Locking?action=diff&rev1=24&rev2=25

--------------------------------------------------

   * Call create( ) to create a node with pathname "/warehouse/T/read-". This is the lock
node used later in the protocol. Make sure to set the sequence and ephemeral flag.
   * Call getChildren( ) on the lock node without setting the watch flag.
   * If there is a child with a pathname starting with "write-" and a lower sequence number
than the one obtained, the lock cannot be acquired. Delete the node created in the first step
and return.
-  * For all parent znodes of T, call getChildren() without setting the watch flag.
-    * If there is a child with a pathname starting with "write-", the lock cannot be acquired.
Delete the node created in the first step and return.
   * Otherwise the lock is granted.
  
  The 'X' lock for table T is specified as follows:
   * Call create( ) to create a node with pathname "/warehouse/T/write-". This is the lock
node used later in the protocol. Make sure to set the sequence and ephemeral flag.
   * Call getChildren( ) on the lock node without setting the watch flag.
   * If there is a child with a pathname starting with "read-" or "write-" and a lower sequence
number than the one obtained, the lock cannot be acquired. Delete the node created in the
first step and return.
-  * For the parent znode of T, call getChildren() without setting the watch flag.
-    * If there is a child with a pathname starting with "read-" or "write-", the lock cannot
be acquired. Delete the node created in the first step and return.
-  * For all children znodes of T, call getChildren() without setting the watch flag.
-    * If there is a child with a pathname starting with "read-" or "write-", the lock cannot
be acquired. Delete the node created in the first step and return.
   * Otherwise the lock is granted.
  
  The proposed scheme starves the writers for readers. In case of long readers, it may lead
to starvation for writers.

Mime
View raw message