[
https://issues.apache.org/jira/browse/DIRMINA-668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12785852#action_12785852
]
Emmanuel Lecharny commented on DIRMINA-668:
-------------------------------------------
AFAIR, when a new message arrives, as it is associated with a session, it's
beng processed by a IoProcessor. As an IoProcessor also holds the selector, we
can't process more than one message at a time in a single IoProcessor
(hopefully, we have more than one IoProcessor). So if the message is costly to
process (ie, yu access a database in the middle), in a loaded system, messages
can be blocked a long time before being processed, waiing for the crrent
message to be completed.
This is what I meant. Hope it's clearer.
> Modify the way we use IoProcessors
> ----------------------------------
>
> Key: DIRMINA-668
> URL: https://issues.apache.org/jira/browse/DIRMINA-668
> Project: MINA
> Issue Type: Improvement
> Affects Versions: 2.0.0-M4
> Reporter: Emmanuel Lecharny
> Fix For: 3.0.0-M1
>
>
> In the current code base, when accepting new connections, we pick a processor
> and register the news connection within the internal selector. In other
> words, we have as many selectors as we have IoProcessors.
> This is a potential problem if some request cost a lot to be executed, as
> every requests waiting on this IoProcessor will be blocked.
> It would be way better to use a single selector which dispatches requests to
> an Executor, as we will always have available threads ready to process the
> requests (unless the pool is saturated, but then we have a bigger issue ...)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.