[ 
https://issues.apache.org/jira/browse/PHOENIX-1385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Taylor resolved PHOENIX-1385.
-----------------------------------
       Resolution: Fixed
    Fix Version/s: 3.2
                   4.2
                   5.0.0
         Assignee: James Taylor

> Adding, dropping and adding columns fails with NPE
> --------------------------------------------------
>
>                 Key: PHOENIX-1385
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1385
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.1
>            Reporter: Samarth Jain
>            Assignee: James Taylor
>             Fix For: 5.0.0, 4.2, 3.2
>
>         Attachments: PHOENIX-1385.patch
>
>
> {code}
> @Test
>     public void testAddColumnsUsingNewConnection() throws Exception {
>       Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
>         String ddl = "CREATE TABLE T (\n"
>                   +"ID1 VARCHAR(15) NOT NULL,\n"
>                   +"ID2 VARCHAR(15) NOT NULL,\n"
>                   +"CREATED_DATE DATE,\n"
>                   +"CREATION_TIME BIGINT,\n"
>                   +"LAST_USED DATE,\n"
>                   +"CONSTRAINT PK PRIMARY KEY (ID1, ID2))";
>         Connection conn1 = DriverManager.getConnection(getUrl(), props);
>         conn1.createStatement().execute(ddl);
>         ddl = "ALTER TABLE T ADD STRING VARCHAR, STRING_DATA_TYPES VARCHAR";
>         conn1.createStatement().execute(ddl);
>         ddl = "ALTER TABLE T DROP COLUMN STRING, STRING_DATA_TYPES";
>         conn1.createStatement().execute(ddl);
>         ddl = "ALTER TABLE T ADD STRING_ARRAY1 VARCHAR[]";
>         conn1.createStatement().execute(ddl);
>         conn1.close();
>     }
> Exception:
> java.lang.NullPointerException: at index 6
>       at 
> com.google.common.collect.ImmutableList.checkElementNotNull(ImmutableList.java:311)
>       at 
> com.google.common.collect.ImmutableList.construct(ImmutableList.java:302)
>       at 
> com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:278)
>       at org.apache.phoenix.schema.PTableImpl.init(PTableImpl.java:338)
>       at org.apache.phoenix.schema.PTableImpl.<init>(PTableImpl.java:246)
>       at org.apache.phoenix.schema.PTableImpl.makePTable(PTableImpl.java:205)
>       at 
> org.apache.phoenix.schema.PMetaDataImpl.addColumn(PMetaDataImpl.java:315)
>       at 
> org.apache.phoenix.query.ConnectionQueryServicesImpl$1.mutate(ConnectionQueryServicesImpl.java:495)
>       at 
> org.apache.phoenix.query.ConnectionQueryServicesImpl.metaDataMutated(ConnectionQueryServicesImpl.java:459)
>       at 
> org.apache.phoenix.query.ConnectionQueryServicesImpl.addColumn(ConnectionQueryServicesImpl.java:491)
>       at 
> org.apache.phoenix.jdbc.PhoenixConnection.addColumn(PhoenixConnection.java:732)
>       at 
> org.apache.phoenix.schema.MetaDataClient.addColumn(MetaDataClient.java:2073)
>       at 
> org.apache.phoenix.jdbc.PhoenixStatement$ExecutableAddColumnStatement$1.execute(PhoenixStatement.java:750)
>       at 
> org.apache.phoenix.jdbc.PhoenixStatement$3.call(PhoenixStatement.java:260)
>       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:251)
>       at 
> org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1037)
>       at 
> org.apache.phoenix.end2end.AlterTableIT.testAddColumnsUsingNewConnection(AlterTableIT.java:913)
> {code}



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

Reply via email to