-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stale reads in normal operation #19
Comments
Just to make sure this wasn't related to MULTI/EXEC, I set up a variant with only one key and no transactions at all; it still shows pretty common instances of stale reads. |
Huh, this... happens in normal operation too, without any faults! With jepsen.redis 9a1a944...
Let: Then:
This one's particularly weird because it's like... 3+ seconds later, and we did get to see the write completed a few hundred millis prior by the same process! 2020-03-09 21:57:11,565{GMT} INFO [jepsen worker 0] jepsen.util: 0 :invoke :txn [[:append 1 9]]
2020-03-09 21:57:11,579{GMT} INFO [jepsen worker 0] jepsen.util: 0 :ok :txn [[:append 1 9]]
...
2020-03-09 21:57:11,696{GMT} INFO [jepsen worker 0] jepsen.util: 0 :invoke :txn [[:append 1 11]]
...
2020-03-09 21:57:11,714{GMT} INFO [jepsen worker 0] jepsen.util: 0 :ok :txn [[:append 1 11]]
...
2020-03-09 21:57:14,969{GMT} INFO [jepsen worker 3] jepsen.util: 3 :invoke :txn [[:r 1 nil]]
2020-03-09 21:57:14,971{GMT} INFO [jepsen worker 3] jepsen.util: 3 :ok :txn [[:r 1 [5 8 9]]] |
The logs tell the same story, apparently an issue with the commit index right after re-election. The same issue may indeed be the cause for #18 as well - yet to be seen. |
This looks fixed in 8da0c77, at least so far! |
Well, frequency is diminished, but I'm still seeing stale reads with process pauses: 20200311T132956.000-0400.zip |
Did this still resurface after dfd91d4? |
OK, yeah, we're still seeing what look like stale reads with pauses, partitions, etc, but I think whatever bug caused them to happen under normal operation may have been resolved. I'm gonna flag this one closed as of dfd91d4. |
It looks as though redis f88f866 & redisraft d589127 exhibit stale reads when processes are allowed to pause. For instance, take a look at this test run
Let:
T1 = {:type :ok, :f :txn, :value [[:r 3 [10]]], :process 3, :time 17433307265, :index 1248}
T2 = {:type :ok, :f :txn, :value [[:r 3 [10]] [:r 3 [10]] [:append 3 17]], :process 4, :time 16707553261, :index 1182}
Then:
The text was updated successfully, but these errors were encountered: