[
https://issues.apache.org/jira/browse/PHOENIX-5156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16779014#comment-16779014
]
Kadir OZDEMIR commented on PHOENIX-5156:
----------------------------------------
[~lhofhansl], it is not fair to kill an idea because the proposed
implementation of it has been chosen to be on the server side. Also, it is not
fair to claim that implementing something on the server side is a bad idea
because we have seen some issues with our server side implementations. As far
as I know, based on my discussions with other Phoenix developers, we do not
have a good handle on the root causes of our issues. I was initially going with
the general belief that server-server RPC communications are the main root
cause of our index inconsistency issues until two of our developers warned me
that we were not sure about it. This proposal does not address the root cause
of these issues but correctly deals with them and does not allow indexes to
return wrong data.
I thank you for informing me that some of our scans happen on the client side.
I think I have read about it but completely forgot about it. For scans on the
client side, we need to check the VERIFIED column on the client side too and
read from the data table when needed. Doing this on the client side is much
easier than doing it server side as we do not need to serialize and send some
metadata server side in this case. I do not see any problem with that. I will
look into QueryOptimize code and add details on how to do this.
> 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)