protected HColumnDescriptor getColumnDesc(Admin admin) throws TableNotFoundException, IOException { return admin.getTableDescriptor(TABLE).getFamily(CF); }
HColumnDescriptor cf = desc.getFamily(columnFamily.getBytes());
@Test(expected=IllegalArgumentException.class) public void testAddDuplicateFamilies() { HTableDescriptor htd = new HTableDescriptor(TableName.valueOf(name.getMethodName())); byte[] familyName = Bytes.toBytes("cf"); HColumnDescriptor hcd = new HColumnDescriptor(familyName); hcd.setBlocksize(1000); htd.addFamily(hcd); assertEquals(1000, htd.getFamily(familyName).getBlocksize()); hcd = new HColumnDescriptor(familyName); hcd.setBlocksize(2000); htd.addFamily(hcd); }
@Test public void testModifyFamily() { HTableDescriptor htd = new HTableDescriptor(TableName.valueOf(name.getMethodName())); byte[] familyName = Bytes.toBytes("cf"); HColumnDescriptor hcd = new HColumnDescriptor(familyName); hcd.setBlocksize(1000); hcd.setDFSReplication((short) 3); htd.addFamily(hcd); assertEquals(1000, htd.getFamily(familyName).getBlocksize()); assertEquals(3, htd.getFamily(familyName).getDFSReplication()); hcd = new HColumnDescriptor(familyName); hcd.setBlocksize(2000); hcd.setDFSReplication((short) 1); htd.modifyFamily(hcd); assertEquals(2000, htd.getFamily(familyName).getBlocksize()); assertEquals(1, htd.getFamily(familyName).getDFSReplication()); }
for (FileStatus f : families) { String familyStr = f.getPath().getName(); HColumnDescriptor hcd = htd.getFamily(Bytes.toBytes(familyStr));
@Test public void testModifyColumnFamily() throws IOException { Admin admin = TEST_UTIL.getAdmin(); HColumnDescriptor cfDescriptor = new HColumnDescriptor(FAMILY_0); int blockSize = cfDescriptor.getBlocksize(); // Create a table with one families HTableDescriptor baseHtd = new HTableDescriptor(TABLE_NAME); baseHtd.addFamily(cfDescriptor); admin.createTable(baseHtd); admin.disableTable(TABLE_NAME); try { // Verify the table descriptor verifyTableDescriptor(TABLE_NAME, FAMILY_0); int newBlockSize = 2 * blockSize; cfDescriptor.setBlocksize(newBlockSize); // Modify colymn family admin.modifyColumnFamily(TABLE_NAME, cfDescriptor); HTableDescriptor htd = admin.getTableDescriptor(TABLE_NAME); HColumnDescriptor hcfd = htd.getFamily(FAMILY_0); assertTrue(hcfd.getBlocksize() == newBlockSize); } finally { admin.deleteTable(TABLE_NAME); } }
HColumnDescriptor hcd = new HColumnDescriptor(htd.getFamily(FAMILY)); hcd.setValue("hbase.hstore.compaction.min", String.valueOf(2)); htd.modifyFamily(hcd); hcd = new HColumnDescriptor(htd.getFamily(FAMILY)); hcd.setValue("hbase.hstore.compaction.min", null); htd.modifyFamily(hcd); assertNull(hTable.getTableDescriptor().getFamily(FAMILY).getValue( "hbase.hstore.compaction.min"));
hcd = htd.getFamily(Bytes.toBytes("cf")); hcd.setEncryptionKey(EncryptionUtil.wrapKey(conf, conf.get(HConstants.CRYPTO_MASTERKEY_NAME_CONF_KEY, User.getCurrent().getShortName()),
@Test public void testMobFamilyDelete() throws Exception { final TableName tableName = TableName.valueOf(name.getMethodName()); HTableDescriptor htd = createTableDescriptor(tableName, true); HColumnDescriptor hcd = htd.getFamily(FAMILY); htd.addFamily(new HColumnDescriptor(Bytes.toBytes("family2"))); Table table = createTableWithOneFile(htd); try { // the mob file exists Assert.assertEquals(1, countMobFiles(tableName, hcd.getNameAsString())); Assert.assertEquals(0, countArchiveMobFiles(tableName, hcd.getNameAsString())); String fileName = assertHasOneMobRow(table, tableName, hcd.getNameAsString()); Assert.assertFalse(mobArchiveExist(tableName, hcd.getNameAsString(), fileName)); Assert.assertTrue(mobTableDirExist(tableName)); TEST_UTIL.getAdmin().deleteColumnFamily(tableName, FAMILY); Assert.assertEquals(0, countMobFiles(tableName, hcd.getNameAsString())); Assert.assertEquals(1, countArchiveMobFiles(tableName, hcd.getNameAsString())); Assert.assertTrue(mobArchiveExist(tableName, hcd.getNameAsString(), fileName)); Assert.assertFalse(mobColumnFamilyDirExist(tableName, hcd.getNameAsString())); } finally { table.close(); TEST_UTIL.deleteTable(tableName); } }
HColumnDescriptor modifiedHcd = modifiedHtd.getFamily(hcdName); assertEquals(newMaxVersions, modifiedHcd.getMaxVersions()); hcd = modifiedHtd.getFamily(xtracol.getName()); assertTrue(hcd != null); assertTrue(hcd.getValue(xtracolName).equals(xtracolName)); hcd = modifiedHtd.getFamily(xtracol.getName()); assertTrue(hcd == null);
@Test public void testDeleteNonMobTable() throws Exception { final TableName tableName = TableName.valueOf(name.getMethodName()); HTableDescriptor htd = createTableDescriptor(tableName, false); HColumnDescriptor hcd = htd.getFamily(FAMILY); Table table = createTableWithOneFile(htd); try { // the mob file doesn't exist Assert.assertEquals(0, countMobFiles(tableName, hcd.getNameAsString())); Assert.assertEquals(0, countArchiveMobFiles(tableName, hcd.getNameAsString())); Assert.assertFalse(mobTableDirExist(tableName)); } finally { table.close(); TEST_UTIL.deleteTable(tableName); } Assert.assertFalse(TEST_UTIL.getAdmin().tableExists(tableName)); Assert.assertEquals(0, countMobFiles(tableName, hcd.getNameAsString())); Assert.assertEquals(0, countArchiveMobFiles(tableName, hcd.getNameAsString())); Assert.assertFalse(mobTableDirExist(tableName)); }
@Test public void testDeleteMobTable() throws Exception { final TableName tableName = TableName.valueOf(name.getMethodName()); HTableDescriptor htd = createTableDescriptor(tableName, true); HColumnDescriptor hcd = htd.getFamily(FAMILY); String fileName = null; Table table = createTableWithOneFile(htd); try { // the mob file exists Assert.assertEquals(1, countMobFiles(tableName, hcd.getNameAsString())); Assert.assertEquals(0, countArchiveMobFiles(tableName, hcd.getNameAsString())); fileName = assertHasOneMobRow(table, tableName, hcd.getNameAsString()); Assert.assertFalse(mobArchiveExist(tableName, hcd.getNameAsString(), fileName)); Assert.assertTrue(mobTableDirExist(tableName)); } finally { table.close(); TEST_UTIL.deleteTable(tableName); } Assert.assertFalse(TEST_UTIL.getAdmin().tableExists(tableName)); Assert.assertEquals(0, countMobFiles(tableName, hcd.getNameAsString())); Assert.assertEquals(1, countArchiveMobFiles(tableName, hcd.getNameAsString())); Assert.assertTrue(mobArchiveExist(tableName, hcd.getNameAsString(), fileName)); Assert.assertFalse(mobTableDirExist(tableName)); }
@Test(expected=IllegalArgumentException.class) public void testAddDuplicateFamilies() { HTableDescriptor htd = new HTableDescriptor(TableName.valueOf(name.getMethodName())); byte[] familyName = Bytes.toBytes("cf"); HColumnDescriptor hcd = new HColumnDescriptor(familyName); hcd.setBlocksize(1000); htd.addFamily(hcd); assertEquals(1000, htd.getFamily(familyName).getBlocksize()); hcd = new HColumnDescriptor(familyName); hcd.setBlocksize(2000); htd.addFamily(hcd); }
@Test public void test() { try { HBaseAdmin admin = HBaseCli.utility.getHBaseAdmin(); Assert.assertTrue(admin.isTableAvailable(table.getBytes())); HTableDescriptor descriptor = admin.getTableDescriptor(table.getBytes()); Assert.assertNotNull(descriptor.getFamily("HBaseGeneratedIdDefault".getBytes())); Assert.assertNotNull(descriptor.getFamily("HBaseGeneratedIdStrategyAuto".getBytes())); Assert.assertNotNull(descriptor.getFamily("HBaseGeneratedIdStrategyIdentity".getBytes())); Assert.assertNotNull(descriptor.getFamily("HBaseGeneratedIdStrategySequence".getBytes())); Assert.assertNotNull(descriptor.getFamily("HBaseGeneratedIdStrategyTable".getBytes())); Assert.assertNotNull(descriptor.getFamily("HBaseGeneratedIdWithOutSequenceGenerator".getBytes())); Assert.assertNotNull(descriptor.getFamily("HBaseGeneratedIdWithOutTableGenerator".getBytes())); Assert.assertNotNull(descriptor.getFamily("HBaseGeneratedIdWithSequenceGenerator".getBytes())); Assert.assertNotNull(descriptor.getFamily("HBaseGeneratedIdWithTableGenerator".getBytes())); Assert.assertNotNull(descriptor.getFamily("kunderahbase".getBytes())); Assert.assertNotNull(descriptor.getFamily("kundera_sequences".getBytes())); } catch (IOException e) { Assert.fail(); } } }
&& hTableDescriptor.getFamily(tableInfo.getTableName().getBytes()) != null)
@Test public void testAlterColumnFamilyProperty() throws Exception { Properties props = new Properties(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); String ddl = "CREATE TABLE test_table " + " (a_string varchar not null, col1 integer" + " CONSTRAINT pk PRIMARY KEY (a_string))\n"; try { conn.createStatement().execute(ddl); conn.createStatement().execute("ALTER TABLE TEST_TABLE ADD col2 integer IN_MEMORY=true"); HTableInterface htable1 = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes("TEST_TABLE")); HTableDescriptor htableDesciptor1 = htable1.getTableDescriptor(); HColumnDescriptor hcolumnDescriptor1 = htableDesciptor1.getFamily(Bytes.toBytes("_0")); assertTrue(hcolumnDescriptor1.isInMemory()); try { conn.createStatement().execute("ALTER TABLE TEST_TABLE SET IN_MEMORY=false"); fail("Should have caught exception."); } catch (SQLException e) { assertTrue(e.getMessage(), e.getMessage().contains("ERROR 1025 (42Y84): Unsupported property set in ALTER TABLE command.")); } }finally { conn.close(); } }
@Test public void testModifyFamily() { HTableDescriptor htd = new HTableDescriptor(TableName.valueOf(name.getMethodName())); byte[] familyName = Bytes.toBytes("cf"); HColumnDescriptor hcd = new HColumnDescriptor(familyName); hcd.setBlocksize(1000); hcd.setDFSReplication((short) 3); htd.addFamily(hcd); assertEquals(1000, htd.getFamily(familyName).getBlocksize()); assertEquals(3, htd.getFamily(familyName).getDFSReplication()); hcd = new HColumnDescriptor(familyName); hcd.setBlocksize(2000); hcd.setDFSReplication((short) 1); htd.modifyFamily(hcd); assertEquals(2000, htd.getFamily(familyName).getBlocksize()); assertEquals(1, htd.getFamily(familyName).getDFSReplication()); }
private void addColumnFamilies(List<TableInfo> tableInfos, HTableDescriptor hTableDescriptor, boolean isUpdate) throws IOException { if (admin.isTableEnabled(databaseName)) { admin.disableTable(databaseName); } for (TableInfo tableInfo : tableInfos) { HColumnDescriptor columnDescriptor = hTableDescriptor.getFamily(tableInfo.getTableName().getBytes()); if (columnDescriptor != null && !isUpdate) { admin.deleteColumn(databaseName, tableInfo.getTableName()); addColumn(tableInfo); } else if (columnDescriptor == null) { addColumn(tableInfo); } } if (admin.isTableDisabled(databaseName)) { admin.enableTable(databaseName); } }
/** * Alter the table metadata and return modified value * @param driver * @param tableName * @return value of VERSIONS option for the table * @throws Exception */ private int verifyModificationTableMetadata(PhoenixSysCatCreationTestingDriver driver, String tableName) throws Exception { // Modify table metadata Connection conn = driver.getConnectionQueryServices(getJdbcUrl(), new Properties()).connect(getJdbcUrl(), new Properties()); conn.createStatement().execute("ALTER TABLE " + tableName + " SET VERSIONS = " + MODIFIED_MAX_VERSIONS); // Connect via a client that creates a new ConnectionQueryServices instance driver.resetCQS(); driver.getConnectionQueryServices(getJdbcUrl(), new Properties()).connect(getJdbcUrl(), new Properties()); HTableDescriptor descriptor = testUtil.getHBaseAdmin().getTableDescriptor(TableName.valueOf(tableName)); return descriptor.getFamily(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES).getMaxVersions(); }
@Test public void testCreatedrop() throws IOException { propertyMap.put(PersistenceProperties.KUNDERA_DDL_AUTO_PREPARE, "create-drop"); EntityManagerFactory emf = Persistence.createEntityManagerFactory(persistenceUnit, propertyMap); // schemaManager = new // HBaseSchemaManager(HBaseClientFactory.class.getName(), null); // schemaManager.exportSchema(); Assert.assertTrue(admin.isTableAvailable(TABLE)); HTableDescriptor descriptor = admin.getTableDescriptor(TABLE.getBytes()); Assert.assertNotNull(descriptor.getFamilies()); Assert.assertEquals(1, descriptor.getFamilies().size()); for (HColumnDescriptor columnDescriptor : descriptor.getFamilies()) { Assert.assertNotNull(columnDescriptor); Assert.assertNotNull(columnDescriptor.getNameAsString()); Assert.assertEquals(HBASE_ENTITY_SIMPLE, columnDescriptor.getNameAsString()); } HBaseClientFactory clientFactory = (HBaseClientFactory) ClientResolver.getClientFactory(persistenceUnit); clientFactory.getSchemaManager(null).dropSchema(); Assert.assertTrue(admin.isTableAvailable(TABLE)); Assert.assertNull(admin.getTableDescriptor(TABLE.getBytes()).getFamily(HBASE_ENTITY_SIMPLE.getBytes())); }