[
https://issues.apache.org/jira/browse/PHOENIX-5156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16816726#comment-16816726
]
Kadir OZDEMIR commented on PHOENIX-5156:
----------------------------------------
[~lhofhansl], Thank you for spending time on this. In the initial design, I was
holding the row locks during RPCs for updating index tables. in order to
prevent cluster-wide lockup, I came up with the solution where the thread
waiting for a row lock times out quickly (after waiting for 200ms), releases
the acquired locks and converts the timeout exception to an IO exception so
that the client retries the batch.This week, I figured out a solution which
does not require holding row locks anymore for updating index tables. So, we do
not need the first solution anymore. I am going to revert it back to the
original behavior. Good catch :)
> Consistent Mutable 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
> Attachments: PHOENIX-5156.master.001.patch,
> PHOENIX-5156.master.002.patch, PHOENIX-5156.master.003.patch,
> PHOENIX-5156.master.004.patch, PHOENIX-5156.master.005.patch,
> PHOENIX-5156.master.006.patch, PHOENIX-5156.master.007.patch
>
> Time Spent: 8h
> Remaining Estimate: 0h
>
> Without transactional tables, the mutable 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 mutable global indexes without
> the need for using transactional tables.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)