[ https://issues.apache.org/jira/browse/JAMES-3736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Benoit Tellier closed JAMES-3736. --------------------------------- Resolution: Fixed > Kill IMAP processing chain > -------------------------- > > Key: JAMES-3736 > URL: https://issues.apache.org/jira/browse/JAMES-3736 > Project: James Server > Issue Type: Improvement > Components: IMAPServer > Affects Versions: 3.7.0 > Reporter: Benoit Tellier > Priority: Major > Fix For: 3.8.0 > > Time Spent: 20m > Remaining Estimate: 0h > > Today we create a processor chain to manage IMAP request: each processor > passes the request to the next until the request is managed. > This leads to absurdly, needlessly long call stacks as we easily have 40+ > processors. > - This have a performance impact as feeling thread stacks do not come for > free > - Exceptions are hard to read (longer stacktraces) > - Reading flame graphs is also harder! > We should in my opinion just use a map to directly get the processor for a > given request, simply using the request class as a key. -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org