False positive dependency checks break package install order
Jeffrey Johnson
n3npq at me.com
Fri Aug 16 20:31:53 CEST 2013
On Aug 13, 2013, at 10:44 AM, Jeffrey Johnson wrote:
>
> Meanwhile the simpler fix is to adjust the Bloom filter parameters to decrease the probability
> of a false positive.
>
> This can be done like so:
>
> Index: rpmfi.c
> ===================================================================
> RCS file: /v/rpm/cvs/rpm/lib/rpmfi.c,v
> retrieving revision 2.160.4.4
> diff -p -u -w -r2.160.4.4 rpmfi.c
> --- rpmfi.c 4 Jun 2012 15:10:11 -0000 2.160.4.4
> +++ rpmfi.c 13 Aug 2013 14:35:13 -0000
> @@ -184,7 +184,7 @@ void * rpmfiFNBF(rpmfi fi)
> if (fi != NULL) {
> if (fi->_fnbf == NULL) {
> char * fn = (char *) alloca(fi->fnlen + 1);
> - static double e = 1.0e-4;
> + static double e = 1.0e-5;
> size_t n = (fi->fc > 10 ? fi->fc : 10);
> size_t m = 0;
> size_t k = 0;
>
> That reduces the probability of false positives from one in 10,000 to one in 100,000
> and SHOULD fix your issue. One might also increase the estimated population "n"
> by 5-10%, but I would change "e" first as the intent is clearer.
>
> There is also some modest increase in memory used by the Bloom filter.
>
> See if that fixes your problem please.
>
Was the above patch ever tested? I will assume
No.
73 de Jeff
More information about the pld-devel-en
mailing list