Hi Greg, That answers my question. Thanks for your response! -Sam On Fri, Aug 10, 2018 at 9:21 AM, Gregory Farnum <gfarnum@xxxxxxxxxx> wrote: > On Thu, Aug 9, 2018 at 9:57 AM, Sam Kumar <samkumar99@xxxxxxxxx> wrote: >> Hi Joao, >> Thanks for your response, and sorry for posting my original question >> on the wrong mailing list. >> >> Based on your explanation, it seems that reads and writes to the same >> object (key-value pair) in RADOS will be linearizable, because: >> >> 1. the OSD that is the "primary" for a PG handles all requests for an >> object in that PG, and >> 2. at any one time, at most one OSD thinks it's the "primary" for a >> particular PG (as explained in Section 3.2 of >> https://ceph.com/wp-content/uploads/2016/08/weil-rados-pdsw07.pdf). >> >> Am I correct that RADOS provides linearizability for this reason? > > Yes, any given RADOS object is linearizable. (It in fact has a log > that is literally linear.) Trying to extend language about > linearizability out to a distributed system can get a little weird so > if you want more extended assertions you'll need to define terms quite > specifically. > -Greg > >> >> -Sam >> >> On Thu, Aug 9, 2018 at 1:22 AM, Joao Eduardo Luis <joao@xxxxxxx> wrote: >>>> On 08/08/2018 11:44 PM, Sam Kumar wrote: >>>>> But, what specific consistency properties are guaranteed by Ceph RADOS? >>>>> In particular, does it guarantee consistency in the classic sense (i.e., >>>>> linearizability) or something weaker? >>>>> >>>>> At a high level, based on the design of Ceph, it seems like it should be >>>>> linearizable (as it uses stable hashing in the common case and Paxos on >>>>> failure). But I wanted to ask the community since I couldn't find >>>>> RADOS's specific consistency property documented anywhere. >>> >>> Paxos is only used by the monitors, and is relied upon to maintain the >>> cluster state (i.e., mostly maps that allow clients to figure out where >>> the data is). >>> >>> The data consistency properties are guaranteed by the OSDs. They ensure >>> we get strong consistency semantics by serializing the requests per-pg. >>> >>> -Joao >> -- >> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html