You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by "chibenwa (via GitHub)" <gi...@apache.org> on 2024/03/05 13:48:37 UTC
[PR] [FIX] IMAP execution management [james-project]
chibenwa opened a new pull request, #2090:
URL: https://github.com/apache/james-project/pull/2090
That is my best shot at explaining:
```
java.lang.NullPointerException: Cannot invoke "org.apache.james.imap.api.process.SelectedMailbox.existsCount()" because "selected" is null
```
CF https://github.com/linagora/james-project/issues/4688 which was mostly fixed incorrectly...
The Netty stack enforce linearisability of operation conducted on the event loop for a single channel, including command decoding.
For command execution, we trigger the processing only reactor. We rely on a linarizer to enforce sequential IMAP execution.
So in theory we do never execute two IMAP commands of a given connection at the same time.
However no mechanism prevents decoding at the same time than command execution - and that is fine - however the channel operations (inactive, idle, parsing failures) MAY interfere with command execution by deciding a logout eventually deselecting the current mailbox and resulting in the NPE.
Lessons learned: always cancel current command execution before deciding to log out!
That, and we were executing blocking code onto the netty event loop which IS BAD.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org
Re: [PR] [FIX] IMAP execution management [james-project]
Posted by "Arsnael (via GitHub)" <gi...@apache.org>.
Arsnael merged PR #2090:
URL: https://github.com/apache/james-project/pull/2090
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org