[jira] [Updated] (HIVE-10984) After lock table shared explicit lock, lock database exclusive should fail.

2015-06-16 Thread Aihua Xu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HIVE-10984?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aihua Xu updated HIVE-10984:

Description: 
The following statements will fail since tb1 and its database are locked in 
shared, and exclusive lock on database fails as expected.
{noformat}
use db1; 
lock table tbl1 shared; 
lock database db1 exclusive;
{noformat}

While the following similar statements will pass since the current database is 
different.
{noformat}
use default; 
lock table db1.tbl1 shared; 
lock database db1 exclusive;
{noformat}

Seems both case should fail.
Also check the test case lockneg_try_lock_db_in_use.q to add more reasonable 
failure cases.


  was:
There is an issue in ZooKeeperHiveLockManager.java, in which when locking 
exclusively on a table, it doesn't lock the database object (which does if it's 
from the query).
The current implementation of ZooKeeperHiveLockManager will lock the the object 
and the parents, and won't check the children when it tries to acquire lock on 
certain object. Then it will cause the following scenario which should not be 
allowed but right now it goes through.

{noformat}
use default; 
lock table db1.tbl1 shared; 
lock database db1 exclusive;
{noformat}

Also check the test case lockneg_try_lock_db_in_use.q to add more reasonable 
failure cases.



 After lock table shared explicit lock, lock database exclusive should 
 fail.
 ---

 Key: HIVE-10984
 URL: https://issues.apache.org/jira/browse/HIVE-10984
 Project: Hive
  Issue Type: Bug
  Components: Locking
Reporter: Aihua Xu
Assignee: Aihua Xu

 The following statements will fail since tb1 and its database are locked in 
 shared, and exclusive lock on database fails as expected.
 {noformat}
 use db1; 
 lock table tbl1 shared; 
 lock database db1 exclusive;
 {noformat}
 While the following similar statements will pass since the current database 
 is different.
 {noformat}
 use default; 
 lock table db1.tbl1 shared; 
 lock database db1 exclusive;
 {noformat}
 Seems both case should fail.
 Also check the test case lockneg_try_lock_db_in_use.q to add more reasonable 
 failure cases.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HIVE-10984) After lock table shared explicit lock, lock database exclusive should fail.

2015-06-16 Thread Aihua Xu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HIVE-10984?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aihua Xu updated HIVE-10984:

Description: 
The following statements will fail since tb1 and its database are locked in 
shared, and exclusive lock on database fails as expected.
{noformat}
use db1; 
lock table tbl1 shared; 
lock database db1 exclusive;
{noformat}

While the following similar statements will pass just because the current 
database is different.
{noformat}
use default; 
lock table db1.tbl1 shared; 
lock database db1 exclusive;
{noformat}

Seems both case should fail.
Also check the test case lockneg_try_lock_db_in_use.q to add more reasonable 
failure cases.


  was:
The following statements will fail since tb1 and its database are locked in 
shared, and exclusive lock on database fails as expected.
{noformat}
use db1; 
lock table tbl1 shared; 
lock database db1 exclusive;
{noformat}

While the following similar statements will pass since the current database is 
different.
{noformat}
use default; 
lock table db1.tbl1 shared; 
lock database db1 exclusive;
{noformat}

Seems both case should fail.
Also check the test case lockneg_try_lock_db_in_use.q to add more reasonable 
failure cases.



 After lock table shared explicit lock, lock database exclusive should 
 fail.
 ---

 Key: HIVE-10984
 URL: https://issues.apache.org/jira/browse/HIVE-10984
 Project: Hive
  Issue Type: Bug
  Components: Locking
Reporter: Aihua Xu
Assignee: Aihua Xu

 The following statements will fail since tb1 and its database are locked in 
 shared, and exclusive lock on database fails as expected.
 {noformat}
 use db1; 
 lock table tbl1 shared; 
 lock database db1 exclusive;
 {noformat}
 While the following similar statements will pass just because the current 
 database is different.
 {noformat}
 use default; 
 lock table db1.tbl1 shared; 
 lock database db1 exclusive;
 {noformat}
 Seems both case should fail.
 Also check the test case lockneg_try_lock_db_in_use.q to add more reasonable 
 failure cases.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HIVE-10984) After lock table shared explicit lock, lock database exclusive should fail.

2015-06-16 Thread Aihua Xu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HIVE-10984?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aihua Xu updated HIVE-10984:

Description: 
The following statements will fail since tb1 and its database are locked in 
shared, and exclusive lock on database fails as expected.
{noformat}
use db1; 
lock table db1.tbl1 shared; 
lock database db1 exclusive;
{noformat}

While the following similar statements will pass just because the current 
database is different.
{noformat}
use default; 
lock table db1.tbl1 shared; 
lock database db1 exclusive;
{noformat}

Seems both case should fail.
Also check the test case lockneg_try_lock_db_in_use.q to add more reasonable 
failure cases.


  was:
The following statements will fail since tb1 and its database are locked in 
shared, and exclusive lock on database fails as expected.
{noformat}
use db1; 
lock table tbl1 shared; 
lock database db1 exclusive;
{noformat}

While the following similar statements will pass just because the current 
database is different.
{noformat}
use default; 
lock table db1.tbl1 shared; 
lock database db1 exclusive;
{noformat}

Seems both case should fail.
Also check the test case lockneg_try_lock_db_in_use.q to add more reasonable 
failure cases.



 After lock table shared explicit lock, lock database exclusive should 
 fail.
 ---

 Key: HIVE-10984
 URL: https://issues.apache.org/jira/browse/HIVE-10984
 Project: Hive
  Issue Type: Bug
  Components: Locking
Reporter: Aihua Xu
Assignee: Aihua Xu

 The following statements will fail since tb1 and its database are locked in 
 shared, and exclusive lock on database fails as expected.
 {noformat}
 use db1; 
 lock table db1.tbl1 shared; 
 lock database db1 exclusive;
 {noformat}
 While the following similar statements will pass just because the current 
 database is different.
 {noformat}
 use default; 
 lock table db1.tbl1 shared; 
 lock database db1 exclusive;
 {noformat}
 Seems both case should fail.
 Also check the test case lockneg_try_lock_db_in_use.q to add more reasonable 
 failure cases.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (HIVE-10984) After lock table shared explicit lock, lock database exclusive should fail.

2015-06-16 Thread Aihua Xu (JIRA)

 [ 
https://issues.apache.org/jira/browse/HIVE-10984?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aihua Xu updated HIVE-10984:

Summary: After lock table shared explicit lock, lock database exclusive 
should fail.  (was: Lock table explicit lock command doesn't lock the 
database object.)

 After lock table shared explicit lock, lock database exclusive should 
 fail.
 ---

 Key: HIVE-10984
 URL: https://issues.apache.org/jira/browse/HIVE-10984
 Project: Hive
  Issue Type: Bug
  Components: Locking
Reporter: Aihua Xu
Assignee: Aihua Xu

 There is an issue in ZooKeeperHiveLockManager.java, in which when locking 
 exclusively on a table, it doesn't lock the database object (which does if 
 it's from the query).
 The current implementation of ZooKeeperHiveLockManager will lock the the 
 object and the parents, and won't check the children when it tries to acquire 
 lock on certain object. Then it will cause the following scenario which 
 should not be allowed but right now it goes through.
 {noformat}
 use default; 
 lock table db1.tbl1 shared; 
 lock database db1 exclusive;
 {noformat}
 Also check the test case lockneg_try_lock_db_in_use.q to add more reasonable 
 failure cases.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)