[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#5859) back-hdb entrycache problem



Am Mittwoch 17 Dezember 2008 15:03:49 schrieb rhafer@suse.de:
> This problem seems to be only present when using an empty suffix. I wasn't
> able to reproduce it with a non-empty suffix at least.
>
> It seems to be a problem with the idlcache. After setting "idlcachesize" to
> 0 the problem went a way for me.
>
> And yes, it seems to have been in the RE24 tree for a longer time already
> (2.4.12 was affected as well).
Digging a bit deeper into this, I found that only back-hdb is affected  and 
that it is most probably a bug in hdb_dn2id_add(). It seems that after adding  
a new entry, hdb_dn2id_add() fails to correctly update the IDLs in the idl-
cache for the entry's parent entries.

The following patch seems to fix the problem for me:
--- dn2id.c     31 Oct 2008 23:23:59 -0000      1.137.2.13                           
+++ dn2id.c     17 Dec 2008 19:45:32 -0000                                           
@@ -620,6 +620,11 @@                                                                 
                                tmp[1] = eip->bei_id;
                                bdb_idl_cache_add_id( bdb, db, &key, e->e_id 
);
                        }
+                        if ( !op->o_bd->be_suffix[0].bv_len && eip)
+                        {
+                               tmp[1] = eip->bei_id;
+                               bdb_idl_cache_add_id( bdb, db, &key, e->e_id 
);
+                        }
                }
        }

I suspect that hdb_dn2id_delete() has a similar issue.

-- 
Ralf