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