You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2014/11/26 01:29:58 UTC
hbase git commit: HBASE-12581 TestCellACLWithMultipleVersions failing
since task 5 HBASE-12404 (HBASE-12404 addendum)
Repository: hbase
Updated Branches:
refs/heads/master e6b430075 -> 24f19328e
HBASE-12581 TestCellACLWithMultipleVersions failing since task 5 HBASE-12404 (HBASE-12404 addendum)
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/24f19328
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/24f19328
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/24f19328
Branch: refs/heads/master
Commit: 24f19328eb4a756b95cb0ab13d089479afc7626d
Parents: e6b4300
Author: stack <st...@apache.org>
Authored: Tue Nov 25 16:29:53 2014 -0800
Committer: stack <st...@apache.org>
Committed: Tue Nov 25 16:29:53 2014 -0800
----------------------------------------------------------------------
.../access/TestCellACLWithMultipleVersions.java | 747 +++++++++----------
1 file changed, 362 insertions(+), 385 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/24f19328/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestCellACLWithMultipleVersions.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestCellACLWithMultipleVersions.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestCellACLWithMultipleVersions.java
index 9484698..f1d6ba0 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestCellACLWithMultipleVersions.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestCellACLWithMultipleVersions.java
@@ -33,6 +33,8 @@ import org.apache.hadoop.hbase.HColumnDescriptor;
import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.TableNotFoundException;
import org.apache.hadoop.hbase.client.Admin;
+import org.apache.hadoop.hbase.client.Connection;
+import org.apache.hadoop.hbase.client.ConnectionFactory;
import org.apache.hadoop.hbase.client.Delete;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HTable;
@@ -250,24 +252,23 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
verifyAllowed(new AccessTestAction() {
@Override
public Object run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- // with rw ACL for "user1"
- Put p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q1, ZERO);
- p.add(TEST_FAMILY1, TEST_Q2, ZERO);
- p.setACL(user1.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- t.put(p);
- // with rw ACL for "user1"
- p = new Put(TEST_ROW2);
- p.add(TEST_FAMILY1, TEST_Q1, ZERO);
- p.add(TEST_FAMILY1, TEST_Q2, ZERO);
- p.setACL(user1.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- t.put(p);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ // with rw ACL for "user1"
+ Put p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q1, ZERO);
+ p.add(TEST_FAMILY1, TEST_Q2, ZERO);
+ p.setACL(user1.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ t.put(p);
+ // with rw ACL for "user1"
+ p = new Put(TEST_ROW2);
+ p.add(TEST_FAMILY1, TEST_Q1, ZERO);
+ p.add(TEST_FAMILY1, TEST_Q2, ZERO);
+ p.setACL(user1.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ t.put(p);
+ }
}
return null;
}
@@ -276,27 +277,26 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
verifyAllowed(new AccessTestAction() {
@Override
public Object run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- // with rw ACL for "user1" and "user2"
- Put p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q1, ZERO);
- p.add(TEST_FAMILY1, TEST_Q2, ZERO);
- Map<String, Permission> perms = new HashMap<String, Permission>();
- perms.put(user1.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- perms.put(user2.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- p.setACL(perms);
- t.put(p);
- // with rw ACL for "user1" and "user2"
- p = new Put(TEST_ROW2);
- p.add(TEST_FAMILY1, TEST_Q1, ZERO);
- p.add(TEST_FAMILY1, TEST_Q2, ZERO);
- p.setACL(perms);
- t.put(p);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ // with rw ACL for "user1" and "user2"
+ Put p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q1, ZERO);
+ p.add(TEST_FAMILY1, TEST_Q2, ZERO);
+ Map<String, Permission> perms = new HashMap<String, Permission>();
+ perms.put(user1.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ perms.put(user2.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ p.setACL(perms);
+ t.put(p);
+ // with rw ACL for "user1" and "user2"
+ p = new Put(TEST_ROW2);
+ p.add(TEST_FAMILY1, TEST_Q1, ZERO);
+ p.add(TEST_FAMILY1, TEST_Q2, ZERO);
+ p.setACL(perms);
+ t.put(p);
+ }
}
return null;
}
@@ -307,14 +307,13 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
user1.runAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Delete d = new Delete(TEST_ROW1);
- d.deleteColumns(TEST_FAMILY1, TEST_Q1);
- d.deleteColumns(TEST_FAMILY1, TEST_Q2);
- t.delete(d);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Delete d = new Delete(TEST_ROW1);
+ d.deleteColumns(TEST_FAMILY1, TEST_Q1);
+ d.deleteColumns(TEST_FAMILY1, TEST_Q2);
+ t.delete(d);
+ }
}
return null;
}
@@ -324,17 +323,16 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
user2.runAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Delete d = new Delete(TEST_ROW2);
- d.deleteColumns(TEST_FAMILY1, TEST_Q1);
- d.deleteColumns(TEST_FAMILY1, TEST_Q2);
- t.delete(d);
- fail("user2 should not be allowed to delete the row");
- } catch (Exception e) {
-
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Delete d = new Delete(TEST_ROW2);
+ d.deleteColumns(TEST_FAMILY1, TEST_Q1);
+ d.deleteColumns(TEST_FAMILY1, TEST_Q2);
+ t.delete(d);
+ fail("user2 should not be allowed to delete the row");
+ } catch (Exception e) {
+
+ }
}
return null;
}
@@ -343,13 +341,12 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
user1.runAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Delete d = new Delete(TEST_ROW2);
- d.deleteFamily(TEST_FAMILY1);
- t.delete(d);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Delete d = new Delete(TEST_ROW2);
+ d.deleteFamily(TEST_FAMILY1);
+ t.delete(d);
+ }
}
return null;
}
@@ -364,21 +361,20 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
verifyAllowed(new AccessTestAction() {
@Override
public Object run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- // Store read only ACL at a future time
- Put p = new Put(TEST_ROW).add(TEST_FAMILY1, TEST_Q1,
- EnvironmentEdgeManager.currentTime() + 1000000,
- ZERO);
- p.setACL(USER_OTHER.getShortName(), new Permission(Permission.Action.READ));
- t.put(p);
- // Store a read write ACL without a timestamp, server will use current time
- p = new Put(TEST_ROW).add(TEST_FAMILY1, TEST_Q2, ONE);
- p.setACL(USER_OTHER.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- t.put(p);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ // Store a read write ACL without a timestamp, server will use current time
+ Put p = new Put(TEST_ROW).add(TEST_FAMILY1, TEST_Q2, ONE);
+ p.setACL(USER_OTHER.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ t.put(p);
+ LOG.info("Stored at current time");
+ // Store read only ACL at a future time
+ p = new Put(TEST_ROW).add(TEST_FAMILY1, TEST_Q1,
+ EnvironmentEdgeManager.currentTime() + 1000000, ZERO);
+ p.setACL(USER_OTHER.getShortName(), new Permission(Permission.Action.READ));
+ t.put(p);
+ }
}
return null;
}
@@ -390,11 +386,10 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
@Override
public Object run() throws Exception {
Get get = new Get(TEST_ROW).addColumn(TEST_FAMILY1, TEST_Q1);
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- return t.get(get).listCells();
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ return t.get(get).listCells();
+ }
}
}
};
@@ -403,11 +398,10 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
@Override
public Object run() throws Exception {
Get get = new Get(TEST_ROW).addColumn(TEST_FAMILY1, TEST_Q2);
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- return t.get(get).listCells();
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ return t.get(get).listCells();
+ }
}
}
};
@@ -423,11 +417,10 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
@Override
public Object run() throws Exception {
Delete delete = new Delete(TEST_ROW).deleteFamily(TEST_FAMILY1);
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- t.delete(delete);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ t.delete(delete);
+ }
}
return null;
}
@@ -449,43 +442,42 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
USER_OWNER.runAs(new AccessTestAction() {
@Override
public Object run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- // This version (TS = 123) with rw ACL for USER_OTHER and USER_OTHER2
- Put p = new Put(TEST_ROW);
- p.add(TEST_FAMILY1, TEST_Q1, 123L, ZERO);
- p.add(TEST_FAMILY1, TEST_Q2, 123L, ZERO);
- Map<String, Permission> perms = new HashMap<String, Permission>();
- perms.put(USER_OTHER.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- perms.put(USER_OTHER2.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- p.setACL(perms);
- t.put(p);
-
- // This version (TS = 125) with rw ACL for USER_OTHER
- p = new Put(TEST_ROW);
- p.add(TEST_FAMILY1, TEST_Q1, 125L, ONE);
- p.add(TEST_FAMILY1, TEST_Q2, 125L, ONE);
- perms = new HashMap<String, Permission>();
- perms.put(USER_OTHER.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- p.setACL(perms);
- t.put(p);
-
- // This version (TS = 127) with rw ACL for USER_OTHER
- p = new Put(TEST_ROW);
- p.add(TEST_FAMILY1, TEST_Q1, 127L, TWO);
- p.add(TEST_FAMILY1, TEST_Q2, 127L, TWO);
- perms = new HashMap<String, Permission>();
- perms.put(USER_OTHER.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- p.setACL(perms);
- t.put(p);
-
- return null;
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ // This version (TS = 123) with rw ACL for USER_OTHER and USER_OTHER2
+ Put p = new Put(TEST_ROW);
+ p.add(TEST_FAMILY1, TEST_Q1, 123L, ZERO);
+ p.add(TEST_FAMILY1, TEST_Q2, 123L, ZERO);
+ Map<String, Permission> perms = new HashMap<String, Permission>();
+ perms.put(USER_OTHER.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ perms.put(USER_OTHER2.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ p.setACL(perms);
+ t.put(p);
+
+ // This version (TS = 125) with rw ACL for USER_OTHER
+ p = new Put(TEST_ROW);
+ p.add(TEST_FAMILY1, TEST_Q1, 125L, ONE);
+ p.add(TEST_FAMILY1, TEST_Q2, 125L, ONE);
+ perms = new HashMap<String, Permission>();
+ perms.put(USER_OTHER.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ p.setACL(perms);
+ t.put(p);
+
+ // This version (TS = 127) with rw ACL for USER_OTHER
+ p = new Put(TEST_ROW);
+ p.add(TEST_FAMILY1, TEST_Q1, 127L, TWO);
+ p.add(TEST_FAMILY1, TEST_Q2, 127L, TWO);
+ perms = new HashMap<String, Permission>();
+ perms.put(USER_OTHER.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ p.setACL(perms);
+ t.put(p);
+
+ return null;
+ }
}
}
});
@@ -494,13 +486,12 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
USER_OTHER2.runAs(new AccessTestAction() {
@Override
public Object run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Delete d = new Delete(TEST_ROW, 124L);
- d.deleteColumns(TEST_FAMILY1, TEST_Q1);
- t.delete(d);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Delete d = new Delete(TEST_ROW, 124L);
+ d.deleteColumns(TEST_FAMILY1, TEST_Q1);
+ t.delete(d);
+ }
}
return null;
}
@@ -510,13 +501,12 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
USER_OTHER2.runAs(new AccessTestAction() {
@Override
public Object run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Delete d = new Delete(TEST_ROW);
- d.deleteColumns(TEST_FAMILY1, TEST_Q2, 124L);
- t.delete(d);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Delete d = new Delete(TEST_ROW);
+ d.deleteColumns(TEST_FAMILY1, TEST_Q2, 124L);
+ t.delete(d);
+ }
}
return null;
}
@@ -536,53 +526,52 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
verifyAllowed(new AccessTestAction() {
@Override
public Object run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Map<String, Permission> permsU1andOwner = new HashMap<String, Permission>();
- permsU1andOwner.put(user1.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- permsU1andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- Map<String, Permission> permsU2andOwner = new HashMap<String, Permission>();
- permsU2andOwner.put(user2.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- permsU2andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- Put p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q1, 123, ZERO);
- p.setACL(permsU1andOwner);
- t.put(p);
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q2, 123, ZERO);
- p.setACL(permsU2andOwner);
- t.put(p);
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY2, TEST_Q1, 123, ZERO);
- p.add(TEST_FAMILY2, TEST_Q2, 123, ZERO);
- p.setACL(permsU2andOwner);
- t.put(p);
-
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY2, TEST_Q1, 125, ZERO);
- p.add(TEST_FAMILY2, TEST_Q2, 125, ZERO);
- p.setACL(permsU1andOwner);
- t.put(p);
-
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q1, 127, ZERO);
- p.setACL(permsU2andOwner);
- t.put(p);
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q2, 127, ZERO);
- p.setACL(permsU1andOwner);
- t.put(p);
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY2, TEST_Q1, 129, ZERO);
- p.add(TEST_FAMILY2, TEST_Q2, 129, ZERO);
- p.setACL(permsU1andOwner);
- t.put(p);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Map<String, Permission> permsU1andOwner = new HashMap<String, Permission>();
+ permsU1andOwner.put(user1.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ permsU1andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ Map<String, Permission> permsU2andOwner = new HashMap<String, Permission>();
+ permsU2andOwner.put(user2.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ permsU2andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ Put p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q1, 123, ZERO);
+ p.setACL(permsU1andOwner);
+ t.put(p);
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q2, 123, ZERO);
+ p.setACL(permsU2andOwner);
+ t.put(p);
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY2, TEST_Q1, 123, ZERO);
+ p.add(TEST_FAMILY2, TEST_Q2, 123, ZERO);
+ p.setACL(permsU2andOwner);
+ t.put(p);
+
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY2, TEST_Q1, 125, ZERO);
+ p.add(TEST_FAMILY2, TEST_Q2, 125, ZERO);
+ p.setACL(permsU1andOwner);
+ t.put(p);
+
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q1, 127, ZERO);
+ p.setACL(permsU2andOwner);
+ t.put(p);
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q2, 127, ZERO);
+ p.setACL(permsU1andOwner);
+ t.put(p);
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY2, TEST_Q1, 129, ZERO);
+ p.add(TEST_FAMILY2, TEST_Q2, 129, ZERO);
+ p.setACL(permsU1andOwner);
+ t.put(p);
+ }
}
return null;
}
@@ -593,15 +582,14 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
user1.runAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Delete d = new Delete(TEST_ROW1);
- d.deleteColumn(TEST_FAMILY1, TEST_Q1, 123);
- d.deleteColumn(TEST_FAMILY1, TEST_Q2);
- d.deleteFamilyVersion(TEST_FAMILY2, 125);
- t.delete(d);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Delete d = new Delete(TEST_ROW1);
+ d.deleteColumn(TEST_FAMILY1, TEST_Q1, 123);
+ d.deleteColumn(TEST_FAMILY1, TEST_Q2);
+ d.deleteFamilyVersion(TEST_FAMILY2, 125);
+ t.delete(d);
+ }
}
return null;
}
@@ -610,18 +598,17 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
user2.runAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Delete d = new Delete(TEST_ROW1, 127);
- d.deleteColumns(TEST_FAMILY1, TEST_Q1);
- d.deleteColumns(TEST_FAMILY1, TEST_Q2);
- d.deleteFamily(TEST_FAMILY2, 129);
- t.delete(d);
- fail("user2 can not do the delete");
- } catch (Exception e) {
-
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Delete d = new Delete(TEST_ROW1, 127);
+ d.deleteColumns(TEST_FAMILY1, TEST_Q1);
+ d.deleteColumns(TEST_FAMILY1, TEST_Q2);
+ d.deleteFamily(TEST_FAMILY2, 129);
+ t.delete(d);
+ fail("user2 can not do the delete");
+ } catch (Exception e) {
+
+ }
}
return null;
}
@@ -641,37 +628,36 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
verifyAllowed(new AccessTestAction() {
@Override
public Object run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Map<String, Permission> permsU1andOwner = new HashMap<String, Permission>();
- permsU1andOwner.put(user1.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- permsU1andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- Map<String, Permission> permsU2andOwner = new HashMap<String, Permission>();
- permsU2andOwner.put(user2.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- permsU2andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- Put p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q1, 123, ZERO);
- p.setACL(permsU1andOwner);
- t.put(p);
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q2, 123, ZERO);
- p.setACL(permsU2andOwner);
- t.put(p);
-
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q1, 127, ZERO);
- p.setACL(permsU2andOwner);
- t.put(p);
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q2, 127, ZERO);
- p.setACL(permsU1andOwner);
- t.put(p);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Map<String, Permission> permsU1andOwner = new HashMap<String, Permission>();
+ permsU1andOwner.put(user1.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ permsU1andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ Map<String, Permission> permsU2andOwner = new HashMap<String, Permission>();
+ permsU2andOwner.put(user2.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ permsU2andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ Put p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q1, 123, ZERO);
+ p.setACL(permsU1andOwner);
+ t.put(p);
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q2, 123, ZERO);
+ p.setACL(permsU2andOwner);
+ t.put(p);
+
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q1, 127, ZERO);
+ p.setACL(permsU2andOwner);
+ t.put(p);
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q2, 127, ZERO);
+ p.setACL(permsU1andOwner);
+ t.put(p);
+ }
}
return null;
}
@@ -681,15 +667,14 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
user1.runAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Increment inc = new Increment(TEST_ROW1);
- inc.setTimeRange(0, 123);
- inc.addColumn(TEST_FAMILY1, TEST_Q1, 2L);
- t.increment(inc);
- t.incrementColumnValue(TEST_ROW1, TEST_FAMILY1, TEST_Q2, 1L);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Increment inc = new Increment(TEST_ROW1);
+ inc.setTimeRange(0, 123);
+ inc.addColumn(TEST_FAMILY1, TEST_Q1, 2L);
+ t.increment(inc);
+ t.incrementColumnValue(TEST_ROW1, TEST_FAMILY1, TEST_Q2, 1L);
+ }
}
return null;
}
@@ -698,17 +683,16 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
user2.runAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Increment inc = new Increment(TEST_ROW1);
- inc.setTimeRange(0, 127);
- inc.addColumn(TEST_FAMILY1, TEST_Q2, 2L);
- t.increment(inc);
- fail();
- } catch (Exception e) {
-
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Increment inc = new Increment(TEST_ROW1);
+ inc.setTimeRange(0, 127);
+ inc.addColumn(TEST_FAMILY1, TEST_Q2, 2L);
+ t.increment(inc);
+ fail();
+ } catch (Exception e) {
+
+ }
}
return null;
}
@@ -728,37 +712,36 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
verifyAllowed(new AccessTestAction() {
@Override
public Object run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Map<String, Permission> permsU1andOwner = new HashMap<String, Permission>();
- permsU1andOwner.put(user1.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- permsU1andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- Map<String, Permission> permsU2andOwner = new HashMap<String, Permission>();
- permsU2andOwner.put(user2.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- permsU2andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- Put p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q1, 123, ZERO);
- p.setACL(permsU1andOwner);
- t.put(p);
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q2, 123, ZERO);
- p.setACL(permsU2andOwner);
- t.put(p);
-
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q1, 127, ZERO);
- p.setACL(permsU2andOwner);
- t.put(p);
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q2, 127, ZERO);
- p.setACL(permsU1andOwner);
- t.put(p);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Map<String, Permission> permsU1andOwner = new HashMap<String, Permission>();
+ permsU1andOwner.put(user1.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ permsU1andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ Map<String, Permission> permsU2andOwner = new HashMap<String, Permission>();
+ permsU2andOwner.put(user2.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ permsU2andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ Put p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q1, 123, ZERO);
+ p.setACL(permsU1andOwner);
+ t.put(p);
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q2, 123, ZERO);
+ p.setACL(permsU2andOwner);
+ t.put(p);
+
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q1, 127, ZERO);
+ p.setACL(permsU2andOwner);
+ t.put(p);
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q2, 127, ZERO);
+ p.setACL(permsU1andOwner);
+ t.put(p);
+ }
}
return null;
}
@@ -770,16 +753,15 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
user1.runAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Put p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q1, 125, ZERO);
- p.add(TEST_FAMILY1, TEST_Q2, ZERO);
- p.setACL(user2.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- t.put(p);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Put p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q1, 125, ZERO);
+ p.add(TEST_FAMILY1, TEST_Q2, ZERO);
+ p.setACL(user2.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ t.put(p);
+ }
}
return null;
}
@@ -789,18 +771,17 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
user2.runAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Put p = new Put(TEST_ROW1);
- // column Q1 covers version at 123 fr which user2 do not have permission
- p.add(TEST_FAMILY1, TEST_Q1, 124, ZERO);
- p.add(TEST_FAMILY1, TEST_Q2, ZERO);
- t.put(p);
- fail();
- } catch (Exception e) {
-
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Put p = new Put(TEST_ROW1);
+ // column Q1 covers version at 123 fr which user2 do not have permission
+ p.add(TEST_FAMILY1, TEST_Q1, 124, ZERO);
+ p.add(TEST_FAMILY1, TEST_Q2, ZERO);
+ t.put(p);
+ fail();
+ } catch (Exception e) {
+
+ }
}
return null;
}
@@ -818,49 +799,48 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
verifyAllowed(new AccessTestAction() {
@Override
public Object run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Map<String, Permission> permsU1andOwner = new HashMap<String, Permission>();
- permsU1andOwner.put(user1.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- permsU1andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- Map<String, Permission> permsU1andU2andOwner = new HashMap<String, Permission>();
- permsU1andU2andOwner.put(user1.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- permsU1andU2andOwner.put(user2.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- permsU1andU2andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- Map<String, Permission> permsU1andU2 = new HashMap<String, Permission>();
- permsU1andU2.put(user1.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
- permsU1andU2.put(user2.getShortName(), new Permission(Permission.Action.READ,
- Permission.Action.WRITE));
-
- Put p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q1, 120, ZERO);
- p.add(TEST_FAMILY1, TEST_Q2, 120, ZERO);
- p.setACL(permsU1andU2andOwner);
- t.put(p);
-
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q1, 123, ZERO);
- p.add(TEST_FAMILY1, TEST_Q2, 123, ZERO);
- p.setACL(permsU1andOwner);
- t.put(p);
-
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q1, 127, ZERO);
- p.setACL(permsU1andU2);
- t.put(p);
-
- p = new Put(TEST_ROW1);
- p.add(TEST_FAMILY1, TEST_Q2, 127, ZERO);
- p.setACL(user2.getShortName(), new Permission(Permission.Action.READ));
- t.put(p);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Map<String, Permission> permsU1andOwner = new HashMap<String, Permission>();
+ permsU1andOwner.put(user1.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ permsU1andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ Map<String, Permission> permsU1andU2andOwner = new HashMap<String, Permission>();
+ permsU1andU2andOwner.put(user1.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ permsU1andU2andOwner.put(user2.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ permsU1andU2andOwner.put(USER_OWNER.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ Map<String, Permission> permsU1andU2 = new HashMap<String, Permission>();
+ permsU1andU2.put(user1.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+ permsU1andU2.put(user2.getShortName(), new Permission(Permission.Action.READ,
+ Permission.Action.WRITE));
+
+ Put p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q1, 120, ZERO);
+ p.add(TEST_FAMILY1, TEST_Q2, 120, ZERO);
+ p.setACL(permsU1andU2andOwner);
+ t.put(p);
+
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q1, 123, ZERO);
+ p.add(TEST_FAMILY1, TEST_Q2, 123, ZERO);
+ p.setACL(permsU1andOwner);
+ t.put(p);
+
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q1, 127, ZERO);
+ p.setACL(permsU1andU2);
+ t.put(p);
+
+ p = new Put(TEST_ROW1);
+ p.add(TEST_FAMILY1, TEST_Q2, 127, ZERO);
+ p.setACL(user2.getShortName(), new Permission(Permission.Action.READ));
+ t.put(p);
+ }
}
return null;
}
@@ -871,13 +851,12 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
user1.runAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Delete d = new Delete(TEST_ROW1);
- d.deleteColumns(TEST_FAMILY1, TEST_Q1, 120);
- t.checkAndDelete(TEST_ROW1, TEST_FAMILY1, TEST_Q1, ZERO, d);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Delete d = new Delete(TEST_ROW1);
+ d.deleteColumns(TEST_FAMILY1, TEST_Q1, 120);
+ t.checkAndDelete(TEST_ROW1, TEST_FAMILY1, TEST_Q1, ZERO, d);
+ }
}
return null;
}
@@ -887,15 +866,14 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
user2.runAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Delete d = new Delete(TEST_ROW1);
- d.deleteColumns(TEST_FAMILY1, TEST_Q1);
- t.checkAndDelete(TEST_ROW1, TEST_FAMILY1, TEST_Q1, ZERO, d);
- fail("user2 should not be allowed to do checkAndDelete");
- } catch (Exception e) {
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Delete d = new Delete(TEST_ROW1);
+ d.deleteColumns(TEST_FAMILY1, TEST_Q1);
+ t.checkAndDelete(TEST_ROW1, TEST_FAMILY1, TEST_Q1, ZERO, d);
+ fail("user2 should not be allowed to do checkAndDelete");
+ } catch (Exception e) {
+ }
}
return null;
}
@@ -906,13 +884,12 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
user2.runAs(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws Exception {
- Table t = new HTable(conf, TEST_TABLE.getTableName());
- try {
- Delete d = new Delete(TEST_ROW1);
- d.deleteColumn(TEST_FAMILY1, TEST_Q2, 120);
- t.checkAndDelete(TEST_ROW1, TEST_FAMILY1, TEST_Q2, ZERO, d);
- } finally {
- t.close();
+ try (Connection connection = ConnectionFactory.createConnection(conf)) {
+ try (Table t = connection.getTable(TEST_TABLE.getTableName())) {
+ Delete d = new Delete(TEST_ROW1);
+ d.deleteColumn(TEST_FAMILY1, TEST_Q2, 120);
+ t.checkAndDelete(TEST_ROW1, TEST_FAMILY1, TEST_Q2, ZERO, d);
+ }
}
return null;
}
@@ -930,4 +907,4 @@ public class TestCellACLWithMultipleVersions extends SecureTestUtil {
}
assertEquals(0, AccessControlLists.getTablePermissions(conf, TEST_TABLE.getTableName()).size());
}
-}
+}
\ No newline at end of file