Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
master
-
None
Description
The following code snippet in 'init' method in 'StoreMailboxManager.java' is executed multiple times such that the same quotaUpdater is registered as a global listener more than once.
if (quotaUpdater != null && quotaUpdater instanceof MailboxListener)
The above code is invoked multiple times by the below configuration in 'spring-mailbox.xml'.
<import resource="classpath:META-INF/spring/mailbox-jpa.xml"/>
<import resource="classpath:META-INF/spring/mailbox-maildir.xml"/>
The quota increase or decrease is currently being executed twice for each message addition or deletion in our tests because the same quota updater is registered twice by the above config. For example, if a message of 1MB is appended to a mailbox, 'getCurrentStorage' method in 'InMemoryCurrentQuotaManager.java' returns a size which is 2MBs larger than before.