Hao Hao has posted comments on this change. ( http://gerrit.cloudera.org:8080/9526 )
Change subject: A new Jepsen checker for READ_YOUR_WRITES scan mode ...................................................................... Patch Set 10: > > > Uploaded patch set 10. > > > > I think the test would be more robust if we were deleting the > > inserted values from other clients (only those which they > > inserted). > > > > My concern is that the way how the jepsen test for RYW modes is > > implemented now does not cover the case when other clients delete > > their stuff from the table. > > > > Maybe, it's worth updating the client behavior so that every time > > the client tries to perform an operation, it could either (a) > > insert a new value (b) delete the previous value (c) update the > > previous value to the next value in its values space. > > > > What do you think? > > I think another point is that we are not quite covering the > following from the doc: > > > 5. Read your writes requires that whenever a client reads a given > data item after updating it, the read returns the updated value (or > a value that overwrote the previously written value). > > And if we just count the values in our verification phase, we could > miss updates from the same client if the others already submitted > some new inserts in the middle. At least, using just counters and > not verifying the client sees all _values_ it wrote keeps that > pitfall open and hard to detect. As discussed offline with David and Alexey , it would be a heavy burden on the clients to justify Read-your-reads, since the client needs to track the values it wrote and the data are written by all other clients (Read-your-reads guarantees all subsequent reads to a given object "never return any previous values" regarding writes that other clients have done). Using counts as verification should be sufficient since if Read-your-writes/Read-your-reads guarantees are broken, there is a probability that the validation will catch it (e.g the count may go down). It is important to add other operations such as delete the previous value and update the previous value in Jepsen test for a better coverage. However, these are not a good fit in this mode, as delete may affect the count that the validation relies on. Instead, adding a new model (or a variation of existing register model) would be a better option. -- To view, visit http://gerrit.cloudera.org:8080/9526 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I92d5c0e3b91af58576eb6cd408d922ec7c0fef6c Gerrit-Change-Number: 9526 Gerrit-PatchSet: 10 Gerrit-Owner: Hao Hao <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: David Ribeiro Alves <[email protected]> Gerrit-Reviewer: Hao Hao <[email protected]> Gerrit-Reviewer: Kudu Jenkins Gerrit-Comment-Date: Wed, 09 May 2018 01:25:30 +0000 Gerrit-HasComments: No
