Samba4: LDB size limit and memory leak

simo idra at samba.org
Mon Jun 1 22:20:15 GMT 2009


On Tue, 2009-06-02 at 08:10 +1000, Andrew Tridgell wrote:
> Hi Simo,
> 
>  > if you make this change, please make it so that it is an ldb option so
>  > that newer and older ldb can still read a file using the old format. And
>  > only an explicit change in an ldb special attribute triggers this new
>  > behavior.
> 
> What about we do something like this:
> 
> dn: @INDEXLIST
> @IDXATR: someAttr
> @IDXSPLIT: 100
> 
> if "@IDXSPLIT" is present then its value is the number of DNs in an
> index record before we start splitting the record up.
> 
> Then within a index record we could have this:
> 
> dn: @INDEX:OBJECTCLASS:USER
> @IDX: CN=BLU,OU=Domain Controllers,DC=vsofs1,DC=com
> @IDX: CN=krbtgt,CN=Users,DC=vsofs1,DC=com
> @IDX: CN=Guest,CN=Users,DC=vsofs1,DC=com
> @IDX: CN=Administrator,CN=Users,DC=vsofs1,DC=com
> @IDX: CN=dns,CN=Users,DC=vsofs1,DC=com
> @IDX: CN=tridge,CN=Users,DC=vsofs1,DC=com
> @IDXMORE: @INDEX:1:OBJECTCLASS:USER
> 
> the @IDXMORE entry would indicate a chain onto the next indexing
> record.
> 
> dn: @INDEX:1:OBJECTCLASS:USER
> @IDX: CN=tridge2,CN=Users,DC=vsofs1,DC=com
> 
> So @IDXSPLIT would say that ldb should split the index, but @IDXMORE
> would tell ldb that there is one that is already split.

Looks good.

One thing though.
How do we deal with removal of index entries ? Do we risk fragmentation
of the index? Or do you plan to "fill in" holes that have been are
created by removal of entries, when a new one is added ?

Simo.

-- 
Simo Sorce
Samba Team GPL Compliance Officer <simo at samba.org>
Principal Software Engineer at Red Hat, Inc. <simo at redhat.com>



More information about the samba-technical mailing list