phoenix-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vincent Poon (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-4993) Data table region should not close RS level shared/cached connections like IndexWriter, RecoveryIndexWriter
Date Thu, 17 Jan 2019 21:15:00 GMT

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

Vincent Poon commented on PHOENIX-4993:
---------------------------------------

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)

Mime
View raw message