Error in ctdb transactions (commit 84e5a55a)

Rusty Russell rusty at rustcorp.com.au
Wed Jul 27 21:22:28 MDT 2011


Hi all,

   A customer had a corrupt tdb; the __transaction_lock__ record wasn't
in the hash.  This is possible because we write to that record outside
of a transaction in ctdb_transaction_fetch_start(), due to commit
"ctdb_client: fix race in starting concurrent transactions on a single
node".

Can we just start the transaction at the top of this function, rather
than doing the chainlock and dance we do now?  Do we still need the
ctdb_ctrl_transaction_active() check if we do that?  I assume we do, and
should back off in that case...

Thanks,
Rusty.





More information about the samba-technical mailing list