Skip to content

Conversation

@russelldb
Copy link
Contributor

Note that the fallback test kv679_dataloss_fb will fail until that case is addressed with a riak_object format change.

@seancribbs
Copy link

Does this need a rebase? Looks like kv679_uid already merged.

@russelldb
Copy link
Contributor Author

hmmmm, yes. Can I force push if needed?

@russelldb
Copy link
Contributor Author

I did it anyway, sorry

@seancribbs
Copy link

Nice, thanks! Ping when you're ready for review.

@russelldb
Copy link
Contributor Author

ping @seancribbs, ready for review

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This timeout sticks out as something that may not be helpful for repeatability. Are we sure it's even necessary here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not, vestige of early iteration. Good catch.

@andrewjstone
Copy link
Contributor

  • kv679_dataloss passes with PR, fails without
  • kv679_dataloss code review
  • kv679_dataloss_fb passes with PR, fails without
  • kv679_dataloss_fb code review - As far as I can tell the test is correct, however it is failing as shown in a comment below.
  • kv679_tombstone passes with PR, fails without
  • kv679_tombstone code review
  • kv679_tombstone2 passes with PR, fails without
  • kv679_tombstone2 code review

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For clarity, I'd change this function name to primary_and_fallback_counts/1 to indicate it's actual function and not the expected result.

@andrewjstone
Copy link
Contributor

Seeing the following failure with kv679_dataloss_fb

