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

_______________________________________________
pld-devel-en mailing list
pld-devel-en@lists.pld-linux.org
http://lists.pld-linux.org/mailman/listinfo/pld-devel-en

Reply via email to