You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by th...@apache.org on 2025/06/30 14:23:01 UTC

(jackrabbit-oak) 01/01: OAK-11781 Binary reference statistics are inaccurate for very large repositories

This is an automated email from the ASF dual-hosted git repository.

thomasm pushed a commit to branch OAK-11781
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git

commit ff07c3b10d19ba80418f5220fe203bac4d4a5729
Author: Thomas Mueller <th...@apache.org>
AuthorDate: Mon Jun 30 16:22:45 2025 +0200

    OAK-11781 Binary reference statistics are inaccurate for very large repositories
---
 .../oak/index/indexer/document/flatfile/analysis/StatsBuilder.java      | 2 +-
 .../indexer/document/flatfile/analysis/modules/DistinctBinarySize.java  | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/StatsBuilder.java b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/StatsBuilder.java
index 018670e97d..2bac1d025f 100644
--- a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/StatsBuilder.java
+++ b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/StatsBuilder.java
@@ -90,7 +90,7 @@ public class StatsBuilder {
         collectors.add(new BinarySizeHistogram(1));
         collectors.add(new TopLargestBinaries(10));
         collectors.add(new DistinctBinarySizeHistogram(1));
-        collectors.add(new DistinctBinarySize(16, 16));
+        collectors.add(new DistinctBinarySize(32, 128));
 
         Profiler prof = null;
         if (profiler) {
diff --git a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/modules/DistinctBinarySize.java b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/modules/DistinctBinarySize.java
index d1583007c7..272c7f357b 100644
--- a/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/modules/DistinctBinarySize.java
+++ b/oak-run-commons/src/main/java/org/apache/jackrabbit/oak/index/indexer/document/flatfile/analysis/modules/DistinctBinarySize.java
@@ -174,6 +174,7 @@ public class DistinctBinarySize implements StatsCollector {
         double fpp = BloomFilter.calculateFpp(smallBinariesEstimatedCount, bloomFilter.getBitCount(), bloomFilter.getK());
         long bloomFilterEstimatedSize = bloomFilterMinSize;
         bloomFilterEstimatedSize += fpp * bloomFilterIgnoredSize;
+        storage.add("small Bloom filter ffp*1000", (long) (fpp * 1000));
         storage.add("small binaries count", smallBinariesEstimatedCount);
         storage.add("small binaries HLL count", smallBinariesEstimatedCountHLL);
         storage.add("small binaries size", bloomFilterEstimatedSize);