[
https://issues.apache.org/jira/browse/PHOENIX-4523?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Flavio Pompermaier updated PHOENIX-4523:
----------------------------------------
Description:
I'm using Phoenix 4.13 for CDH 5.11.2 parcel and enabling schemas made my code
unusable.
I think that this is not a bug of the CDH release, but of all 4.13.x releases.
I have many parallel Phoenix connections and I always get the following
exception:
{code:java}
Caused by: java.sql.SQLException:
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hbase.TableExistsException):
SYSTEM:MUTEX
at
org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2492)
at
org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2384)
at
org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:76)
at
org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2384)
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 java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
{code}
This is caused by the fact that all the times the SYSTEM tables are recreated,
and this cannot be done simultaneously.
Trying to debug the issue I found that in
ConnectionQueryServicesImpl.createSysMutexTable() the call to
getSystemTableNames() always return an empty array and the SYSTEM.MUTEX table
is always recreated.
This because getSystemTableNames() doesn't consider the case when system tables
have namespace enabled. Right now that method tries to get all tables starting
with *SYSTEM.**, while it should try to get the list of *SYSTEM:* tables..
I hope this could get fixed very soon,
Flavio
was:
I'm using Phoenix 4.13 for CDH 5.11.2 parcel and enabling schemas made my code
unusable.
I think that this is not a bug of the CDH release, but of all 4.13.x releases.
I have many parallel Phoenix connections and I always get the following
exception:
Caused by: java.sql.SQLException:
org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hbase.TableExistsException):
SYSTEM:MUTEX
at
org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2492)
at
org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2384)
at
org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:76)
at
org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2384)
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 java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
This is caused by the fact that all the times the SYSTEM tables are recreated,
and this cannot be done simultaneously.
Trying to debug the issue I found that in
ConnectionQueryServicesImpl.createSysMutexTable() the call to
getSystemTableNames() always return an empty array and the SYSTEM.MUTEX table
is always recreated.
This because getSystemTableNames() doesn't consider the case when system tables
have namespace enabled. Right now that method tries to get all tables starting
with *SYSTEM.**, while it should try to get the list of *SYSTEM:* tables..
I hope this could get fixed very soon,
Flavio
> phoenix.schema.isNamespaceMappingEnabled problem
> ------------------------------------------------
>
> Key: PHOENIX-4523
> URL: https://issues.apache.org/jira/browse/PHOENIX-4523
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.13.1
> Reporter: Flavio Pompermaier
>
> I'm using Phoenix 4.13 for CDH 5.11.2 parcel and enabling schemas made my
> code unusable.
> I think that this is not a bug of the CDH release, but of all 4.13.x releases.
> I have many parallel Phoenix connections and I always get the following
> exception:
> {code:java}
> Caused by: java.sql.SQLException:
> org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.hbase.TableExistsException):
> SYSTEM:MUTEX
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2492)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl$12.call(ConnectionQueryServicesImpl.java:2384)
> at
> org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:76)
> at
> org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:2384)
> 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 java.sql.DriverManager.getConnection(DriverManager.java:664)
> at java.sql.DriverManager.getConnection(DriverManager.java:270)
> {code}
> This is caused by the fact that all the times the SYSTEM tables are
> recreated, and this cannot be done simultaneously.
> Trying to debug the issue I found that in
> ConnectionQueryServicesImpl.createSysMutexTable() the call to
> getSystemTableNames() always return an empty array and the SYSTEM.MUTEX
> table is always recreated.
> This because getSystemTableNames() doesn't consider the case when system
> tables have namespace enabled. Right now that method tries to get all tables
> starting with *SYSTEM.**, while it should try to get the list of *SYSTEM:*
> tables..
> I hope this could get fixed very soon,
> Flavio
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)