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

Reply via email to