TDB mutex support breaks CTDB
amitay at gmail.com
Wed Dec 17 01:48:33 MST 2014
On Fri, Dec 12, 2014 at 11:06 PM, Stefan (metze) Metzmacher <metze at samba.org
> Am 12.12.2014 um 06:34 schrieb Amitay Isaacs:
> > On Thu, Dec 11, 2014 at 7:55 PM, Stefan (metze) Metzmacher <
> metze at samba.org>
> > wrote:
> >> Am 11.12.2014 um 05:50 schrieb Amitay Isaacs:
> >>> Hi Volker/Metze,
> >>> The TDB robust mutex changes make certain assumptions which completely
> >>> breaks CTDB. Here are some of the findings which are causing concern.
> >>> 1. CTDB does not always specify all the matching flags (i.e. the flags
> >> used
> >>> for creation) to tdb_open_ex() when opening tdb database subsequently
> >>> in not-first case). This does not work for databases created with
> >>> TDB_MUTEX_LOCKING.
> >>> 2. If I specify TDB_MUTEX_LOCKING in tdb_flags for subsequent
> >>> tdb_open_ex(), it does not work unless I also include
> >>> If the process knows that it's not the first opener, why should it need
> >> to
> >>> specify TDB_CLEAR_IF_FIRST?
> >> As indication that it's a non persistent database.
> >>> 3. CTDB database recovery uses transactions to update the databases
> >>> recovery. With TDB_MUTEX_LOCKING enabled, CTDB cannot do database
> >> recovery.
> >> Can the all record lock be used instead of a transaction?
> >> I wonder why we didn't notice this before...
> > Changing from transaction to all record lock is going to be a major
> > change. What's the reason for not allowing transactions on mutex enabled
> > databases?
> I discussed this again with Volker and Michael, we all think it's ok to
> this restriction.
> Please test the attached patches.
> A possible backport will go via
Thanks for removing the restriction. That makes CTDB changes simple.
I am trying to test samba+ctdb with these changes using nbench torture
test, however smbd is crashing in brlock. I am not sure if this is related
or something else is going wrong. I have attached gdb backtrace. If you
have any ideas on how to debug this, please let me know.
For this test, I am building samba+ctdb rpms from master with gpfs
enabled. Currently this is a hack based on fedora's samba spec file since
our packaging/RHEL-CTDB has not yet been updated for waf build. Once I am
sure that rpms are working properly, I will update packaging/RHEL-CTDB.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 11264 bytes
Desc: not available
More information about the samba-technical