You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@james.apache.org by bt...@apache.org on 2021/09/08 07:08:27 UTC

[james-project] branch master updated: JAMES-3150 BloomFilterGCAlgorithmContract: Lower false positive rates (#644)

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


The following commit(s) were added to refs/heads/master by this push:
     new 1133568  JAMES-3150 BloomFilterGCAlgorithmContract: Lower false positive rates (#644)
1133568 is described below

commit 113356871d0d579dd9abf343e4549bcbb48a9ed3
Author: Benoit TELLIER <bt...@linagora.com>
AuthorDate: Wed Sep 8 14:08:22 2021 +0700

    JAMES-3150 BloomFilterGCAlgorithmContract: Lower false positive rates (#644)
    
    Before: 80%
    After: 1%
    
    This was causing test stability issues
---
 .../blob/deduplication/BloomFilterGCAlgorithmContract.java | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/server/blob/blob-storage-strategy/src/test/java/org/apache/james/server/blob/deduplication/BloomFilterGCAlgorithmContract.java b/server/blob/blob-storage-strategy/src/test/java/org/apache/james/server/blob/deduplication/BloomFilterGCAlgorithmContract.java
index d08ae74..cb00b3f 100644
--- a/server/blob/blob-storage-strategy/src/test/java/org/apache/james/server/blob/deduplication/BloomFilterGCAlgorithmContract.java
+++ b/server/blob/blob-storage-strategy/src/test/java/org/apache/james/server/blob/deduplication/BloomFilterGCAlgorithmContract.java
@@ -32,8 +32,6 @@ import java.util.UUID;
 import java.util.stream.Collectors;
 import java.util.stream.IntStream;
 
-import org.apache.james.server.blob.deduplication.BloomFilterGCAlgorithm.Context;
-import org.apache.james.server.blob.deduplication.BloomFilterGCAlgorithm.Context.Snapshot;
 import org.apache.james.blob.api.BlobId;
 import org.apache.james.blob.api.BlobReferenceSource;
 import org.apache.james.blob.api.BlobStore;
@@ -41,6 +39,8 @@ import org.apache.james.blob.api.BlobStoreDAO;
 import org.apache.james.blob.api.BucketName;
 import org.apache.james.blob.api.HashBlobId;
 import org.apache.james.blob.api.ObjectNotFoundException;
+import org.apache.james.server.blob.deduplication.BloomFilterGCAlgorithm.Context;
+import org.apache.james.server.blob.deduplication.BloomFilterGCAlgorithm.Context.Snapshot;
 import org.apache.james.task.Task;
 import org.apache.james.utils.UpdatableTickingClock;
 import org.awaitility.Awaitility;
@@ -59,7 +59,7 @@ public interface BloomFilterGCAlgorithmContract {
     BucketName DEFAULT_BUCKET = BucketName.of("default");
     GenerationAwareBlobId.Configuration GENERATION_AWARE_BLOB_ID_CONFIGURATION = GenerationAwareBlobId.Configuration.DEFAULT;
     int EXPECTED_BLOB_COUNT = 100;
-    double ASSOCIATED_PROBABILITY = 0.8;
+    double ASSOCIATED_PROBABILITY = 0.01;
 
     ConditionFactory CALMLY_AWAIT = Awaitility
         .with().pollInterval(ONE_HUNDRED_MILLISECONDS)
@@ -109,7 +109,7 @@ public interface BloomFilterGCAlgorithmContract {
                 .gcedBlobCount(1)
                 .errorCount(0)
                 .bloomFilterExpectedBlobCount(100)
-                .bloomFilterAssociatedProbability(0.8)
+                .bloomFilterAssociatedProbability(ASSOCIATED_PROBABILITY)
                 .build());
         assertThatThrownBy(() -> blobStore.read(DEFAULT_BUCKET, blobId))
             .isInstanceOf(ObjectNotFoundException.class);
@@ -133,7 +133,7 @@ public interface BloomFilterGCAlgorithmContract {
                 .gcedBlobCount(0)
                 .errorCount(0)
                 .bloomFilterExpectedBlobCount(100)
-                .bloomFilterAssociatedProbability(0.8)
+                .bloomFilterAssociatedProbability(ASSOCIATED_PROBABILITY)
                 .build());
         assertThat(blobStore.read(DEFAULT_BUCKET, blobId))
             .isNotNull();
@@ -158,7 +158,7 @@ public interface BloomFilterGCAlgorithmContract {
                 .gcedBlobCount(0)
                 .errorCount(0)
                 .bloomFilterExpectedBlobCount(100)
-                .bloomFilterAssociatedProbability(0.8)
+                .bloomFilterAssociatedProbability(ASSOCIATED_PROBABILITY)
                 .build());
         assertThat(blobStore.read(DEFAULT_BUCKET, blobId))
             .isNotNull();
@@ -252,7 +252,7 @@ public interface BloomFilterGCAlgorithmContract {
                 .gcedBlobCount(0)
                 .errorCount(1)
                 .bloomFilterExpectedBlobCount(100)
-                .bloomFilterAssociatedProbability(0.8)
+                .bloomFilterAssociatedProbability(ASSOCIATED_PROBABILITY)
                 .build());
     }
 }

---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@james.apache.org
For additional commands, e-mail: notifications-help@james.apache.org