Commit Graph

33 Commits

Author SHA1 Message Date
Korry Clark
3c1f7cbd40 merge 2016-10-18 13:52:01 -07:00
Brian Sparrow
e771fee2d8 Add support for AAE hashing version 0 (#1148)
* Add support for AAE hashing version 0

Additionally, change verify_aae to use 3 nodes for more complete
testing.

* Update repl_aae_fullsync.erl

* Update verify_aae.erl

* Do hashtree upgrade verification first

* Fix intercepts in aae_fullsync test

* Increase node count for more accurate test
2016-09-16 18:33:22 -04:00
Brett Hazen
09e9deafe3 Merge remote-tracking branch 'basho/develop-2.2' into merge-2.2-with-riak_ts-develop 2016-07-14 12:16:54 -06:00
Nick Marino
71bdc5a1e4 Delete using existing causal context
Doing a blind delete may not allow us to test the reap function in
riak_repl_util.
2016-05-05 14:48:14 -04:00
Nick Marino
ffd45d0009 Add tests for replication of deletes for fullsync 2016-05-04 15:44:05 -04:00
Doug Rohrer
6665465d62 Updated tests to explicitly set allow_mult and dvv_enabled, as
overriding default_bucket_props in advanced_config without
explicitly setting these returns different values with the fix for
allow_mult turning to true with an app.config file present.

Cherry-picked from 619b24e
2016-03-19 14:55:12 -04:00
Doug Rohrer
619b24e7d3 Updated tests to explicitly set allow_mult and dvv_enabled, as
overriding default_bucket_props in advanced_config without
explicitly setting these returns different values with the fix for
allow_mult turning to true with an app.config file present.
2015-11-24 13:41:36 -05:00
Nick Marino
d855c1f6ba Log the start of each test in repl_aae_fullsync
This makes it much easier to tell which code is being executed at a
given point in the log, since many of the tests print identical log
messages.
2015-11-24 11:52:21 -05:00
Engel A. Sanchez
556cb7210c Ensure riak_repl service is up across the board
Trying to use the repl features before newly started nodes have
riak_repl completely initialized leads to all sorts of nasty crashes and
noise. Frequently it makes fullsync stuck forever, which makes a lot of
the tests fail.

This also tweaks the AAE fullsync tests to remove assumptions about
failure stats when AAE transient errors occur. The behavior in the
handling of those errors has changed recently with the introduction of
soft exits.
2014-12-18 16:07:00 -05:00
Engel A. Sanchez
31588c5d22 Replacing repl_util AAE wait with rt version 2014-05-12 14:55:59 -04:00
Christopher Meiklejohn
8cbddf3552 Add test detecting source deadlock.
Add test which ensures that the AAE source worker doesn't deadlock when
waiting for responses from the process which is computing the hashtree
differences.

Unfortunately, this test uses timeouts because as the code currently
stands, I can't figure out a way to make it any cleaner.
2014-01-25 14:20:03 -05:00
Christopher Meiklejohn
70826fd605 Add test to ensure modified objects replicate.
Ensure that objects, when modified, actually replicate correctly to the
sink cluster.
2014-01-25 02:58:29 -05:00
Christopher Meiklejohn
8bc9858548 Address key offset confusion. 2014-01-03 21:46:17 -05:00
Christopher Meiklejohn
8076099d64 Run bidirectional first because it cleans post-run. 2014-01-02 17:12:08 -05:00
Christopher Meiklejohn
b928d2d72b Ensure we call bidirectional test. 2014-01-02 17:00:27 -05:00
Christopher Meiklejohn
36006a9a68 Fix typo. 2014-01-02 16:28:37 -05:00
Christopher Meiklejohn
8936c59597 Wait for transfers to prevent race in tree ownership. 2014-01-02 16:28:31 -05:00
Christopher Meiklejohn
19f534b78e Reorder tree building code. 2014-01-02 16:28:25 -05:00
Christopher Meiklejohn
d4c4941750 Add clean. 2014-01-02 16:28:19 -05:00
Christopher Meiklejohn
bdc5297c5f Add bidirectional test. 2014-01-02 16:28:15 -05:00
Christopher Meiklejohn
5fc11e5a3c Change test name. 2014-01-02 16:28:10 -05:00
Andrew Thompson
ab59896b24 Fix several bugs in the test refactor, and adjust some assumptions 2014-01-02 16:28:05 -05:00
Christopher Meiklejohn
931abb7823 Improve tests.
Improve test infrastructure by extracing out common code into functions
that can be used to build out further test cases.

Label our existing unidirectional test as a "simple" test, and begin
building out a more exhaustive test case.

The exhaustive test case is not complete and currently a *work in
progress*. However, it currently configures three clusters and sets up
replication from one source to two sinks.  This is as far as the test
gets because this currently *fails* in setting up the initial
connections to the two clusters causing fullsync to completely abort.

It appears, but it unconfirmed, that a crash is causing cluster_conn to
fail and lose information about how to connect to the clusters
documented due to async storage of the remote cluster information to the
ring.  (I believe this to be the issue as this bug was discovered by
Kelly and I during debugging of another repl related race condition
during startup.)  Removing the second cluster connection call, and
letting it proceed with a connection to only one cluster allows the test
to proceed.
2014-01-02 16:28:00 -05:00
Christopher Meiklejohn
b5358e8544 Update test to default te max_fssource_retries value. 2014-01-02 16:27:53 -05:00
Christopher Meiklejohn
0964abb5e3 Add an exhaustive test for AAE based replication.
Ensure that AAE replication is tested using all possible failure cases
when dealing with the riak_kv_index_hashtrees and failed connections.

First, use intercepts on riak_kv_vnode and riak_kv_index_hashtree to
ensure that we simulate errors on a per node basis, starting with the
source cluster and moving to the sink.  Simulate ownership transfers,
locked and incomplete hashtrees.  Verify partitions generate the correct
error count, after using a bounded set of retries, and finally remove
all intercepts and verify that the fullsync completes and all keys have
been migrated between the two clusters.
2014-01-02 16:27:43 -05:00
Chris Tilt
d3aa516791 Refactor common AAE test code and add custom N test.
* Common code in the cluster setup and data setup is factored out into a utility module.
* AAE fullsync test and benchmark get skinnier and call the common setup code.
* Document parameters in the setup for tests.
* Add a new AAE fullsync test that changes the N value (source is 2, sink is 3).
2013-05-30 14:02:10 -07:00
Chris Tilt
d985f6453e Fix calls to updated rt module. 2013-05-30 10:30:20 -07:00
Chris Tilt
618a74e4a3 clean up test and make num keys more flexible 2013-04-19 15:07:06 -07:00
Chris Tilt
1a9bb3d883 AAE fullsync works, plus some new AAE r_t utils 2013-04-19 12:57:58 -07:00
Chris Tilt
0eaa2ff0d6 Increase number of keys written to improve chances of having differences in partition zero. 2013-04-05 15:17:09 -07:00
Chris Tilt
67f088e29e Change AAE config so that trees build fast 2013-03-30 12:49:57 -07:00
Chris Tilt
c695b0b877 Need to start the AAE fullsync from a node on cluster A 2013-03-28 14:51:18 -07:00
Chris Tilt
0743ec8dfa AAE fullsync replication test. 2013-03-28 12:26:20 -07:00