19:45:30.878 [info] Killed 2 primaries
19:45:30.883 [info] Got a preflist with coord and 2 fbs [{{319703483166135013357056057156686910549735243776,'[email protected]'},primary},{{342539446249430371453988632667878832731859189760,'[email protected]'},fallback},{{365375409332725729550921208179070754913983135744,'[email protected]'},fallback}]
19:45:31.202 [info] writing new!
19:45:31.534 [info] writing existing!
19:45:31.536 [info] VC [{<<157,62,8,202,207,232,52,51,0,0,0,1>>,{2,63588501931}}]
19:45:31.536 [info] Coord Node ID <<157,62,8,202>>
19:45:31.536 [info] Clock at 2 fallbacks
19:45:31.536 [info] Killing node '[email protected]'
19:45:31.536 [info] Killing node '[email protected]'
19:45:31.537 [info] Running: /Users/ajs/rt/riak_ee/current/dev/dev4/bin/riak start
19:45:34.764 [info] Wait until '[email protected]' is pingable
19:45:35.174 [info] Wait until '[email protected]' is pingable
19:45:35.174 [info] Running: /Users/ajs/rt/riak_ee/current/dev/dev5/bin/riak start
19:45:38.389 [info] Wait until '[email protected]' is pingable
19:45:38.776 [info] Wait until '[email protected]' is pingable
19:45:38.776 [info] started primaries back up
19:45:48.789 [info] writing existing!
19:45:48.833 [info] writing existing!
19:45:48.835 [info] VC [{<<157,62,8,202,207,232,52,51,0,0,0,1>>,{4,63588501948}}]
19:45:48.836 [info] Coord Node ID <<157,62,8,202>>
19:45:48.836 [info] Killing node '[email protected]'
19:45:48.836 [info] Killing node '[email protected]'
19:45:48.836 [info] killed primaries again
19:45:48.838 [info] deleting backend data dir for 319703483166135013357056057156686910549735243776 '[email protected]' on primary
19:45:48.839 [info] Path "/Users/ajs/rt/riak_ee/current/dev/dev3/data/bitcask/319703483166135013357056057156686910549735243776"
19:45:48.839 [info] Stopping riak on '[email protected]'
19:45:58.840 [info] Running: /Users/ajs/rt/riak_ee/current/dev/dev3/bin/riak stop
19:46:02.498 [info] Wait until '[email protected]' is not pingable
19:46:02.499 [info] Running: /Users/ajs/rt/riak_ee/current/dev/dev3/bin/riak start
19:46:05.717 [info] Wait until '[email protected]' is pingable
19:46:06.081 [info] Wait until '[email protected]' is pingable
19:46:06.081 [info] Running: /Users/ajs/rt/riak_ee/current/dev/dev6/bin/riak start
19:46:09.347 [info] Wait until '[email protected]' is pingable
19:46:09.722 [info] Wait until '[email protected]' is pingable
19:46:09.722 [info] Running: /Users/ajs/rt/riak_ee/current/dev/dev1/bin/riak start
19:46:13.026 [info] Wait until '[email protected]' is pingable
19:46:13.393 [info] Wait until '[email protected]' is pingable
19:46:13.393 [info] restart fallbacks
19:46:23.529 [info] VC [{<<157,62,8,202,207,232,52,51,0,0,0,1>>,{2,63588501931}}]
19:46:23.529 [info] Coord Node ID <<157,62,8,202>>
19:46:23.530 [info] writing existing!
19:46:23.588 [info] VC [{<<157,62,8,202,207,232,52,51,0,0,0,1>>,{3,63588501983}}]
19:46:23.588 [info] Coord Node ID <<157,62,8,202>>
19:46:23.588 [info] Running: /Users/ajs/rt/riak_ee/current/dev/dev4/bin/riak start
19:46:26.850 [info] Wait until '[email protected]' is pingable
19:46:27.237 [info] Wait until '[email protected]' is pingable
19:46:27.237 [info] Running: /Users/ajs/rt/riak_ee/current/dev/dev5/bin/riak start
19:46:30.501 [info] Wait until '[email protected]' is pingable
19:46:30.878 [info] Wait until '[email protected]' is pingable
19:46:30.878 [info] restart primaries _again_
19:46:40.888 [info] wait for handoffs
19:46:40.888 [info] Wait until transfers complete '[email protected]'
19:50:01.381 [info] Wait until transfers complete '[email protected]'
19:50:01.397 [info] final get
19:50:01.398 [error] Error in process <0.158.0> on node '[email protected]' with exit value: {{assertEqual_failed,[{module,kv679_dataloss_fb},{line,179},{expression,"riakc_obj : get_values ( O )"},{expected,[<<4 bytes>>,<<3 bytes>>]},{value,[<<3 bytes>>]}]},[{kv679_dataloss_fb,'-confirm/0-fun-16-',2,[{file,"tests/kv679_dataloss_fb.erl"},{line,179}]},...


19:50:01.398 [warning] kv679_dataloss_fb failed: {{assertEqual_failed,[{module,kv679_dataloss_fb},{line,179},{expression,"riakc_obj : get_values ( O )"},{expected,[<<"anne">>,<<"joe">>]},{value,[<<"joe">>]}]},[{kv679_dataloss_fb,'-confirm/0-fun-16-',2,[{file,"tests/kv679_dataloss_fb.erl"},{line,179}]},{kv679_dataloss_fb,confirm,0,[{file,"tests/kv679_dataloss_fb.erl"},{line,179}]},{riak_test_runner,return_to_exit,3,[{file,"src/riak_test_runner.erl"},{line,159}]}]}
19:50:01.399 [error]
================ kv679_dataloss_fb failure stack trace =====================
{{assertEqual_failed,[{module,kv679_dataloss_fb},
                      {line,179},
                      {expression,"riakc_obj : get_values ( O )"},
                      {expected,[<<"anne">>,<<"joe">>]},
                      {value,[<<"joe">>]}]},
 [{kv679_dataloss_fb,'-confirm/0-fun-16-',2,
                     [{file,"tests/kv679_dataloss_fb.erl"},{line,179}]},
  {kv679_dataloss_fb,confirm,0,
                     [{file,"tests/kv679_dataloss_fb.erl"},{line,179}]},
  {riak_test_runner,return_to_exit,3,
                    [{file,"src/riak_test_runner.erl"},{line,159}]}]}
============================================================================

19:50:01.399 [notice] kv679_dataloss_fb Test Run Complete
19:50:01.401 [info] Stopping cover

Test Results:
kv679_dataloss_fb-bitcask: fail
---------------------------------------------
1 Tests Failed
0 Tests Passed
That's 0.0% for those keeping score

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree that you don't need the andalso contains_fallback(NewPL). In this case the comment should be removed and so should contains_fallback/1.

@russelldb
Copy link
Contributor Author

WRT the failing kv679_dataloss_fb that scenario needs the dirty_clock stuff we discussed that is @TODO'd in riak_kv_vnode. Should I remove that test from this PR, and re-submit it when we finally fix that case?

Remove those timers and other remnants of flailing when first
trying to write tests.
@russelldb
Copy link
Contributor Author

Hopefully that does it. Let me know if about removing kv679_dataloss_fb until we fix that.

@andrewjstone
Copy link
Contributor

@russelldb Great job here! I would remove kv679_dataloss_fb if it's not going to pass. Just put it in another PR for when we add the dirty clock support to the code.

+1 after that.

@andrewjstone
Copy link
Contributor

👍

russelldb added a commit that referenced this pull request Jan 16, 2015
@russelldb russelldb merged commit c1b12f5 into master Jan 16, 2015
@seancribbs seancribbs deleted the rdb/gh-kv679 branch May 6, 2015 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants