HBASE-14596 TestCellACLs failing... on1.2 builds; FIX
This commit is contained in:
parent
73ccccf4c5
commit
e6a271a4fb
|
@ -26,14 +26,15 @@ import java.util.Map;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.apache.hadoop.conf.Configuration;
|
import org.apache.hadoop.conf.Configuration;
|
||||||
|
import org.apache.hadoop.hbase.HConstants;
|
||||||
import org.apache.hadoop.hbase.AuthUtil;
|
import org.apache.hadoop.hbase.AuthUtil;
|
||||||
import org.apache.hadoop.hbase.Cell;
|
import org.apache.hadoop.hbase.Cell;
|
||||||
import org.apache.hadoop.hbase.Coprocessor;
|
import org.apache.hadoop.hbase.Coprocessor;
|
||||||
import org.apache.hadoop.hbase.HBaseTestingUtility;
|
import org.apache.hadoop.hbase.HBaseTestingUtility;
|
||||||
import org.apache.hadoop.hbase.HColumnDescriptor;
|
import org.apache.hadoop.hbase.HColumnDescriptor;
|
||||||
import org.apache.hadoop.hbase.HConstants;
|
|
||||||
import org.apache.hadoop.hbase.HTableDescriptor;
|
import org.apache.hadoop.hbase.HTableDescriptor;
|
||||||
import org.apache.hadoop.hbase.TableNotFoundException;
|
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.Connection;
|
||||||
import org.apache.hadoop.hbase.client.ConnectionFactory;
|
import org.apache.hadoop.hbase.client.ConnectionFactory;
|
||||||
import org.apache.hadoop.hbase.client.Delete;
|
import org.apache.hadoop.hbase.client.Delete;
|
||||||
|
@ -44,6 +45,7 @@ import org.apache.hadoop.hbase.client.Result;
|
||||||
import org.apache.hadoop.hbase.client.ResultScanner;
|
import org.apache.hadoop.hbase.client.ResultScanner;
|
||||||
import org.apache.hadoop.hbase.client.Scan;
|
import org.apache.hadoop.hbase.client.Scan;
|
||||||
import org.apache.hadoop.hbase.client.Table;
|
import org.apache.hadoop.hbase.client.Table;
|
||||||
|
import org.apache.hadoop.hbase.client.HTable;
|
||||||
import org.apache.hadoop.hbase.master.MasterCoprocessorHost;
|
import org.apache.hadoop.hbase.master.MasterCoprocessorHost;
|
||||||
import org.apache.hadoop.hbase.regionserver.RegionServerCoprocessorHost;
|
import org.apache.hadoop.hbase.regionserver.RegionServerCoprocessorHost;
|
||||||
import org.apache.hadoop.hbase.security.User;
|
import org.apache.hadoop.hbase.security.User;
|
||||||
|
@ -77,7 +79,6 @@ public class TestCellACLs extends SecureTestUtil {
|
||||||
|
|
||||||
@Rule
|
@Rule
|
||||||
public TestTableName TEST_TABLE = new TestTableName();
|
public TestTableName TEST_TABLE = new TestTableName();
|
||||||
|
|
||||||
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
|
private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();
|
||||||
private static final byte[] TEST_FAMILY = Bytes.toBytes("f1");
|
private static final byte[] TEST_FAMILY = Bytes.toBytes("f1");
|
||||||
private static final byte[] TEST_ROW = Bytes.toBytes("cellpermtest");
|
private static final byte[] TEST_ROW = Bytes.toBytes("cellpermtest");
|
||||||
|
@ -96,8 +97,6 @@ public class TestCellACLs extends SecureTestUtil {
|
||||||
private static User USER_OTHER;
|
private static User USER_OTHER;
|
||||||
private static String[] usersAndGroups;
|
private static String[] usersAndGroups;
|
||||||
|
|
||||||
private Connection connection;
|
|
||||||
|
|
||||||
@BeforeClass
|
@BeforeClass
|
||||||
public static void setupBeforeClass() throws Exception {
|
public static void setupBeforeClass() throws Exception {
|
||||||
// setup configuration
|
// setup configuration
|
||||||
|
@ -141,16 +140,16 @@ public class TestCellACLs extends SecureTestUtil {
|
||||||
@Before
|
@Before
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
// Create the test table (owner added to the _acl_ table)
|
// Create the test table (owner added to the _acl_ table)
|
||||||
this.connection = ConnectionFactory.createConnection(TEST_UTIL.getConfiguration());
|
Admin admin = TEST_UTIL.getHBaseAdmin();
|
||||||
HTableDescriptor htd = new HTableDescriptor(TEST_TABLE.getTableName());
|
HTableDescriptor htd = new HTableDescriptor(TEST_TABLE.getTableName());
|
||||||
HColumnDescriptor hcd = new HColumnDescriptor(TEST_FAMILY);
|
HColumnDescriptor hcd = new HColumnDescriptor(TEST_FAMILY);
|
||||||
hcd.setMaxVersions(4);
|
hcd.setMaxVersions(4);
|
||||||
htd.setOwner(USER_OWNER);
|
htd.setOwner(USER_OWNER);
|
||||||
htd.addFamily(hcd);
|
htd.addFamily(hcd);
|
||||||
TEST_UTIL.createTable(htd, new byte[][] { Bytes.toBytes("s") });
|
admin.createTable(htd, new byte[][] { Bytes.toBytes("s") });
|
||||||
|
TEST_UTIL.waitTableEnabled(TEST_TABLE.getTableName());
|
||||||
LOG.info("Sleeping a second because of HBASE-12581");
|
LOG.info("Sleeping a second because of HBASE-12581");
|
||||||
Threads.sleep(1000);
|
Threads.sleep(1000);
|
||||||
this.connection = ConnectionFactory.createConnection(TEST_UTIL.getConfiguration());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test (timeout=120000)
|
@Test (timeout=120000)
|
||||||
|
@ -163,17 +162,17 @@ public class TestCellACLs extends SecureTestUtil {
|
||||||
Table t = connection.getTable(TEST_TABLE.getTableName())) {
|
Table t = connection.getTable(TEST_TABLE.getTableName())) {
|
||||||
Put p;
|
Put p;
|
||||||
// with ro ACL
|
// with ro ACL
|
||||||
p = new Put(TEST_ROW).addColumn(TEST_FAMILY, TEST_Q1, ZERO);
|
p = new Put(TEST_ROW).add(TEST_FAMILY, TEST_Q1, ZERO);
|
||||||
p.setACL(prepareCellPermissions(usersAndGroups, Action.READ));
|
p.setACL(prepareCellPermissions(usersAndGroups, Action.READ));
|
||||||
t.put(p);
|
t.put(p);
|
||||||
// with rw ACL
|
// with rw ACL
|
||||||
p = new Put(TEST_ROW).addColumn(TEST_FAMILY, TEST_Q2, ZERO);
|
p = new Put(TEST_ROW).add(TEST_FAMILY, TEST_Q2, ZERO);
|
||||||
p.setACL(prepareCellPermissions(usersAndGroups, Action.READ, Action.WRITE));
|
p.setACL(prepareCellPermissions(usersAndGroups, Action.READ, Action.WRITE));
|
||||||
t.put(p);
|
t.put(p);
|
||||||
// no ACL
|
// no ACL
|
||||||
p = new Put(TEST_ROW)
|
p = new Put(TEST_ROW)
|
||||||
.addColumn(TEST_FAMILY, TEST_Q3, ZERO)
|
.add(TEST_FAMILY, TEST_Q3, ZERO)
|
||||||
.addColumn(TEST_FAMILY, TEST_Q4, ZERO);
|
.add(TEST_FAMILY, TEST_Q4, ZERO);
|
||||||
t.put(p);
|
t.put(p);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
@ -403,7 +402,7 @@ public class TestCellACLs extends SecureTestUtil {
|
||||||
try(Connection connection = ConnectionFactory.createConnection(conf);
|
try(Connection connection = ConnectionFactory.createConnection(conf);
|
||||||
Table t = connection.getTable(TEST_TABLE.getTableName())) {
|
Table t = connection.getTable(TEST_TABLE.getTableName())) {
|
||||||
Put p;
|
Put p;
|
||||||
p = new Put(TEST_ROW).addColumn(TEST_FAMILY, TEST_Q1, ZERO);
|
p = new Put(TEST_ROW).add(TEST_FAMILY, TEST_Q1, ZERO);
|
||||||
t.put(p);
|
t.put(p);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
@ -466,6 +465,5 @@ public class TestCellACLs extends SecureTestUtil {
|
||||||
LOG.info("Test deleted table " + TEST_TABLE.getTableName());
|
LOG.info("Test deleted table " + TEST_TABLE.getTableName());
|
||||||
}
|
}
|
||||||
assertEquals(0, AccessControlLists.getTablePermissions(conf, TEST_TABLE.getTableName()).size());
|
assertEquals(0, AccessControlLists.getTablePermissions(conf, TEST_TABLE.getTableName()).size());
|
||||||
this.connection.close();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue