phoenix-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Geoffrey Jacoby (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PHOENIX-4993) Data table region should not close RS level shared/cached connections like IndexWriter, RecoveryIndexWriter
Date Mon, 17 Dec 2018 18:50:00 GMT

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

Geoffrey Jacoby commented on PHOENIX-4993:
------------------------------------------

Generally looks good, [~kiran.maturi]. 

[~tdsilva], what's the correct way currently to have an IT test that uses its own cluster?
This test descends from BaseTest, rather than the newer subclasses of it, and I see there's
also a NeedsOwnMiniClusterTest annotation in Phoenix that's not present here. I don't see
any doc that tells developers which to use. (Will file a separate JIRA for that.)


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