tight loop in tdb_find()

Stefan (metze) Metzmacher metze at samba.org
Mon May 25 08:15:29 GMT 2009


Hi Tridge,

>  2) make gencache.tdb use TDB_CLEAR_IF_FIRST. Is that acceptable? Do
>  we really need to be able to use cached data from previous runs of
>  smbd?

We need to fill in the server affinity with net ads join and then use it
in winbindd later.

>  3) Add support for async transaction stores. We could use the forked
>  child stuff we've discussed recently to allow for a transaction store
>  to gencache.tdb to proceed while the parent continues. 
> 
>  4) Use a 2 level cache for gencache.tdb. The first level would use
>  TDB_CLEAR_IF_FIRST and the 2nd level would use transactions. We'd
>  keep a record in the first level that says how old the oldest record
>  in that first level tdb is and how many records are in the first
>  level. When those go past a threshold then we would do a single
>  transaction to move them into the 2nd level cache. The downside is
>  that gencache reads would involve two tdb_fetch() calls, but it would
>  mean that the average cost of stores would be fast.

That would add a lot of complexity to gencache...

> Can you think of any other approaches to fix this?

No:-(

> Are there any other databases in Samba3 that are persistent and don't
> use transactions?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
Url : http://lists.samba.org/archive/samba-technical/attachments/20090525/748be917/signature.bin


More information about the samba-technical mailing list