Samarth Jain created PHOENIX-3167:
-------------------------------------

             Summary: Recreating metadata of existing table removes HTable 
properties
                 Key: PHOENIX-3167
                 URL: https://issues.apache.org/jira/browse/PHOENIX-3167
             Project: Phoenix
          Issue Type: Bug
            Reporter: Samarth Jain
            Assignee: Samarth Jain


{code}
@Test
    public void testRecreatingExistingTableMaintainsHTableProperties() throws 
Exception {
        Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
        Connection conn = DriverManager.getConnection(getUrl(), props);
        String ddl = "ALTER TABLE SYSTEM.CATALOG SET KEEP_DELETED_CELLS = 
false";
        conn.createStatement().execute(ddl);
        assertDeleteCellsDisabled(conn);
        try {
            
conn.createStatement().execute(QueryConstants.CREATE_TABLE_METADATA);
        } catch (TableAlreadyExistsException e) {

        }
        assertDeleteCellsDisabled(conn);
    }
    

    private void assertDeleteCellsDisabled(Connection conn) throws 
org.apache.hadoop.hbase.TableNotFoundException,
            IOException, SQLException {
        try (HBaseAdmin admin = 
conn.unwrap(PhoenixConnection.class).getQueryServices().getAdmin()) {
            HTableDescriptor tableDesc = 
admin.getTableDescriptor(Bytes.toBytes("SYSTEM.CATALOG"));
            HColumnDescriptor[] columnFamilies = tableDesc.getColumnFamilies();
            assertEquals("0", columnFamilies[0].getNameAsString());
            assertEquals(KeepDeletedCells.FALSE, 
columnFamilies[0].getKeepDeletedCells());
        }
    }

{code}

[~jamestaylor], [~apurtell], [~lhofhansl], [~mujtabachohan] - this is likely 
why we saw that the keep deleted cells property always kept flipping to true 
even though we set it to false in hbase shell.



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

Reply via email to