phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ankit Singhal (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-3460) Namespace separator ":" should not be allowed in table or schema name
Date Fri, 03 Nov 2017 05:37:01 GMT

    [ https://issues.apache.org/jira/browse/PHOENIX-3460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16237120#comment-16237120
] 

Ankit Singhal commented on PHOENIX-3460:
----------------------------------------

bq. HBase does not allow creating a table name that contains the namespace separator. We should
not allow using the namespace separator in the table or schema name. Instead we should throw
a PhoenixParserException.
[~tdsilva],[~jamestaylor], I think we had this to map existing tables with view/table when
namespace mapping is not enabled. So are we making mandatory for the users to have namespace
mapping enabled when they want to map tables under namespace in Phoenix? then we probably
need some documentation around this.

> Namespace separator ":" should not be allowed in table or schema name
> ---------------------------------------------------------------------
>
>                 Key: PHOENIX-3460
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3460
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.8.0
>         Environment: HDP 2.5
>            Reporter: Xindian Long
>            Assignee: Thomas D'Silva
>            Priority: Major
>              Labels: namespaces, phoenix, spark
>             Fix For: 4.13.0
>
>         Attachments: 0001-Phoenix-fix.patch, PHOENIX-3460-v2.patch, PHOENIX-3460-v2.patch,
PHOENIX-3460.patch, SchemaUtil.java
>
>
> I am testing some code using Phoenix Spark plug in to read a Phoenix table with a namespace
prefix in the table name (the table is created as a phoenix table not a hbase table), but
it returns an TableNotFoundException.
> The table is obviously there because I can query it using plain phoenix sql through Squirrel.
In addition, using spark sql to query it has no problem at all.
> I am running on the HDP 2.5 platform, with phoenix 4.7.0.2.5.0.0-1245
> The problem does not exist at all when I was running the same code on HDP 2.4 cluster,
with phoenix 4.4.
> Neither does the problem occur when I query a table without a namespace prefix in the
DB table name, on HDP 2.5
> The log is in the attached file: tableNoFound.txt
> My testing code is also attached.
> The weird thing is in the attached code, if I run testSpark alone it gives the above
exception, but if I run the testJdbc first, and followed by testSpark, both of them work.
>  After changing to create table by using
> create table ACME.ENDPOINT_STATUS
> The phoenix-spark plug in seems working. I also find some weird behavior,
> If I do both the following
> create table ACME.ENDPOINT_STATUS ...
> create table "ACME:ENDPOINT_STATUS" ...
> Both table shows up in phoenix, the first one shows as Schema ACME, and table name ENDPOINT_STATUS,
and the later on shows as scheme none, and table name ACME:ENDPOINT_STATUS.
> However, in HBASE, I only see one table ACME:ENDPOINT_STATUS. In addition, upserts in
the table ACME.ENDPOINT_STATUS show up in the other table, so is the other way around.
>  



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message