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

Josh Elser commented on PHOENIX-4785:
-------------------------------------

{code:java}
+    private static void incrementCounterForIndex(PhoenixConnection conn, 
String failedIndexTable,long amount) throws IOException {
+        byte[] indexTableKey = 
SchemaUtil.getTableKeyFromFullName(failedIndexTable);
+        Increment incr = new Increment(indexTableKey);
+        incr.addColumn(TABLE_FAMILY_BYTES, 
PhoenixDatabaseMetaData.PENDING_DISABLE_COUNT_BYTES, amount);
+        try {
+            conn.getQueryServices()
+                    
.getTable(SchemaUtil.getPhysicalTableName(PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME,
+                            conn.getQueryServices().getProps()).getName())
+                    .increment(incr);
+        } catch (SQLException e) {
+            throw new IOException(e);
+        }
+    }{code}
Just pointing out that this is another cross-RegionServer RPC that's going to 
happen. Should we be worried about a thundering-herd to the SYSTEM.CATALOG 
table's RegionServer if for a very busy system, updates to an index table all 
start failing (e.g. RS hosting a hot region for a global index "hangs")?

I don't have a better solution off the top of my head, just wanted to make sure 
we acknowledge this. A comment to make sure it doesn't "hide" would be good :)

> 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)

Reply via email to