[ https://issues.apache.org/jira/browse/PHOENIX-4721?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Taylor updated PHOENIX-4721: ---------------------------------- Summary: Adding PK column to a table with multiple secondary indexes fails (was: Issuing ALTER TABLE to add a PK Column to a table with multiple secondary indexes fails) > Adding PK column to a table with multiple secondary indexes fails > ----------------------------------------------------------------- > > Key: PHOENIX-4721 > URL: https://issues.apache.org/jira/browse/PHOENIX-4721 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.13.0 > Reporter: Jan Fernando > Assignee: James Taylor > Priority: Major > Fix For: 4.14.0, 5.0.0 > > Attachments: AlterTableExtendPk.java, PHOENIX-4721_v1.patch > > > The expected behavior when adding a PK column to table is that the column > will successfully be added, even if the table has secondary indexes. > For example: > {code:java} > ALTER TABLE TEST.ACTIVITY ADD SOURCE VARCHAR(25) NULL PRIMARY KEY > {code} > should execute successfully even if the table has secondary indexes defined. > However issuing the above ALTER statement on a table with secondary indexes > throws the following Exception: > {code:java} > java.util.NoSuchElementException > at java.util.ArrayList$Itr.next(ArrayList.java:854) > at > org.apache.phoenix.schema.RowKeyValueAccessor.<init>(RowKeyValueAccessor.java:78) > at > org.apache.phoenix.schema.MetaDataClient.addColumn(MetaDataClient.java:3452) > at > org.apache.phoenix.schema.MetaDataClient.addColumn(MetaDataClient.java:3120) > at > org.apache.phoenix.jdbc.PhoenixStatement$ExecutableAddColumnStatement$1.execute(PhoenixStatement.java:1328) > at org.apache.phoenix.jdbc.PhoenixStatement$3.call(PhoenixStatement.java:393) > at org.apache.phoenix.jdbc.PhoenixStatement$3.call(PhoenixStatement.java:1) > at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:375) > at > org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:363) > at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:269) > at > org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:172) > at > org.apache.phoenix.jdbc.PhoenixPreparedStatement.execute(PhoenixPreparedStatement.java:177) > {code} > See attached file for a detailed repro. -- This message was sent by Atlassian JIRA (v7.6.3#76005)