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

Maryann Xue commented on PHOENIX-3394:
--------------------------------------

Right now we are using a separate SequenceManager just for sequence resolving. 
And after query planning, we'll have a new SequenceManager to handle the real 
sequence operations. It might be possible to merge them into one. But the first 
problem here is, Calcite would call getTable() many times during validation, 
and it in turn calls resolveSequence() if the name cannot be resolved as a 
table. And due to the fact that we are not able to resolve schema yet, there 
are a lot of wasted calls. And each of these calls  adds a new reference to the 
SequenceManager map even if validateSequence() fails. So for resolveSequence(), 
we call "reset()" every time for each call.

> Handle SequenceResolving through ConnectionQueryServices interface
> ------------------------------------------------------------------
>
>                 Key: PHOENIX-3394
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3394
>             Project: Phoenix
>          Issue Type: Sub-task
>            Reporter: Eric Lomore
>            Assignee: Eric Lomore
>
> Tons of unit tests have this same stack trace. It appears that this call 
> shouldn't reach ConnectionlessQueryServicesImpl.getTable?
> {code}
> Caused by: java.lang.UnsupportedOperationException
>       at 
> org.apache.phoenix.query.ConnectionlessQueryServicesImpl.getTable(ConnectionlessQueryServicesImpl.java:157)
>       at 
> org.apache.phoenix.query.DelegateConnectionQueryServices.getTable(DelegateConnectionQueryServices.java:70)
>       at 
> org.apache.phoenix.execute.MutationState.getHTable(MutationState.java:360)
>       at 
> org.apache.phoenix.iterate.TableResultIterator.<init>(TableResultIterator.java:101)
>       at 
> org.apache.phoenix.iterate.DefaultTableResultIteratorFactory.newIterator(DefaultTableResultIteratorFactory.java:33)
>       at 
> org.apache.phoenix.iterate.ParallelIterators.submitWork(ParallelIterators.java:104)
>       at 
> org.apache.phoenix.iterate.BaseResultIterators.getIterators(BaseResultIterators.java:871)
>       ... 71 more
> {code}



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

Reply via email to