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

Lars Hofhansl commented on PHOENIX-5156:
----------------------------------------

> As this proposal unifies the designs for immutable and mutable global 
> indexes, the index updates will be prepared by Indexer on the server side.

The power of transactional indexes (whether managed by a transaction engine 
like Omid or this scheme) is that they can be maintained client side. Writing 
index update from the server is a bad idea - the index region is likely on 
another server. We had to many issues with server-to-server updates, the client 
should manage this.

> If the VERIFIED column value is false, then the data from the corresponding 
> row of the data table is retrieved. 

How is that done exactly? Phoenix execute parts of many queries client side and 
parts server side. Would the client or the server be responsible for retrieving 
the correct information from the table?

See QueryOptimize.addPlan (the part where ColumnNotFoundException is caught) 
about the currently limited ways Phoenix has to retrieve data from the main 
table (in that case for columns not indexed, but the same same would apply for 
index entries that are in unVERIFIED state.

> Consistent Global Indexes for Non-Transactional Tables
> ------------------------------------------------------
>
>                 Key: PHOENIX-5156
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-5156
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.13.0, 4.14.0, 5.0.0, 4.14.1
>            Reporter: Kadir OZDEMIR
>            Assignee: Kadir OZDEMIR
>            Priority: Major
>
> Without transactional tables, the global indexes can get easily out of sync 
> with their data tables in Phoenix. Transactional tables require a separate 
> transaction manager, have some restrictions and performance penalties. This 
> issue is to have consistent global indexes without the need for using 
> transactional tables.



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

Reply via email to