[ 
https://issues.apache.org/jira/browse/QPIDJMS-552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francesco Nigro updated QPIDJMS-552:
------------------------------------
    Description: 
JMS 2 Completion threads are now tied to be one per JMS Session ie a client 
application with N JMS sessions need N completion threads to handle the 
completion events.

Given that the asynchronous model of JMS 2 allows users to have few threads 
handling many JMS sessions, should be better to reduce the amount of completion 
threads without exceeding the number of available cores and shrink/grow 
according to the completion event processing load.

If the user confine a connection in a thread handling many JMS sessions and the 
completion events are issued by the same Netty thread in sequence, if the 
completion processing for a JMS Session is fast enough, next JMS Sessions can 
reuse existing completion threads instead of using a new one.
This model save using too many completion threads for users tasks that are 
supposed to be very fast: if the user task cause a specific JMS Session 
completion thread to block, the expectation is that the system should be able 
to create a new completion thread to handle other JMS Session completion 
events, as expected.





  was:
JMS 2 Completion threads are now tied to be one per JMS Session ie a client 
application with N JMS sessions need N completion threads to handle the 
completion events.

Given that the asynchronous model of JMS 2 allows users to have few threads 
handling many JMS sessions, should be better to reduce the amount of completion 
threads without exceeding the number of available cores and shrink/grow 
according to the completion event processing load.

If the user confine a connection in a thread handling many JMS sessions and the 
completion events are issued by the same Netty thread in sequence, if the 
completion processing for a JMS Session is fast enough, next JMS Sessions can 
reuse existing completion threads instead of using a new one.
This model save using too many completion threads for users tasks that are 
supposed to be very fast: if the user task cause a specific JMS Session 
completion thread to block, the expectation is that the system should be able 
to create a new completion Thread to handle other JMS Session completion 
events, as expected.






> JMS 2 Completion threads shouldn't scale with the number of sessions
> --------------------------------------------------------------------
>
>                 Key: QPIDJMS-552
>                 URL: https://issues.apache.org/jira/browse/QPIDJMS-552
>             Project: Qpid JMS
>          Issue Type: Bug
>          Components: qpid-jms-client
>    Affects Versions: 1.3.0
>            Reporter: Francesco Nigro
>            Priority: Major
>
> JMS 2 Completion threads are now tied to be one per JMS Session ie a client 
> application with N JMS sessions need N completion threads to handle the 
> completion events.
> Given that the asynchronous model of JMS 2 allows users to have few threads 
> handling many JMS sessions, should be better to reduce the amount of 
> completion threads without exceeding the number of available cores and 
> shrink/grow according to the completion event processing load.
> If the user confine a connection in a thread handling many JMS sessions and 
> the completion events are issued by the same Netty thread in sequence, if the 
> completion processing for a JMS Session is fast enough, next JMS Sessions can 
> reuse existing completion threads instead of using a new one.
> This model save using too many completion threads for users tasks that are 
> supposed to be very fast: if the user task cause a specific JMS Session 
> completion thread to block, the expectation is that the system should be able 
> to create a new completion thread to handle other JMS Session completion 
> events, as expected.



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

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

Reply via email to