pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: redis problem: can't load module redisbloom.so



"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 21-09-2026 16:10, Jonathan Perkin wrote:
* 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.



Home | Main Index | Thread Index | Old Index