You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2015/04/22 02:43:01 UTC

[jira] [Reopened] (PHOENIX-1682) PhoenixRuntime.getTable() does not work with case-sensitive table names

     [ https://issues.apache.org/jira/browse/PHOENIX-1682?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Taylor reopened PHOENIX-1682:
-----------------------------------

Did you run the unit tests before submitting your patch, [~ivanweiss]? Looks like we're getting the following failure. Would you mind submitting a patch for this?
{code}
FAILURE! - in org.apache.phoenix.end2end.QueryMoreIT
testQueryMore1(org.apache.phoenix.end2end.QueryMoreIT)  Time elapsed: 3.45 sec  <<< ERROR!
org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName="HISTORY_TABLE_00Dxxxxxtenant1"
        at org.apache.phoenix.schema.PMetaDataImpl.getTable(PMetaDataImpl.java:241)
        at org.apache.phoenix.util.PhoenixRuntime.getTable(PhoenixRuntime.java:313)
        at org.apache.phoenix.util.PhoenixRuntime.encodeValues(PhoenixRuntime.java:839)
        at org.apache.phoenix.end2end.QueryMoreIT.getRecordsOutofCursorTable(QueryMoreIT.java:268)
        at org.apache.phoenix.end2end.QueryMoreIT.testQueryMore(QueryMoreIT.java:142)
        at org.apache.phoenix.end2end.QueryMoreIT.testQueryMore1(QueryMoreIT.java:50)

testQueryMore4(org.apache.phoenix.end2end.QueryMoreIT)  Time elapsed: 0.38 sec  <<< ERROR!
org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName="HISTORY_TABLE_00Dxxxxxtenant1"
        at org.apache.phoenix.schema.PMetaDataImpl.getTable(PMetaDataImpl.java:241)
        at org.apache.phoenix.util.PhoenixRuntime.getTable(PhoenixRuntime.java:313)
        at org.apache.phoenix.util.PhoenixRuntime.encodeValues(PhoenixRuntime.java:839)
        at org.apache.phoenix.end2end.QueryMoreIT.getRecordsOutofCursorTable(QueryMoreIT.java:268)
        at org.apache.phoenix.end2end.QueryMoreIT.testQueryMore(QueryMoreIT.java:142)
        at org.apache.phoenix.end2end.QueryMoreIT.testQueryMore4(QueryMoreIT.java:68)
{code}

[~samarthjain] - will this impact the query more in production, or would these generated table names not require normalization?

> PhoenixRuntime.getTable() does not work with case-sensitive table names
> -----------------------------------------------------------------------
>
>                 Key: PHOENIX-1682
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-1682
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.2.0
>            Reporter: Eli Levine
>            Assignee: Ivan Weiss
>              Labels: Newbie
>             Fix For: 5.0.0, 4.4.0, 4.3.2
>
>
> PhoenixRuntime.getTable(conn, name) assumes _name_ is a single component because it calls SchemaUtil.normalizeIdentifier(name) on the whole thing, without breaking up _name_ into table name and schema name components. In cases where a table is case sensitive (created with _schemaName."tableName"_) this will result in getTable not finding the table.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)