phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas D'Silva (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-4634) Looking up a parent index table of a tenant child view fails in BaseColumnResolver createTableRef()
Date Sat, 10 Mar 2018 22:40:00 GMT

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

Thomas D'Silva commented on PHOENIX-4634:
-----------------------------------------

[~jamestaylor] 

I have attached a v5 patch. We have to recursively look up the parent view as you could have
an index on a  view that has a child view which itself have a child view that inherited the
index. We have a test for this {{ChildViewsUseParentViewIndexIT.testIndexOnParentViewWithTenantSpecificConnection()}}

I changed the updateCacheFrequency of the inherited index to use that of the parent table.
I also modified the name of the inherited index so that we can look up the parent view hierarchy
correctly. 

{code}
-                PName modifiedIndexName = PNameFactory.newName(index.getName().getString()

-                    + QueryConstants.CHILD_VIEW_INDEX_NAME_SEPARATOR + view.getName().getString());
+                PName modifiedIndexName = PNameFactory.newName(view.getName().getString()

+                    + QueryConstants.CHILD_VIEW_INDEX_NAME_SEPARATOR + index.getName().getString());
{code}

> Looking up a parent index table of a tenant child view fails in BaseColumnResolver createTableRef()
> ---------------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-4634
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4634
>             Project: Phoenix
>          Issue Type: Bug
>            Reporter: Thomas D'Silva
>            Assignee: Thomas D'Silva
>            Priority: Major
>             Fix For: 4.14.0
>
>         Attachments: PHOENIX-4634-4.x-HBase-0.98.patch, PHOENIX-4634-v2.patch, PHOENIX-4634-v3.patch,
PHOENIX-4634-v4.patch, PHOENIX-4634-v5.patch
>
>
> If we are looking up a parent table index of a child view , we need to resolve the view
which will load the parent table indexes (instead of trying to resolve the parent table index
directly). 
>  
> {code:java}
> org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined.
tableName=Schema.Schema.Index#Schma.View
> org.apache.phoenix.compile.FromCompiler$BaseColumnResolver.createTableRef(FromCompiler.java:577)
> at org.apache.phoenix.compile.FromCompiler$SingleTableColumnResolver.<init>(FromCompiler.java:391)
> at org.apache.phoenix.compile.FromCompiler.getResolverForQuery(FromCompiler.java:228)
> at org.apache.phoenix.compile.FromCompiler.getResolverForQuery(FromCompiler.java:206)
> at org.apache.phoenix.optimize.QueryOptimizer.addPlan(QueryOptimizer.java:226)
> at org.apache.phoenix.optimize.QueryOptimizer.getApplicablePlans(QueryOptimizer.java:146)
> at org.apache.phoenix.optimize.QueryOptimizer.getApplicablePlans(QueryOptimizer.java:103)
> at org.apache.phoenix.compile.DeleteCompiler.compile(DeleteCompiler.java:501)
> at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableDeleteStatement.compilePlan(PhoenixStatement.java:770)
> at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableDeleteStatement.compilePlan(PhoenixStatement.java:758)
> at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:386)
> at org.apache.phoenix.jdbc.PhoenixStatement$2.call(PhoenixStatement.java:376)
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message