[ https://issues.apache.org/jira/browse/PHOENIX-1409?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Samarth Jain updated PHOENIX-1409: ---------------------------------- Attachment: PHOENIX-1409-v7.patch bq How about if you generate a table name like this? That doesn't solve the problem of slow test class because we still need to drop underlying hbase tables. Added comment on the test class AlterTableIT to document the reasoning behind the change. bq Why not keep the existing test unchanged? Just copy/paste the old test and give it a new name. The previous test wasn't really testing anything. {code} @Test public void testAlterColumnFamilyProperty() throws Exception { Properties props = PropertiesUtil.deepCopy(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(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES); assertNotNull(hcolumnDescriptor1); 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(); } } {code} With this change the second part of the test is no longer valid. And the first part wasn't really testing anything. So I changed the test to really test what it should have in the first place. bq Do we have a test for the case where a property is set which isn't a Phoenix property or a HColumnDescriptor property? The behavior at CREATE time for this is that it'll end up as an HTableDescriptor property. Can we add a test for this and make sure that ALTER TABLE matches this behavior? Added a test in the patch. See - AlterTableIT#testSettingNotHColumnNorPhoenixPropertyEndsUpAsHTableProperty > Allow ALTER TABLE <table> SET command to update HTableDescriptor and > HColumnDescriptor properties > ------------------------------------------------------------------------------------------------- > > Key: PHOENIX-1409 > URL: https://issues.apache.org/jira/browse/PHOENIX-1409 > Project: Phoenix > Issue Type: Improvement > Affects Versions: 4.2 > Reporter: James Taylor > Assignee: Alicia Ying Shu > Attachments: PHOENIX-1409-v3.patch, PHOENIX-1409-v6.patch, > PHOENIX-1409-v7.patch, Phoenix-1409-v1.patch, Phoenix-1409-v4-2.patch, > Phoenix-1409-v4.patch, Phoenix-1409-v5.patch, Phoenix-1409.patch, WIP.patch, > phoenix-1409-v2.patch > > > Once PHOENIX-1408 is fixed, we should allow HTableDescriptor and > HColumnDescriptor properties through the ALTER TABLE <table> SET command. > It'd just be a matter of passing these properties through the existing > methods, as we support this for CREATE TABLE. -- This message was sent by Atlassian JIRA (v6.3.4#6332)