You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2017/08/08 03:42:16 UTC
[2/6] james-project git commit: JAMES-2103 Fix StoreMessageIdManager
Quota management
JAMES-2103 Fix StoreMessageIdManager Quota management
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/533af6aa
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/533af6aa
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/533af6aa
Branch: refs/heads/master
Commit: 533af6aa30dddcdea4a01e7c922c4ff165d6c2cc
Parents: 69cef15
Author: benwa <bt...@linagora.com>
Authored: Fri Jul 28 11:24:58 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Tue Aug 8 10:39:51 2017 +0700
----------------------------------------------------------------------
.../org/apache/james/mailbox/store/StoreMessageIdManager.java | 6 ++++--
.../james/mailbox/store/AbstractMessageIdManagerQuotaTest.java | 3 ---
2 files changed, 4 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/533af6aa/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
index 9b9d6e1..3d06f87 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMessageIdManager.java
@@ -206,9 +206,11 @@ public class StoreMessageIdManager implements MessageIdManager {
Map<QuotaRoot, Integer> messageCountByQuotaRoot = buildMapQuotaRoot(mailboxIdsToBeAdded, mailboxIdsToBeRemove, mailboxMapper);
for (Map.Entry<QuotaRoot, Integer> entry : messageCountByQuotaRoot.entrySet()) {
- if (entry.getValue() > 0) {
+ Integer additionalCopyCount = entry.getValue();
+ if (additionalCopyCount > 0) {
+ long additionalOccupiedSpace = additionalCopyCount * mailboxMessage.getFullContentOctets();
new QuotaChecker(quotaManager.getMessageQuota(entry.getKey()), quotaManager.getStorageQuota(entry.getKey()), entry.getKey())
- .tryAddition(entry.getValue(), mailboxMessage.getFullContentOctets());
+ .tryAddition(additionalCopyCount, additionalOccupiedSpace);
}
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/533af6aa/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerQuotaTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerQuotaTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerQuotaTest.java
index bfc59d6..757f434 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerQuotaTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/AbstractMessageIdManagerQuotaTest.java
@@ -27,7 +27,6 @@ import org.apache.james.mailbox.MessageUid;
import org.apache.james.mailbox.exception.OverQuotaException;
import org.apache.james.mailbox.manager.MailboxManagerFixture;
import org.apache.james.mailbox.mock.MockMailboxSession;
-import org.apache.james.mailbox.model.MailboxPath;
import org.apache.james.mailbox.model.MessageId;
import org.apache.james.mailbox.quota.CurrentQuotaManager;
import org.apache.james.mailbox.quota.MaxQuotaManager;
@@ -35,7 +34,6 @@ import org.apache.james.mailbox.quota.QuotaManager;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.junit.After;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -113,7 +111,6 @@ public abstract class AbstractMessageIdManagerQuotaTest {
messageIdManager.setInMailboxes(messageId, ImmutableList.of(mailbox1.getMailboxId(), mailbox2.getMailboxId()), session);
}
- @Ignore
@Test
public void setInMailboxesShouldThrowWhenStorageQuotaExceededWhenCopiedToMultipleMailboxes() throws Exception {
maxQuotaManager.setDefaultMaxStorage(2 * testingData.getConstantMessageSize());
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org