[ https://issues.apache.org/jira/browse/PHOENIX-4785?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16514570#comment-16514570 ]
Vincent Poon commented on PHOENIX-4785: --------------------------------------- >How about keeping a count of PENDING_DISABLE? which we will be incrementing >atomically on every PENDING_DISABLE call and decrementing it on ACTIVE call , >if count=0 make it ACTIVE otherwise keep it PENDING_DISABLE. You would need a global counter, and to be able to uniquely identify each client request. So if Client A writes, fails, PENDING_DISABLE = 1 Client B writes, fails, PENDING_DISABLE should be 2 Client A writes, fails, PENDING_DISABLE should still be 2 I suppose we could set it on the client side, by writing to System.CATALOG every time we initially get back an IndexWriteException ? > 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: Vincent Poon > Priority: Blocker > Fix For: 5.0.0, 4.14.1 > > Attachments: PHOENIX-4785.v1.master.patch, PHOENIX-4785_test.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)