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

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

Hi [~kozdemir], I'm not trying to kill anything.

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

This would force the index update for immutable indexes to the server, which 
would add to the server-server communication (this is what I meant with bad). I 
think we should do this only for the current mutable global indexes, which - 
unfortunately - already do this on the server.

So for an index row in unVERIFIED state you're resolving that at the server - I 
missed this in the doc, apologies. That works assuming this is a rare 
occurrence.

So let's do this:
# Fix the mutable global index bug by doing your two-phase theme on the server.
# Keep immutable index updates on the client. This "only" requires careful 
ordering of the updates from the client.
# Always do the unVERIFIED resolution on the server - for both mutable and 
immutable indexes. (I think it's rare enough)

This would be a good compromised between correctness and server load, and it is 
very close to your design.

--

Personally, long term, I'd still like to see us arriving in a world where we 
only have:
# Local, uncovered Indexes.
# Global, client-managed, covered, transactional indexes, both mutable and 
immutable.


> 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