[ https://issues.apache.org/jira/browse/PHOENIX-4993?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vincent Poon resolved PHOENIX-4993. ----------------------------------- Resolution: Resolved > 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 > Fix For: 4.15.0, 5.1.0 > > 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, > PHOENIX-4993-master.01.patch, PHOENIX-4993-master.02.patch, > PHOENIX-4993-master.addendum-1.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)