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

James Taylor commented on PHOENIX-3841:
---------------------------------------

Rather than the change you made (which will have other implications, such as 
causing CURRENT_DATE calls to potentially not give the correct time), I'd force 
an update cache in this call from CreateTableCompiler:
{code}
      ColumnResolver resolver = FromCompiler.getResolverForCreation(create, 
connection);
{code}
by essentially tweaking that call in FromCompiler:
{code}
    public static ColumnResolver getResolverForCreation(final 
CreateTableStatement statement, final PhoenixConnection connection)
            throws SQLException {
{code}
Once PHOENIX-3534 is in, that won't be necessary any longer (would be good to 
comment on this and add a comment to that JIRA too).

> Phoenix View creation failure with Primary table not found error when we use 
> update_cache_frequency for primary table
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: PHOENIX-3841
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-3841
>             Project: Phoenix
>          Issue Type: Sub-task
>    Affects Versions: 4.10.0
>            Reporter: Maddineni Sukumar
>            Assignee: Maddineni Sukumar
>            Priority: Minor
>             Fix For: 4.10.1
>
>         Attachments: PHOENIX-3841.patch
>
>
> Create VIEW command failing with actual table not found error and next retry 
> failed with VIEW already exists error..And its continuing like that(first 
> tabelnotfound and then view already exists)..
> If I create table without UPDATE_CACHE_FREQUENCY then its working fine.
> Create table command:
> create table UpdateCacheViewTestB (k VARCHAR PRIMARY KEY, v1 VARCHAR, v2 
> VARCHAR) UPDATE_CACHE_FREQUENCY=100000;
> Create View command:
> CREATE VIEW my_view (v43 VARCHAR) AS SELECT * FROM UpdateCacheViewTestB WHERE 
> v1 = 'value1’;
> sqlline Console output:
> 0: jdbc:phoenix:shared-mnds1-1-sfm.ops.sfdc.n> select * from 
> UPDATECACHEVIEWTESTB;
> --------------------------------------------------------------------------------------------------------------------------
> K     V1      V2
> --------------------------------------------------------------------------------------------------------------------------
> 0: jdbc:phoenix:shared-mnds1-1-sfm.ops.sfdc.n> CREATE VIEW my_view (v43 
> VARCHAR) AS SELECT * FROM UpdateCacheViewTestB WHERE v1 = 'value1';
> Error: ERROR 1012 (42M03): Table undefined. tableName=UPDATECACHEVIEWTESTB 
> (state=42M03,code=1012)
> 0: jdbc:phoenix:shared-mnds1-1-sfm.ops.sfdc.n> CREATE VIEW my_view (v43 
> VARCHAR) AS SELECT * FROM UpdateCacheViewTestB WHERE v1 = 'value1';
> Error: ERROR 1013 (42M04): Table already exists. tableName=MY_VIEW 
> (state=42M04,code=1013)
> 0: jdbc:phoenix:shared-mnds1-1-sfm.ops.sfdc.n> CREATE VIEW my_view (v43 
> VARCHAR) AS SELECT * FROM UpdateCacheViewTestB WHERE v1 = 'value1';
> Error: ERROR 1012 (42M03): Table undefined. tableName=UPDATECACHEVIEWTESTB 
> (state=42M03,code=1012)



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to