Add a call to replicate pre-ordered actions

Bug #1208030 reported by Alex Yurchenko on 2013-08-03
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
wsrep API
High
Teemu Ollakka

Bug Description

https://bugs.launchpad.net/wsrep/+bug/1076469 was a wrong direction.

After sufficient consideration it is now clear that lp:1076469 should be reversed, and instead a call to replicate actions in predefined order must be added.

something like

wsrep_status_t wsrep::replicate_preordered (const void* act, size_t act_size);

or iovec-like interface.

The actions shall be replicated asynchronously and received through wsrep::recv() call and will be assigned wsrep GTID (that will preserve the partial order in which replicate_preordered() was called). As a result, original TID assigned to the action by the original ordering entity must be enclosed into the buffer.

From which follows that unordered actions, replicated through pre_commit() call should contain empty TID to be distinguished from pre-ordered ones.

Related branches

Alex Yurchenko (ayurchen) wrote :

Teemu, passing it for you to think over.

Changed in wsrep:
assignee: nobody → Teemu Ollakka (teemu-ollakka)
importance: Undecided → High
milestone: none → 24
status: New → Confirmed
description: updated
Alex Yurchenko (ayurchen) wrote :
Changed in wsrep:
status: Confirmed → Fix Committed
Alex Yurchenko (ayurchen) wrote :

It turned out that we may need to pass some flags in preordered() call, addressed this in http://bazaar.launchpad.net/~codership/wsrep/trunk/revision/84

Changed in wsrep:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers