You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2015/12/09 02:29:10 UTC

[jira] [Created] (PHOENIX-2500) Small race condition for clients to see application-level exception when PQS shutting down

Josh Elser created PHOENIX-2500:
-----------------------------------

             Summary: Small race condition for clients to see application-level exception when PQS shutting down
                 Key: PHOENIX-2500
                 URL: https://issues.apache.org/jira/browse/PHOENIX-2500
             Project: Phoenix
          Issue Type: Bug
            Reporter: Josh Elser
            Assignee: Josh Elser


I wrote a little test for PQS where multiple instances sit behind a dumb load balancer. A client thread runs queries against the load balancer, and another thread willy-nilly kills PQS instances (chaos-monkey esque).

We noticed that when a PQS instance gets killed while a query is running, a client might get an exception stemming from the ThreadPool being shut down by the PhoenixDriver ShutdownHook.

Ideally, the client would just see an HTTP/500-level error or get some sort of transport-level exception, not an exception with an RejectedExecutionException. The solution, I think, is to let PQS register its own code to run before PhoenixDriver closes itself.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)