[
https://issues.apache.org/jira/browse/HBASE-15232?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15137719#comment-15137719
]
Josh Elser commented on HBASE-15232:
------------------------------------
bq. This means cache is cleaned whenever any of the table(s) hosted on server
got into the scenario, right ?
Yep. This is consistent with what happens on the 0.98 branch as well as what
happens in {{AsyncProcess.receiveGlobalFailure}} (which is called if there is a
transport-level IOException). This change (in
{{AsyncProcess.receiveMultiAction}}) handles the application-level exceptions
(e.g. NotServingRegionException) and, I think, was just missing this cache
clear. Longer-term, it would be nice to consolidate the error-handling logic in
AsyncProcess, I think.
> Exceptions returned over multi RPC don't automatically trigger region
> location reloads
> --------------------------------------------------------------------------------------
>
> Key: HBASE-15232
> URL: https://issues.apache.org/jira/browse/HBASE-15232
> Project: HBase
> Issue Type: Sub-task
> Components: Client
> Reporter: Josh Elser
> Assignee: Josh Elser
> Fix For: 2.0.0, 1.3.0, 1.2.1, 1.1.4
>
> Attachments: HBASE-15232.001.patch
>
>
> Follow-on for HBASE-15221:
> A work-around was added in HTableMultiplexer to work around an issue that
> AsyncProcess wasn't clearing the region location cache on Exception. This was
> stemming from the issue that the {{tableName}} is {{null}} because
> HTableMultiplexer is using the {{multi}} RPC. This causes an error that looks
> like:
> {noformat}
> [WARN] Coding error, see method javadoc. row=[B@1673eff, tableName=null
> {noformat}
> HBASE-15221 should fix HTableMultiplexer, but it would be good to push the
> fix down into AsyncProcess instead of using higher-level workarounds.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)