"I can only assume that it is hard-coded in a config file somewhere ..."
This got me digging and comparing and I can report the following.
On Redis 8.8.0 from pkgsrc the /opt/local/etc/redis.conf file is 2543 lines long and does not contain any entry of the word "bloom".
On Redis 8.10.0 from pkgsrc the /opt/local/etc/redis.conf file is 3136 lines long and contains this section (note that the line numbers are displayed here):
[...]
2697 # When enabled, 'key-memory-histograms' adds per-type memory
allocation histograms
2698 # (distrib_*_sizes fields in bytes) to INFO keysizes output,
complementing the
2699 # existing size/item histograms with actual memory usage
data.
2700 #
2701 # This setting must be enabled at startup; later config
changes have no effect.
2702 # It is also implicitly enabled when
'cluster-slot-stats-enabled' is set.
2703 #
2704 # key-memory-histograms no
2705
2706 # >>> BEGIN section: Modules (regenerated on every
sync) <<<
2707 # Auto-generated by `make sync-redis-conf` �~@~T do NOT edit
this block by hand;
2708 # it is stripped and regenerated on every sync. Everything
above is the
2709 # Redis-core config from redis.conf, emitted verbatim.
2710 #
2711 # Generated: 2026-08-17T17:11:46Z
2712 # Requested: <all manifest modules>
2713 # Active: redisbloom redisearch redisjson
redistimeseries
2714 # Missing .so: <none>
2715 # Bad manifest: <none>
2716
2717 # >>> BEGIN: loadmodule paths (replaced by make
deploy) <<<
2718 loadmodule ./modules/redisbloom/redisbloom.so
2719 loadmodule ./modules/redisearch/redisearch.so
2720 loadmodule ./modules/redisjson/rejson.so
2721 loadmodule ./modules/redistimeseries/redistimeseries.so
2722 # <<< END: loadmodule paths <<<
2723
2724 # >>> BEGIN module: redisbloom <<<
2725 ########################### BLOOM FILTERS CONFIG
##############################
2726
2727
2728 # Defaults values for new Bloom filters created with BF.ADD,
BF.MADD, BF.INSERT, and BF.RESERVE
2729 # These defaults are applied to each new Bloom filter upon
its creation.
2730
2731 # Error ratio
2732 # The desired probability for false positives.
2733 # For a false positive rate of 0.1% (1 in 1000) - the value
should be 0.001.
2734 # double, Valid range: (0 .. 1), value greater than 0.25 is
treated as 0.25, default: 0.01
2735 #
2736 # bf-error-rate 0.01
2737
2738 # Initial capacity
2739 # The number of entries intended to be added to the filter.
2740 # integer, valid range: [1 .. 1GB], default: 100
2741 #
2742 # bf-initial-size 100
2743
2744 # Expansion factor
2745 # When capacity is reached, an additional sub-filter is
created.
2746 # The size of the new sub-filter is the size of the last
sub-filter multiplied
2747 # by expansion.
2748 # integer, [0 .. 32768]. 0 is equivalent to NONSCALING.
default: 2
2749 #
2750 # bf-expansion-factor 2
2751
2752
2753 ########################### CUCKOO FILTERS CONFIG
#############################
[...]
Line 2707 does something funky, but line 2718 is especially interesting here, I suppose.
Also, line 2704, stating "# key-memory-histograms no", is exactly the final line in the 8.8.0 config file; although these line numbers do not match, so there are more changes before that section.
Only when I comment out lines 2718-2721 ("loadmodule ...") in that redis 8.10.0 config file, I am able to "svcadm clear redis" and get the service from maintenance to online.
So, while this seems to work, I would very much like this to be configured properly out-of-the-box. Also, since I do not know redis in detail, my gut tells me there might be something broken elsewhere by simply disabling these lines.
Are you able to reproduce and confirm all of this?
Please suggest on how to go forward.
Thanks.
* On 2026-09-21 at 15:02 BST, Andries Annema wrote:
I have got no clue whatsoever what that redisbloom is!
This just pops up on my end, in multiple occasions that I have now tested.
Even when I deploy a brand new lipkg zone with pkgsrc 'trunk' bootstrapped and install the redis package from there, and try to enable/start the redis service, it now errors this message.
I really hope someone on the list (Jonathan Perkin maybe?) can shed some light.
I have absolutely no idea. It's not in pkgsrc, or wip, or either of my additional repositories (pkgsrc-extra and pkgsrc-joyent), and there is no reference to /bloom/i in my infrastructure repository.
Upstream is here:
https://github.com/RedisBloom/RedisBloom
and the readme suggests that it has been integrated into redis 8, but there are no .so's listed in redis PLIST.
I can only assume that it is hard-coded in a config file somewhere that was originally written for an older redis where the module was installed manually.