[ https://issues.apache.org/jira/browse/PHOENIX-4785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16518940#comment-16518940 ]
Vincent Poon commented on PHOENIX-4785: --------------------------------------- [~elserj] As I understand the patch, it's the client setting the counter, so it's not quote a cross-RS RPC, but actually a client-to-server RPC. We do have meta priority handlers for syscat so there's less of a chance of deadlock. The thundering herd on syscat is still a valid concern, though it's somewhat mitigated by the default of 30 seconds we allow an index to remain in PENDING_DISABLE. After that, the index is flipped to DISABLE and index maintenance stops, so the clients shouldn't be updating counters anymore after that. [~an...@apache.org] Nice work on the patch, mostly lgtm on first pass, I'll do a more thorough review hopefully tomorrow. One question - do you know if there's any way we can increment/decrement only if the index is in PENDING_DISABLE state? There does seem to be a small race condition e.g. where an client gets an index write failure and starts retrying , the rebuilder thread goes through the DISABLE -> ACTIVE cycle and clears the counter, then the counter gets decremented after the client retries are exhausted. It's nice that you clear the counter at ACTIVE as well as DISABLE so the odds of this are minimal. > Unable to write to table if index is made active during retry > ------------------------------------------------------------- > > Key: PHOENIX-4785 > URL: https://issues.apache.org/jira/browse/PHOENIX-4785 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.14.0 > Reporter: Romil Choksi > Assignee: Ankit Singhal > Priority: Blocker > Fix For: 5.0.0, 4.14.1 > > Attachments: PHOENIX-4785.v1.master.patch, PHOENIX-4785_test.patch, > PHOENIX-4785_v2.patch, PHOENIX-4785_v2_5.0-branch.patch > > > After PHOENIX-4130, we are unable to write to a table if an index is made > ACTIVE during the retry as client timestamp is not cleared when table state > is changed from PENDING_DISABLE to ACTIVE even if our policy is not to block > writes on data table in case of write failure for index. -- This message was sent by Atlassian JIRA (v7.6.3#76005)