You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by he...@apache.org on 2010/11/19 06:33:36 UTC

svn commit: r1036744 - in /hive/trunk: CHANGES.txt ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java ql/src/test/results/clientpositive/lock1.q.out ql/src/test/results/clientpositive/lock2.q.out

Author: heyongqiang
Date: Fri Nov 19 05:33:36 2010
New Revision: 1036744

URL: http://svn.apache.org/viewvc?rev=1036744&view=rev
Log:
HIVE-1796 dumps time at which lock was taken along with the queryid in show locks <T> extended (namit via He Yongqiang)

Modified:
    hive/trunk/CHANGES.txt
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
    hive/trunk/ql/src/test/results/clientpositive/lock1.q.out
    hive/trunk/ql/src/test/results/clientpositive/lock2.q.out

Modified: hive/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hive/trunk/CHANGES.txt?rev=1036744&r1=1036743&r2=1036744&view=diff
==============================================================================
--- hive/trunk/CHANGES.txt (original)
+++ hive/trunk/CHANGES.txt Fri Nov 19 05:33:36 2010
@@ -259,6 +259,9 @@ Trunk -  Unreleased
     HIVE-1783 optimize join code path in the scenario where there is 1 value for a key
     (Siying Dong via namit)
 
+    HIVE-1796 dumps time at which lock was taken along with the queryid in show locks <T> extended
+    (namit via He Yongqiang)
+
   OPTIMIZATIONS
 
   BUG FIXES

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java?rev=1036744&r1=1036743&r2=1036744&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/exec/DDLTask.java Fri Nov 19 05:33:36 2010
@@ -41,6 +41,7 @@ import java.util.Set;
 import java.util.SortedSet;
 import java.util.TreeSet;
 import java.util.Map.Entry;
+import java.lang.Long;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -1343,7 +1344,16 @@ public class DDLTask extends Task<DDLWor
         outStream.writeBytes(lock.getHiveLockMode().toString());
         if (isExt) {
           outStream.write(terminator);
-          outStream.writeBytes("QUERYID_LOCK:"+ lock.getHiveLockObject().getData());
+          String lockData = lock.getHiveLockObject().getData();
+          if (lockData != null) {
+            String[] lockDataArr = lockData.split(":");
+            if (lockDataArr.length == 1) {
+              outStream.writeBytes("QUERYID_LOCK:" + lockData);
+            }
+            else {
+              outStream.writeBytes("QUERYID_LOCK:" + lockDataArr[0] + " TIME : " + Long.parseLong(lockDataArr[1]));
+            }
+          }
         }
         outStream.write(terminator);
       }
@@ -1384,8 +1394,10 @@ public class DDLTask extends Task<DDLWor
     }
 
     Map<String, String> partSpec = lockTbl.getPartSpec();
+    String lockData = lockTbl.getQueryId() + ":" + String.valueOf(System.currentTimeMillis());
+
     if (partSpec == null) {
-      HiveLock lck = lockMgr.lock(new HiveLockObject(tbl, lockTbl.getQueryId()), mode, true);
+      HiveLock lck = lockMgr.lock(new HiveLockObject(tbl, lockData), mode, true);
       if (lck == null) {
         return 1;
       }
@@ -1396,7 +1408,7 @@ public class DDLTask extends Task<DDLWor
     if (par == null) {
       throw new HiveException("Partition " + partSpec + " for table " + tabName + " does not exist");
     }
-    HiveLock lck = lockMgr.lock(new HiveLockObject(par, lockTbl.getQueryId()), mode, true);
+    HiveLock lck = lockMgr.lock(new HiveLockObject(par, lockData), mode, true);
     if (lck == null) {
       return 1;
     }

Modified: hive/trunk/ql/src/test/results/clientpositive/lock1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/lock1.q.out?rev=1036744&r1=1036743&r2=1036744&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/lock1.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/lock1.q.out Fri Nov 19 05:33:36 2010
@@ -56,7 +56,7 @@ POSTHOOK: type: SHOWLOCKS
 POSTHOOK: Lineage: tstsrc.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
 POSTHOOK: Lineage: tstsrc.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
 default@tstsrc	SHARED
-QUERYID_LOCK:njain_20101104183131_7ee0480d-77f6-4bc2-8cec-26b808b026df	 
+QUERYID_LOCK:njain_20101116183333_f1267a1d-8cc2-4077-ab5d-380708a0494b TIME : 1289961194566	 
 PREHOOK: query: UNLOCK TABLE tstsrc
 PREHOOK: type: UNLOCKTABLE
 POSTHOOK: query: UNLOCK TABLE tstsrc

Modified: hive/trunk/ql/src/test/results/clientpositive/lock2.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/lock2.q.out?rev=1036744&r1=1036743&r2=1036744&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/lock2.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/lock2.q.out Fri Nov 19 05:33:36 2010
@@ -106,7 +106,7 @@ POSTHOOK: Lineage: tstsrc.value SIMPLE [
 POSTHOOK: Lineage: tstsrcpart PARTITION(ds=2008-04-08,hr=11).key SIMPLE [(srcpart)srcpart.FieldSchema(name:key, type:string, comment:default), ]
 POSTHOOK: Lineage: tstsrcpart PARTITION(ds=2008-04-08,hr=11).value SIMPLE [(srcpart)srcpart.FieldSchema(name:value, type:string, comment:default), ]
 default@tstsrcpart@ds=2008-04-08/hr=11	EXCLUSIVE
-QUERYID_LOCK:njain_20101105120303_b0e12da7-8ccf-4c7a-822f-166d35c6b6d4	 
+QUERYID_LOCK:njain_20101116183333_f625d313-c8ac-4ecf-87f8-ef6459651b9d TIME : 1289961212197	 
 PREHOOK: query: UNLOCK TABLE tstsrc
 PREHOOK: type: UNLOCKTABLE
 POSTHOOK: query: UNLOCK TABLE tstsrc