You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Marek Laca (Jira)" <ji...@apache.org> on 2021/05/28 14:33:00 UTC

[jira] [Created] (QPID-8531) [Broker-J] SelectorThread disobey eat-what-you-kill pattern

Marek Laca created QPID-8531:
--------------------------------

             Summary: [Broker-J] SelectorThread disobey eat-what-you-kill pattern
                 Key: QPID-8531
                 URL: https://issues.apache.org/jira/browse/QPID-8531
             Project: Qpid
          Issue Type: Improvement
          Components: Broker-J
            Reporter: Marek Laca


The SelectorThread.SelectTask inner class is responsible for selecting the incoming data from the connection socket.

If the new connection data are pick up by the selector from the socket then a connection job is pushed into the scheduler queue but the thread that selected the connection data tries also to process the job. If there is a free thread in the pool then the new connection job could be processed by the free thread.

But if the new connection socket is selected from server socked then a new job is pushed into the scheduler queue and it will wait for a free thread. The thread that selected the new socket never processes the job and the thread does not process what it killed.

The first selector 0 is always registered in the server socket to wait for a new connection. It makes the first selector special but the work load should be distributed among all selectors.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org