[
https://issues.apache.org/jira/browse/PHOENIX-4993?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16745511#comment-16745511
]
Vincent Poon edited comment on PHOENIX-4993 at 1/17/19 9:15 PM:
----------------------------------------------------------------
One odd thing though - when the ConnectionFactory.shutdown() is called, right
now we loop through all connections and close them.
To be more accurate, shouldn't we be only closing the one matching the
ConnectionType in CoprocessHConnectionTableFactory ? [~kiran.maturi]
Though I guess it doesn't really matter if the entire server is being
shutdown...
was (Author: vincentpoon):
One odd thing though - when the ConnectionFactory.shutdown() is called, right
now we loop through all connections and close them.
To be more accurate, shouldn't we be only closing the one matching the
ConnectionType in CoprocessHConnectionTableFactory ? [~kiran.maturi]
> Data table region should not close RS level shared/cached connections like
> IndexWriter, RecoveryIndexWriter
> -----------------------------------------------------------------------------------------------------------
>
> Key: PHOENIX-4993
> URL: https://issues.apache.org/jira/browse/PHOENIX-4993
> Project: Phoenix
> Issue Type: Bug
> Affects Versions: 4.14.0
> Reporter: Kiran Kumar Maturi
> Assignee: Kiran Kumar Maturi
> Priority: Major
> Attachments: PHOENIX-4993-4.x-HBase-1.3.01.patch,
> PHOENIX-4993-4.x-HBase-1.3.02.patch, PHOENIX-4993-4.x-HBase-1.3.03.patch,
> PHOENIX-4993-4.x-HBase-1.3.04.patch, PHOENIX-4993-4.x-HBase-1.3.05.patch
>
>
> Issue is related to Region Server being killed when one region is closing and
> another region is trying to write index updates.
> When the data table region closes it will close region server level
> cached/shared connections and it could interrupt other region
> index/index-state update.
> -- Region1: Closing
> {code:java}
> TrackingParallellWriterIndexCommitter#stop() {
> this.retryingFactory.shutdown();
> this.noRetriesFactory.shutdown();
> }{code}
> closes the cached connections calling
> CoprocessorHConnectionTableFactory#shutdown() in ServerUtil.java
>
> --Region2: Writing index updates
> Index updates fail as connections are closed, which leads to
> RejectedExecutionException/Connection being null. This triggers
> PhoenixIndexFailurePolicy#handleFailureWithExceptions that tries to get the
> the syscat table using the cached connections. Here it will not be able to
> reach to SYSCAT , so we will trigger KillServreFailurePolicy.
> CoprocessorHConnectionTableFactory#getTable()
>
>
> {code:java}
> if (connection == null || connection.isClosed()) {
> throw new IllegalArgumentException("Connection is null or closed.");
> }{code}
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)