chibenwa opened a new pull request, #3233:
URL: https://github.com/apache/james-project/pull/3233

   Reported downstream in https://github.com/linagora/tmail-backend/issues/2684
   
   - `InMemoryMessageIdMapper::findMetadata` returned the metadata of every 
message of every mailbox. An Email/set update of more than 3 ids with the same 
patch was turned into a range update spanning the whole mailbox (mark 4 mails 
as read -> the whole mailbox is read).
   - `StoreMessageIdManager::messagesMetadata` / `getMessagesReactive`: 
`groupBy` + `filterWhen` left the groups of unreadable mailboxes unsubscribed. 
Once ~256 such elements were buffered the Flux never completed (Email/set 
update hung for every account). Elements are now filtered against a per call 
cache of the Read right.
   - Defensive: JMAP Email/set update restricts store metadata to the requested 
ids.
   
   Tests: `MessageIdMapperTest::findMetadataShouldReturnOnlyTheGivenMessage`, 
`AbstractMessageIdManagerStorageTest::*ShouldCompleteWhenManyMessagesAreNotReadable`
 (both time out without the fix on memory).
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)
   
   ---
   *Generated automatically*


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to