CTDB recovers persistent databases using highest sequence number. Following test code reveals that the sequence number seems to wrap. while true ; do echo '"foobar" "value"' | ctdb ptrans ctdb.tdb echo '"foobar" ""' | ctdb ptrans ctdb.tdb ctdb recover done Searching for relevant output from CTDB shows: ctdbd: recoverd:Pull persistent db:0x6645c6c4 from node 4 with highest seqnum:250 ctdbd: recoverd:Pull persistent db:0x6645c6c4 from node 4 with highest seqnum:252 ctdbd: recoverd:Pull persistent db:0x6645c6c4 from node 0 with highest seqnum:254 ctdbd: recoverd:Pull persistent db:0x6645c6c4 from node 4 with highest seqnum:0 ctdbd: recoverd:Pull persistent db:0x6645c6c4 from node 1 with highest seqnum:2
Created attachment 11254 [details] Fix for master
Comment on attachment 11254 [details] Fix for master What about doing a talloc_memdup instead of talloc_zero a few lines above. Of course this patch also works! R-b: me.
The content of attachment 11254 [details] has been deleted
Created attachment 11255 [details] Patch for master
(In reply to Volker Lendecke from comment #2) Thanks for the suggestion. I have modified the patch and added your r-b.
Created attachment 11256 [details] Patch for v4-2 branch
Hi Karolin, Defect fix for 4.2 branch.
(In reply to Amitay Isaacs from comment #7) Pushed to autobuild-v4-2-test.
(In reply to Karolin Seeger from comment #8) Pushed to v4-2-test. Closing out bug report. Thanks!