This is an automated email from the ASF dual-hosted git repository. btellier pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 841ab85cf141c0f8485eb44e5dcaa4f0aca3eb91 Author: Benoit Tellier <[email protected]> AuthorDate: Sat May 8 15:00:30 2021 +0700 JAMES-3407 Applicative read-repair: draw a random number only if needed --- .../james/mailbox/cassandra/mail/CassandraMailboxMapper.java | 3 ++- .../james/mailbox/cassandra/mail/CassandraMessageMapper.java | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java index d372af7..17fcae8 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMailboxMapper.java @@ -147,7 +147,8 @@ public class CassandraMailboxMapper implements MailboxMapper { } private boolean shouldReadRepair() { - return secureRandom.nextFloat() < cassandraConfiguration.getMailboxReadRepair(); + return cassandraConfiguration.getMailboxReadRepair() > 0 + && secureRandom.nextFloat() < cassandraConfiguration.getMailboxReadRepair(); } diff --git a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java index 0aa353a..f929b83 100644 --- a/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java +++ b/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraMessageMapper.java @@ -180,9 +180,12 @@ public class CassandraMessageMapper implements MessageMapper { } private boolean shouldReadRepair(MailboxCounters counters) { + boolean activated = cassandraConfiguration.getMailboxCountersReadRepairChanceMax() != 0 || cassandraConfiguration.getMailboxCountersReadRepairChanceOneHundred() != 0; double ponderedReadRepairChance = cassandraConfiguration.getMailboxCountersReadRepairChanceOneHundred() * (100.0 / counters.getUnseen()); - return secureRandom.nextFloat() < Math.min( - cassandraConfiguration.getMailboxCountersReadRepairChanceMax(), ponderedReadRepairChance); + return activated && + secureRandom.nextFloat() < Math.min( + cassandraConfiguration.getMailboxCountersReadRepairChanceMax(), + ponderedReadRepairChance); } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
