Kiran Kumar Maturi created PHOENIX-4993:
-------------------------------------------
Summary: 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
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)