Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id C2146200CB3 for ; Mon, 26 Jun 2017 10:37:06 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id C0761160BDE; Mon, 26 Jun 2017 08:37: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 1234F160BD9 for ; Mon, 26 Jun 2017 10:37:05 +0200 (CEST) Received: (qmail 97678 invoked by uid 500); 26 Jun 2017 08:37:05 -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 97666 invoked by uid 99); 26 Jun 2017 08:37:05 -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; Mon, 26 Jun 2017 08:37:05 +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 CF9BDC2788 for ; Mon, 26 Jun 2017 08:37:04 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.211 X-Spam-Level: X-Spam-Status: No, score=-99.211 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id EEHZEVzJqheF for ; Mon, 26 Jun 2017 08:37:03 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id D15455FC57 for ; Mon, 26 Jun 2017 08:37:01 +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 018A0E08BB for ; Mon, 26 Jun 2017 08:37: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 1BCDF240BD for ; Mon, 26 Jun 2017 08:37:00 +0000 (UTC) Date: Mon, 26 Jun 2017 08:37:00 +0000 (UTC) From: "ASF GitHub Bot (JIRA)" To: dev@phoenix.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (PHOENIX-3944) ReadOnlyTableException occurs when we map Phoenix view to an existing HBase table with Namespace Mapping enabled MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Mon, 26 Jun 2017 08:37:06 -0000 [ https://issues.apache.org/jira/browse/PHOENIX-3944?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16062777#comment-16062777 ] ASF GitHub Bot commented on PHOENIX-3944: ----------------------------------------- Github user brfrn169 commented on a diff in the pull request: https://github.com/apache/phoenix/pull/261#discussion_r123954850 --- Diff: phoenix-core/src/main/java/org/apache/phoenix/util/SchemaUtil.java --- @@ -983,14 +983,21 @@ public static boolean hasRowTimestampColumn(PTable table) { return SchemaUtil.getTableKey(null, schemaName, MetaDataClient.EMPTY_TABLE); } - public static PName getPhysicalHBaseTableName(PName pName, boolean isNamespaceMapped, PTableType type) { - return getPhysicalHBaseTableName(pName.toString(), isNamespaceMapped, type); + public static PName getPhysicalHBaseTableName(PName schemaName, PName tableName, boolean isNamespaceMapped) { --- End diff -- I added "schemaName" as an argument to this method. I think we need both schemaName and tableName to handle a table like "AAA.BBB" in default schema correctly, because if we have only the table name "AAA.BBB", we can't distinguish between "AAA.BBB" in the default schema and "BBB" in "AAA" schema. Also we don't need the "type" argument, so I deleted it. > ReadOnlyTableException occurs when we map Phoenix view to an existing HBase table with Namespace Mapping enabled > ---------------------------------------------------------------------------------------------------------------- > > Key: PHOENIX-3944 > URL: https://issues.apache.org/jira/browse/PHOENIX-3944 > Project: Phoenix > Issue Type: Bug > Reporter: Toshihiro Suzuki > > Firstly, I created a namespace and a table in hbase shell: > {code} > hbase> create_namespace "NS" > hbase> create "NS:TBL", "CF" > {code} > After that, I tried to create a phoenix view for this existing hbase table in phoenix-sqlline: > {code} > phoenix> CREATE VIEW ns.tbl (pk VARCHAR PRIMARY KEY, cf.col VARCHAR); > {code} > However, I encountered the following error and I was not able to create the view: > {code} > org.apache.phoenix.schema.ReadOnlyTableException: ERROR 505 (42000): Table is read only. > at org.apache.phoenix.query.ConnectionQueryServicesImpl.ensureTableCreated(ConnectionQueryServicesImpl.java:1072) > at org.apache.phoenix.query.ConnectionQueryServicesImpl.createTable(ConnectionQueryServicesImpl.java:1434) > at org.apache.phoenix.schema.MetaDataClient.createTableInternal(MetaDataClient.java:2624) > at org.apache.phoenix.schema.MetaDataClient.createTable(MetaDataClient.java:1040) > at org.apache.phoenix.compile.CreateTableCompiler$2.execute(CreateTableCompiler.java:212) > at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:393) > at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:376) > 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:1707) > at org.apache.PhoenixTest.main(PhoenixTest.java:55) > 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:498) > at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147) > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)