Sergey Soldatov created PHOENIX-4407:
----------------------------------------
Summary: Client may run only once. All further attempts to connect
end up with an exception
Key: PHOENIX-4407
URL: https://issues.apache.org/jira/browse/PHOENIX-4407
Project: Phoenix
Issue Type: Sub-task
Reporter: Sergey Soldatov
Assignee: Sergey Soldatov
Priority: Blocker
During the first connection, phoenix creates all the corresponding system
tables. But on the second attempt it fails with the following exception
{noformat}
Error: java.lang.IllegalArgumentException: Family '0' already exists so cannot
be added (state=,code=0)
java.sql.SQLException: java.lang.IllegalArgumentException: Family '0' already
exists so cannot be added
at
org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2498)
at
org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2390)
at
org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:76)
at
org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2390)
at
org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:255)
at
org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.createConnection(PhoenixEmbeddedDriver.java:150)
at org.apache.phoenix.jdbc.PhoenixDriver.connect(PhoenixDriver.java:221)
at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157)
at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203)
at sqlline.Commands.connect(Commands.java:1064)
at sqlline.Commands.connect(Commands.java:996)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at
sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
at sqlline.SqlLine.dispatch(SqlLine.java:809)
at sqlline.SqlLine.initArgs(SqlLine.java:588)
at sqlline.SqlLine.begin(SqlLine.java:661)
at sqlline.SqlLine.start(SqlLine.java:398)
at sqlline.SqlLine.main(SqlLine.java:291)
Caused by: java.lang.IllegalArgumentException: Family '0' already exists so
cannot be added
at
org.apache.hadoop.hbase.client.TableDescriptorBuilder$ModifyableTableDescriptor.addColumnFamily(TableDescriptorBuilder.java:849)
at
org.apache.hadoop.hbase.client.TableDescriptorBuilder.addColumnFamily(TableDescriptorBuilder.java:302)
at
org.apache.phoenix.query.ConnectionQueryServicesImpl.generateTableDescriptor(ConnectionQueryServicesImpl.java:801)
at
org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:1031)
at
org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:1393)
at
org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:2639)
at
org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:1044)
at
org.apache.phoenix.compile.CreateTableCompiler$1.execute(CreateTableCompiler.java:192)
at
org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:394)
at
org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:377)
at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
at
org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:376)
at
org.apache.phoenix.jdbc.PhoenixStatement.executeMutation(PhoenixStatement.java:364)
at
org.apache.phoenix.jdbc.PhoenixStatement.executeUpdate(PhoenixStatement.java:1719)
at
org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2451)
... 20 more
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)