You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Samarth Jain (JIRA)" <ji...@apache.org> on 2016/08/09 19:05:20 UTC
[jira] [Commented] (PHOENIX-3167) Recreating metadata of existing
table removes HTable properties
[ https://issues.apache.org/jira/browse/PHOENIX-3167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15414050#comment-15414050 ]
Samarth Jain commented on PHOENIX-3167:
---------------------------------------
[~jamestaylor] - should a call to create phoenix metadata for a table that already exists (both wrt phoenix and hbase), modify the existing table descriptor?
For ex -
CREATE TABLE T (..) KEEP_DELETED_CELLS = FALSE;
CREATE TABLE T (..) KEEP_DELTED_CELLS = TRUE;
My guess is it shouldn't.
> 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
> Fix For: 4.8.1
>
>
> {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)