[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mina-dev
Subject:    [jira] [Resolved] (DIRMINA-1078) OrderedThreadPoolExecutor should allow sessions to be prioritized
From:       "Jonathan Valliere (JIRA)" <jira () apache ! org>
Date:       2018-07-22 12:16:00
Message-ID: JIRA.13138997.1518773098000.55274.1532261760210 () Atlassian ! JIRA
[Download RAW message or body]


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

Jonathan Valliere resolved DIRMINA-1078.
----------------------------------------
    Resolution: Fixed

Applied to 2.1 branch

> OrderedThreadPoolExecutor should allow sessions to be prioritized
> -----------------------------------------------------------------
> 
> Key: DIRMINA-1078
> URL: https://issues.apache.org/jira/browse/DIRMINA-1078
> Project: MINA
> Issue Type: New Feature
> Components: Core
> Reporter: Guus der Kinderen
> Assignee: Jonathan Valliere
> Priority: Minor
> Attachments: 20180216.patch, 20180706.patch
> 
> 
> The functionality provided in {{OrderedThreadPoolExecutor}} should be augmented to, \
> optionally, allow for assignment of priority to certain sessions over others. We've \
> introduced this functionality after observing issues in a deployment where system \
> resources where being starved by the sheer amount of sessions that attempted to \
> perform TLS. Without the class introduced by this commit, events for any session \
> could eventually fail (time-out), causing the session to fail. If that session \
> happened to be a session that had already established TLS, the resources that were \
> spent on establishing TLS are wasted. The negative effect is amplified by the fact \
> that a typical client in such a situation would attempt to reconnect, which further \
> adds to the load of the system already being starved. With the modifications \
> introduced by the patch provided in this issue, priority can be given to sessions \
> that have already established TLS. This dramatically reduces the issue described \
> above, as the first sessions to fail will be those that are still negotiating TLS. \
> Using a specialized {{Comparator}}, one can even prioritize between these, causing \
> sessions for which least effort has performed to fail before sessions that are more \
> likely to near TLS completion. The patch intends to add this feature as optional \
> functionality to the existing implementation, with little side effects to the \
> existing, default behavior. The implementation provided here was initially based on \
> a copy of the implementation of {{OrderedThreadPoolExecutor}} that introduced a \
> considerable amount of code duplication. For illustrative purposes, the line of \
> commits leading from that initial commit to the patch attached to this JIRA issue \
> can be found at [https://github.com/guusdk/mina/commit/c0a421cf445696fbfd4d5b10d650d7c71d8faab7] \
> and later commits.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic