ntdb for Samba 4.2?

Andrew Bartlett abartlet at samba.org
Wed Mar 19 18:44:37 MDT 2014

On Wed, 2014-03-19 at 14:48 +1030, Rusty Russell wrote:
> Andrew Bartlett <abartlet at samba.org> writes:
> > Rusty (and the rest of the team),
> >
> > What do you consider the status of ntdb to be for the upcoming Samba 4.2
> > and beyond?
> >
> > Is this an effort you are still working on, as I've not seen any
> > activity from you in the past year other than adding the manpages.
> >
> > What are your plans here?  
> >
> > Thanks,
> Well, originally I wrote a TDB replacement, with a compatibility ABI
> which would allow a seamless transition.
> But then it was decided that we didn't want two TDB codebases, so I took
> all that out and SAMBA would use its own, existing db_wrap API to do the
> transition.
> Except the db_wrap API didn't cover many databases, didn't cover all
> cases and had ctdb-specific parts to it.  So now my task was to rewrite
> SAMBA, including many old parts untouched for years, to make it use
> db_wrap so it could later use ntdb.  Some of that has been done, but
> much remains.
> Meanwhile, there's no demand to drive it.  TDB has problems, but scaling
> over 3GB isn't the main one.  The locking speed has been greatly
> improved by the addition of inline mutexes; and so you won't notice
> freelist contention as much.  And using dbwrap means the new API doesn't
> even make the code cleaner.
> ntdb may still have a useful role in green-fields projects which can
> take advantage of the new API (eg. talloc-compatiblity).  But it's
> increasingly obvious that SAMBA doesn't need it today.

Thanks for the update.  

My view is that it was unfortunate that the dbwrap path was taken,
rather than transitioning to the tdb2 API on tdb, and then tdb2, but
that boat has sailed.  I agree that dbwrap has shown itself to be a dead
end in terms of a practical way to transition the whole project between
databases - it covers many, but far from all the databases. 

Andrew Bartlett

Andrew Bartlett
Authentication Developer, Samba Team  http://samba.org
Samba Developer, Catalyst IT          http://catalyst.net.nz/services/samba

More information about the samba-technical mailing list