phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Josh Elser (JIRA)" <>
Subject [jira] [Commented] (PHOENIX-4785) Unable to write to table if index is made active during retry
Date Wed, 20 Jun 2018 21:12:00 GMT


Josh Elser commented on PHOENIX-4785:

+    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,
+        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:
>             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,
> 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

View raw message