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? -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