From dev-return-48392-archive-asf-public=cust-asf.ponee.io@phoenix.apache.org Tue Jan 9 09:44:06 2018 Return-Path: X-Original-To: archive-asf-public@eu.ponee.io Delivered-To: archive-asf-public@eu.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by mx-eu-01.ponee.io (Postfix) with ESMTP id 1DA08180718 for ; Tue, 9 Jan 2018 09:44:06 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 0D83F160C2D; Tue, 9 Jan 2018 08:44:06 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 2D334160C13 for ; Tue, 9 Jan 2018 09:44:05 +0100 (CET) Received: (qmail 74552 invoked by uid 500); 9 Jan 2018 08:44:04 -0000 Mailing-List: contact dev-help@phoenix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@phoenix.apache.org Delivered-To: mailing list dev@phoenix.apache.org Received: (qmail 74541 invoked by uid 99); 9 Jan 2018 08:44:04 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 09 Jan 2018 08:44:04 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id A9E5DC41DB for ; Tue, 9 Jan 2018 08:44:03 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.911 X-Spam-Level: X-Spam-Status: No, score=-99.911 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id X1PAPL3oCBps for ; Tue, 9 Jan 2018 08:44:02 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 630BA5F24E for ; Tue, 9 Jan 2018 08:44:02 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id BF786E039B for ; Tue, 9 Jan 2018 08:44:01 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 4917F240DE for ; Tue, 9 Jan 2018 08:44:00 +0000 (UTC) Date: Tue, 9 Jan 2018 08:44:00 +0000 (UTC) From: "Flavio Pompermaier (JIRA)" To: dev@phoenix.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (PHOENIX-4523) phoenix.schema.isNamespaceMappingEnabled problem MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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: {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 > 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)