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

Karsten Otto resolved JAMES-3799.
---------------------------------
    Resolution: Fixed

> Optimize memory requirements of SimpleMessageSearchIndex
> --------------------------------------------------------
>
>                 Key: JAMES-3799
>                 URL: https://issues.apache.org/jira/browse/JAMES-3799
>             Project: James Server
>          Issue Type: Improvement
>          Components: MailStore & MailRepository
>    Affects Versions: master
>            Reporter: Karsten Otto
>            Priority: Major
>          Time Spent: 3h 40m
>  Remaining Estimate: 0h
>
> While experimenting some more with the ExpireMailboxService, I noticed that 
> it uses an unexpectedly high amount of heap memory. I tracked the issue down 
> to SimpleMessageSearchIndex.searchResults(), which always uses FetchType.FULL 
> when retrieving messages from the MessageMapper for non-UID searches. Thus it 
> loads the entire mail into memory, even if it only needs to check the 
> internalDate.
> I propose to optimize the fetch type used at this point, so it depends on the 
> actual requirements of the stated SearchQuery. For most queries, it will only 
> need to retrieve the mail headers, which typically have a much smaller memory 
> footprint than mail bodies. For certain cases it may avoid even that if it 
> only needs the message metadata.
> Besides a significant reduction in memory use, I also anticipate a certain 
> amount of speed improvement when reducing/skipping content retrieval from 
> blob storage.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to