Commit Graph

1321 Commits

Author SHA1 Message Date
Doug Rohrer
965522c705 Better support for wildcard certificates:
- Update make_certs to support wildcard certificates by passing an additional Path parameter.
- add replication2_ssl test to ensure using wildcard certificates works after PR to riak_core_ssl_util.
2015-02-11 16:27:39 -05:00
Doug Rohrer
04d54cb810 Change verify_dt_converge to use riakc_flag:enable(F) rather than disable. This will work
even in the rare and pathological case where the cluster is partitioned before all 3 nodes
have received the update. riakc_flag:disable(F) requires context, which isn’t there in the 
new map that would be created on the side of the partition with no data.
2015-02-11 10:47:35 -05:00
Alex Berghage
a9bef3c0a7 Rolled back change to test_vnode_protection threshold.
This test's a little confused in the sources as-is since it prints
like it's based on the number of requests, even though the actual
comparison is done against a function of THRESHOLD. I've reverted
to the comparison used currently, since it looks to me like this
test should really expect to have ~NUM_REQUESTS processes, and a
vnode queue pretty close to THRESHOLD. I'd appreciate review here
though, particularly if anyone recalls the original intent of
these comparison numbers.
2015-02-10 21:15:23 -05:00
Alex Berghage
ec562e9461 Fixed predicate print formatter (was ~w, now ~p) 2015-02-10 21:11:32 -05:00
Alex Berghage
a7258f4ed7 Loosened criteria for successful overload test.
Previously we'd used a sort of fuzzy 'metric' where we expect the
number of successful requests/fsms to be less than some fudge
factor over the overload threshold. This tends to kick up spurious
failures on the test board without offering much more in the way
of assurances about overload's functionality.

This change instead bases test success on the number of requests
only, not the threshold — if some amount of work was shed at all
we consider that a passing test.

In the future we should revisit this and change the request
accounting machinery to just explicitly track denials instead of
fsm processes / vnode queue depth.
2015-02-10 20:49:16 -05:00
Alex Berghage
e0921b1bf1 Reduced repetition in tests/overload predicates 2015-02-10 20:44:09 -05:00
Christopher Meiklejohn
2179361bb3 Resolve incorrect guard. 2015-02-09 16:56:30 -05:00
Ulf Wiger
36f80415e1 add vnode_get_fsm_time_* stats 2015-02-09 22:49:04 +01:00
Russell Brown
9efa9602d0 Merge pull request #728 from basho/kv667
Test for basho/riak#667, read pre 2.0.4 sets/maps
2015-01-29 14:27:50 +00:00
Russell Brown
bc8a3b240b Change env var name 2015-01-27 18:00:48 +00:00
Russell Brown
d22fbfbdc7 Persuade rtdev harness to set advanced.config variables
In the case that no advanced.config file exists (everycase!) rt
would not add any advanced config settings to the conf.

This PR teaches rtdev to create an advanced.comfig file if none exists
so that tests may set advanced config.

In this case we set ring_size and also the `crdt_mixed_versions` app env
2015-01-27 09:53:15 +00:00
Sean Cribbs
fd086aa5bc Finished up format test.
This is currently failing, somehow fetching the map immediately after
updates on the upgrade, I'm getting the dict format.
2015-01-26 15:34:11 -06:00
Sean Cribbs
dea8a89160 Fetch maps after upgrade, checking that they match. 2015-01-24 11:49:18 -06:00
Sean Cribbs
af9fe7a63e WIP extending mixed-cluster test.
Still have not completed upgrade and feature-flag switch.

I changed the versions from atoms to "2.0.2" and "2.0.4", we can
bikeshed that with build/test czars on Monday.

Added some useful logging statements to the plain-upgrade test.

Removed unnecessary clean_cluster and systest_read calls.
2015-01-23 18:02:13 -06:00
Sean Cribbs
86202d010e Little tweak to use literal versions and binaries for keys. 2015-01-23 16:04:48 -06:00
Sean Cribbs
ca040bdaee Begin split of test into two parts, safe upgrade and mixed cluster 2015-01-23 14:09:48 -06:00
Russell Brown
7b4ffcbc18 Extend kv667 test for upgrade between 2.0.2/4/5
This test is getting Biig, and there is still a lot to add
(see comments at the end of the test.)

Maybe we should break it out into a few tests, and there are some
questions still.
2015-01-23 18:02:32 +00:00
Russell Brown
49183d92b9 Update Chris's test to test nested sets and maps too 2015-01-21 16:27:44 +00:00
Christopher Meiklejohn
569a76d490 Add riak_kv#667 reproducer. 2015-01-20 18:09:20 +01:00
Russell Brown
c1b12f5069 Merge pull request #719 from basho/rdb/gh-kv679
Riak Tests for scenarios of basho/riak_kv#679
2015-01-16 13:35:00 +00:00
Russell Brown
ccb5af778b remove test for unfixed case 2015-01-15 17:19:41 +00:00
Russell Brown
3657c57bac Address review comments
Remove those timers and other remnants of flailing when first
trying to write tests.
2015-01-15 16:09:02 +00:00
John Burwell
a37832d7f9 Verify the list of HTTP stats keys is complete
* Checks the list of stats keys returned from the HTTP endpoint
    is complete -- delineating between riak and riak_ee.  The test will
    fail if the list returned from the HTTP endpoint does not exactly match
    the expected list.  This behavior acts as a forcing function to ensure
    that the expected list is properly maintained as stats are added and
    removed.
    * Modifies reset-current-env to properly clean dependencies when a
    full clean is requested and remove the current directory in the
    target test instance.
    * Adds logging to verify_riak_stats to explain the addition steps
    being performed
    * Adds rt:product/1 to determine whether a node is running riak,
    riak_ee, or riak_cs
    * Adds tools.mk support and eunit scaffolding to rebar.config
    * Modifies reset-current-env.sh to remove the current directory in
    the target test instance
2015-01-08 17:23:25 -05:00
John Burwell
f98b3aed87 Merge pull request #713 from uwiger/uw-cmp-http-and-console-stats
Verify that the stats in riak-admin status match those from the HTTP endpoint
2015-01-06 15:02:01 -05:00
Andrew J. Stone
a28f70eb1a Merge pull request #720 from basho/bugfix/ensemble_sync_partition_error
Fix partition issue in ensemble_sync
2015-01-05 16:30:08 -05:00
Andrew J. Stone
70da1fd2f9 separate some folds out of partition/2 in ensemble_sync for clarity 2015-01-05 15:42:26 -05:00
Russell Brown
d86d122308 WIP 2015-01-02 09:02:13 +00:00
Russell Brown
a1af1140f0 WIP data loss test was failing for the wrong reason
add some debugging log out
2015-01-02 09:02:13 +00:00
Russell Brown
8cbec21a5d WIP Kv679 tests
Dataloss at coordinator
Dataloss at coordinator with an old clock repaired
Vnode id's not unique
2015-01-02 09:02:13 +00:00
Russell Brown
87afd498e6 WIP 2015-01-02 09:02:13 +00:00
Russell Brown
6097bda909 WIP kv679 tombstone test A-B-C, crash before reap 2015-01-02 09:02:13 +00:00
Russell Brown
a29d3c3494 WIP kv679 doomstone tests 2015-01-02 09:02:13 +00:00
Russell Brown
4f7e9e17af WIP make the test fail 2015-01-02 09:02:13 +00:00
Russell Brown
40882ea81d WIP remove voodoo code, add inactivity timeout 2015-01-02 09:02:13 +00:00
Russell Brown
aece28adc9 WIP kv679 tombstone-doomstone-boomstone test 2015-01-02 09:02:12 +00:00
Sean Cribbs
d46928bea2 Merge pull request #723 from basho/sdc/bugfix/http-bucket-types-harden
Wrap all list_keys and list_buckets calls with wait_until
2014-12-31 10:35:30 -06:00
John R. Daily
9fdf2ac1f4 Expected output changed as of PR#678 2014-12-31 10:56:47 -05:00
Sean Cribbs
a67140a1b9 Wrap all list_keys and list_buckets calls with wait_until
Because list-keys and list-buckets use coverage, we might hit latent
replicas depending on the coverage plan. This gives each call some extra
tries to complete successfully.
2014-12-31 09:27:23 -06:00
Andrew J. Stone
043baabf3f Fix partition issue in ensemble_sync
It was previously possible for the 'minority' network partition to
become the majority network partition by a naive network partitioning
strategy. Previously, when a preference list of 5 keyspace partitions
was created on only four distinct nodes, it became possible for a 2 node
'minority' network partition group to actually have a majority of
keyspace partitions because 2 keyspace partitions were assigned to 1
node in the 'minority' group. This was fixed so that the 'majority'
group now always has a majority of keyspace partitions by preventing
nodes with greater than 1 keyspace partition from becoming part of the
'minority' group.
2014-12-30 15:21:18 -05:00
Sean Cribbs
41b60d0328 Make sure the httpd started exits with the test.
Now green when run in sequence:

Test Results:
pb_cipher_suites-bitcask: pass
pb_security-bitcask     : pass
---------------------------------------------
0 Tests Failed
2 Tests Passed
That's 100.0% for those keeping score
2014-12-29 14:08:36 -06:00
Andrew J. Stone
1addf5207f Merge pull request #716 from basho/bugfix/ensemble_basic3
Use result of fold in ensemble_basic3
2014-12-24 12:57:52 -05:00
Engel A. Sanchez
0328b4e7d7 Fix failure on slow replication
This changes the test assertion so that it retries fetching the value
from the second cluster until it is the expected value, at which point
the test will either pass if the sibling count is reasonable or fail if
it is too damn high.
2014-12-23 16:41:59 -05:00
Andrew J. Stone
32d90ca13a Don't try to resume pids that don't exist 2014-12-23 15:59:37 -05:00
Andrew J. Stone
7d097080d3 Use result of fold in ensemble_basic3
When resuming vnodes we need the proper pid from the previous suspend.
Use the result of the fold to get the right pids.
2014-12-23 15:50:03 -05:00
Sean Cribbs
abfa0ebf8a Adjust test to ensure that essential concurrency =< n_val 2014-12-23 14:15:55 -06:00
Sean Cribbs
ca44485d1f Fix race condition in verify_dvv_repl.
Fetch the sink object on each iteration of the wait_until, just in case
that the entire set of siblings didn't make it across the repl link.
This also gives read-repair a chance to happen, in case the version the
sink wrote didn't make it to all replicas.
2014-12-23 10:51:50 -06: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
Ulf Wiger
07ec15dc44 check riak-admin status 2014-12-16 20:42:28 +01:00
John Burwell
5a6150ab14 Merge pull request #702 from basho/jsb/reduce-snmp-poll-interval
Reduce the SNMP stats poll interval form 1 minute to 1 second
2014-11-12 13:28:13 -05:00
John Burwell
b103c52a87 Reduces the SNMP stats poll interval from 1 minutes to 1 second
Reduces the probability of a race condition between the calculation of spiral/histogram metrics and SNMP stat cache refresh by reducing the SNMP poll interval to 1 second during test execution
2014-11-12 12:50:57 -05:00
John Burwell
a38166e6ea Configure all JMX listeners to use an unprivledged port the test can be
executed when not running as root.
Logs the JMX query command line to assist test failure debugging
2014-11-11 22:06:22 -05:00
Christopher Meiklejohn
98b66a3190 Resolve race condition.
Don't wait for convergence of the ring, because bucket properties are no
longer stored in the ring; instead, wait until the property changes,
which means the gossip has stabilized.
2014-11-06 12:30:03 -08:00
Micah
696e034ed8 Merge pull request #684 from basho/feature/mw/cluster-mgr-refactor-support
Fixed cluster connection detmination function.
2014-10-30 11:40:43 -05:00
Russell Brown
1f4e504b70 Test for kv679 unique vnode id on a node 2014-10-15 11:29:16 +01:00
Kelly McLaughlin
cf55f195a5 Add option to return exit code from rt:admin calls
Add an rt:admin/3 function that accepts a list of options as the third
parameter.  Currently the only valid option is return_exit_code. The
rtdev, rtssh, and rt_cs_dev harnesses have been updated to support
this option. If return_to_exit is specified the return from a
?HARNESS:admin call is a pair with the exit code as the first member
and the command output as the second member. Finally the
basic_command_line test has been changed to use return_for_exit to
verify the changes.
2014-10-10 15:37:54 -06:00
Micah Warren
d1891f69fd Fixed cluster connection detmination function.
Due to the refactor for the cluster manager/connection manager system to
use otp behaviors, the raw message method of getting stats has been ousted.
Instead, it uses a call. To allow the riak_test to be able to check older
clusters as well as the method, the function was extended to try new and
then the old.
2014-09-24 15:42:26 -05:00
Kelly McLaughlin
7cd2645564 Add verification of handoff heartbeat to verify_handoff test
Add testing of the handoff heartbeat change from the following pull
request: https://github.com/basho/riak_core/pull/560. Add an intercept
module for the riak_core_handoff_sender module to introduce artificial
delay on item visitation during a handoff fold. This delay along with
the changes to the verify_handoff test induces test failure when run
without the heartbeat change. The handoff_receive_timeout is exceeded,
handoff stalls, and the test eventually fails due to timeout. The test
succeeds when run with the heartbeat change.
2014-09-11 15:05:26 -06:00
Russell Brown
45846699c7 Wait until all changes are replicated before passing
Realtime repl takes real time, so wait for it to finish before
calling the test done.
2014-08-27 18:21:00 +01:00
Russell Brown
57cbd61b35 Ensure realtime repl is doing it's thing before making updates 2014-08-27 15:33:10 +01:00
Sean Cribbs
67dfe49934 Merge pull request #654 from basho/sdc-nitpick-counter-cap
Fix nitpick about new/old API from #653.
2014-08-26 09:16:33 -05:00
Andrew J. Stone
a6cb50cdfc use 8 instead of 9 nodes to satisfy giddyup 2014-08-25 18:56:24 -04:00
Kelly McLaughlin
8aa5c3f33f Merge branch 'feature/sc-overload-testing' 2014-08-25 13:58:27 -06:00
Kelly McLaughlin
1253c8ad3e More robustification against races between overloading the vnodes and the list_keys attempt for the coverage testing.
Conflicts:
	tests/overload.erl
2014-08-22 15:58:47 -06:00
Andrew J. Stone
c42d2ac055 Merge pull request #666 from basho/ajs/ensemble_byzantine
Add tests for SC byzantine dataloss and tree loss
2014-08-21 23:17:01 -04:00
Jon Anderson
747212678b Merge pull request #676 from basho/bugfix/jra/bug-611
Add repl_bucket_types check that RTQ is drained after bucket type mis-match
2014-08-21 20:52:29 -04:00
Jon Anderson
613bdc29f1 Change rtq drainage check to use dumpq and put it in a function. 2014-08-20 08:07:26 -04:00
Andrew J. Stone
44f562c2d5 add force_replace test to ensemble_ring_changes 2014-08-19 19:22:58 -04:00
Jon Anderson
f36abd590d Add a check to make sure the RTQ queues drain after an unknown bucket
type repl.
2014-08-19 16:36:45 -04:00
Sean Cribbs
b8d8e3026b Verify that datatype stats are updated.
See basho/riak_kv#1017
2014-08-18 15:24:20 -07:00
Kelly McLaughlin
3577f476e6 Updates to bucket property validation test
* Rename the module from validate_nval_etc to bucket_props_validation
* Employ testing of protocol buffers connections in addition to HTTP
2014-08-13 16:32:34 -06:00
Russell Brown
4e7936da17 Riak 2.0 allow_mult defaults to true 2014-08-13 14:15:25 -06:00
Russell Brown
f100468e11 Test for bad bucket property validation 2014-08-13 14:15:25 -06:00
Andrew J. Stone
07de5cb9c9 Update ensemble_ring_changes w/ node replace test
Additionally fix cluster expansion and make test deterministically pass.
2014-08-13 00:22:02 -04:00
Andrew J. Stone
cee6cbf4ef Fixup ensemble_ring_changes
* Add some logging
* Ensure updates work before and after ring expansion
2014-08-08 17:38:05 -04:00
Andrew J. Stone
d057999a7b WIP - Add ensemble_ring_changes
Ensemble_ring_changes tests writing a value, expanding the cluster, then
updating and reading that value after ring expansion has completed. It
also creates a bucket using a bucket type with a different n_val from
the default bucket type.  The latter tests basho/riak_kv#1008 and it's
corresponding riak_core PR.
2014-08-05 17:23:42 -04:00
Andrew J. Stone
3bed92cfb4 Use rt functions to safely remove backend data
Use riak_test_runner:metadata/0 to get the configured backend instead of
defaulting to bitcask. Additionally we use rt:clean_data_dir/2 to safely
remove backend directories.
2014-07-29 17:05:50 -04:00
Christopher Meiklejohn
ccc4d403d4 Add yz test for search over maps. 2014-07-29 12:33:16 -04:00
Andrew J. Stone
5319e75269 Add tests for SC byzantine dataloss and tree loss
This is the first iteration of creating byzantine dataloss tests that
show both recoverable and unrecoverable, but detectable errors. This tests the
following scenarios.

 * Lose one partition worth of data, but no synctrees and recover.
 * Lose all but one partition of ensemble data, but no synctrees and
   recover.
 * Lose minority of synctrees. Only the peers with the missing
   synctrees are restarted. System remains available.
 * Loss of majority of synctrees. Majority peers are restarted. System
   recovers when they all come back online.
 * Loss of majority of synctrees with one node partitioned. All peers
   restarted except partitioned one. System does not recover with that
   node partitioned. When the partition is healed the system recovers.
 * Loss of all data and synctree except on one peer recovers.
 * Backing up and restoring old data but not synctrees results in
   detected errors. Restoring newer data fixes this.
 * Delete all data on all nodes, but not synctrees. This is detected and
   an error returned to the user.
2014-07-25 13:58:02 -04:00
Jon Anderson
09a60d1289 add timeouts to calls instead of from .riak_test.config 2014-07-24 14:47:46 -04:00
Jon Anderson
9746731f09 initial commit 2014-07-22 17:08:12 -04:00
Jon Anderson
a597b3ee63 removed sleep 2014-07-22 17:03:16 -04:00
Jon Anderson
0671b59b4c add a intercept/server accounting of get_fsm processes. 2014-07-22 16:48:25 -04:00
Kelly McLaughlin
98681cd658 Increase the test code coverage and make the coverage checking more
robust to failures.
2014-07-15 16:48:43 -06:00
Kelly McLaughlin
ceb24fc3e2 Merge pull request #661 from basho/bugfix/replication-ssl-site-ip-verification
Fix failure of replication_ssl test introduced by 297090d
2014-07-15 15:08:50 -06:00
Kelly McLaughlin
0ab2393559 Change replication SSL ACL tests to avoid certificate expiration
Change the ACL test case in the replication_ssl and replication2_ssl
tests to use certificates generated within the tests instead of
relying on certificates created outside the test that are prone to
expire and cause spurious test failure.

Also change the replication_ssl and replication2_ssl tests to avoid a
cycle of standing up the test clusters and then immediately restarting
them before any tests cases execute. This should make the test
execution slightly faster for both test modules.

This commit also changes the tests to be a bit more robust in checking
for cluster state when restarting nodes and removes an unnecessary
five second sleep call in the replication_ssl test.
2014-07-15 12:06:06 -06:00
Kelly McLaughlin
9c5daf0f31 Fix failure of replication_ssl test introduced by 297090d
Change replication_ssl to use the wait_for_site_ips function from the
replication module introduced in
297090ded6 instead of the defunct
verify_site_ips function.
2014-07-14 12:37:32 -06:00
Russell Brown
a212b99a75 Update expected return to match change in riak_pb API
See 2b68a97710
for details.
2014-07-14 17:14:51 +01:00
Joseph Blomstedt
695853cc94 Merge pull request #657 from basho/bugfix/ensemble-interleave-error-failed
Fix ensemble_interleave error condition
2014-07-11 21:42:59 -07:00
Andrew J. Stone
f0643db473 Fix ensemble_sync by allowing {error, <<"failed">>
Allow {error, <<"failed">>} as an error response in ensemble_sync. Fixes
the test with basho/riak_ensemble#37 and basho/riak_kv#1002
2014-07-11 18:11:30 -04:00
Andrew J. Stone
38bd8399d1 Fix ensemble_interleave error condition
Include {error, <<"failed">>} as allowed failure so that test passes
with changes for basho/riak_ensemble#37 and basho/riak_kv#1002
2014-07-11 17:41:48 -04:00
Kelly McLaughlin
b59fb48611 Expand the overload test to include strong consistency
Change the overload test to exercise the strongly consistent code
paths in addition to the eventually consistent paths during overload
conditions.
2014-07-11 13:23:48 -06:00
Kelly McLaughlin
297090ded6 Avoid a race condition in the replication test module
Avoid a race condition in the replication test module when checking
for site IP addresses in the replication status output.  The test
waits for a connection on the leader, but it only queries the
replication status to check for the expected site IP addresses a
single time. Change the test to wait and re-check the status output to
give greater assurance that if the expected site IP addresses are not
present it is due to legitimate failure and not a race condition in
checking the replication status. This change affects the replication
and replication_upgrade tests as well as any other tests that call the
replication:replication function.
2014-07-01 16:36:45 -06:00
Jon Anderson
054c015d10 Merge pull request #651 from basho/feature/jra/verify_listkeys_eqcfsm
Expand verify_listkeys_eqcfsm to track varying buckets and n_vals.
2014-07-01 13:19:41 -04:00
Sean Cribbs
17b94da468 Fix nitpick about new/old API from #653. 2014-07-01 08:53:00 -05:00
Christopher Meiklejohn
f085f70169 Merge pull request #653 from basho/features/csm/crdt-capability
Prevent autoreconnect problem.
2014-06-30 18:29:05 -04:00
Christopher Meiklejohn
da34719fe3 Prevent autoreconnect problem.
Prevent a situtation where the auto-reconnect hasn't triggered yet
causing the result to be an error, instead of ok, on the next operation
after reconnecting.  Force a disconnect and reconnect to make sure the
test is deterministic.
2014-06-30 17:22:20 -04:00
Jon Anderson
7c2d7cc827 Expand verify_listkeys_eqcfsm to track varying buckets and n_vals. 2014-06-26 16:13:58 -04:00
Eric Redmond
0eb2d1c443 Merge pull request #650 from basho/er/yz-ensemble-test
Test that ensemble delete functions in yokozuna
2014-06-23 17:38:09 -07:00
Engel A. Sanchez
3662965705 Merge pull request #649 from basho/feature/ensembles-wait-for-riak-kv
Feature/ensembles wait for riak kv
2014-06-23 14:24:12 -04:00
Eric Redmond
266f9858eb Test the ensemble delete function 2014-06-20 14:44:30 -07:00
Engel A. Sanchez
d32d007f4d Fix service/peer check race
Changing to fetching the list of peers first, then check if the riak_kv
service is up. If the service is up, then check the peers. Otherwise it
is possible to see the service down, then peers up because it went up in
the interim.

Also, making KV vnode delay configurable.
2014-06-20 14:26:24 -04:00
Engel A. Sanchez
3bf0954253 Test ensemble peers wait for riak_kv service
Now ensemble peers are prevented from starting up until the riak_kv
service is up to avoid nasty races that could even lead to node crashes
as the ensembles frantically query for data that isn't ready.
2014-06-19 23:26:30 -04:00
Kelly McLaughlin
4b9a77c828 Re-initiate fullsync after a number of failed checks for completion
Re-initiate fullsync after 100 failed checks for completion. The
number of retries of the 'start fullsync and then check for
completion' cycle is configurable using
repl_util:start_and_wait_until_fullsync_complete/4 and defaults to 20
retries. This change is to avoid spurious test failures due to a rare
condition where the rpc call to start fullsync fails to actually
initiate the fullsync. A very similar changed for the version of the
start_and_wait_until_fullsync_complete in the replication module
introduced in 0a36f9974c has had good
effect at avoiding this condition for v2 replication tests.
2014-06-19 14:34:56 -06:00
Kelly McLaughlin
3466aa7c24 Merge branch 'bugfix/fix-repl-object-reformat' 2014-06-18 22:14:35 -06:00
Jon Anderson
c424848bb0 Merge pull request #644 from basho/bugfix/jra/listkeys_eqc_setup
Fix occasional setup errors in verify_listkeys_eqcfsm
2014-06-18 20:29:00 -05:00
Jon Anderson
f3f5e40a36 Removed commented function. 2014-06-18 18:15:30 -05:00
Kelly McLaughlin
f8e10f2f75 Reinstate concurrency in replication_object_reformat test 2014-06-18 15:55:27 -06:00
Kelly McLaughlin
87ee6f5883 Fix replication_object_reformat test failure
Part of the condition checking done in the replication_object_reformat
test is to validate the results of a fullsync using
repl_util:validate_completed_fullsync/6. The way in which the the
function is called from the test expects fullsync to complete with 0
error_exit or retry_exit conditions occurring. This requires that sink
cluster be in a steady state with all partitions available. The test
failed to wait for such conditions to occur and instead relied on
performing a node downgrade asynchronously and waiting for up to 60
seconds for a completion message before continuing with the test. The
test was continually failing after a node was downgraded to `previous`
due to partitions being reported as `down` on that node. To resolve
the issue the node downgrade process is now done in the primary test
process instead of in a separate spawned process. After the version
downgrade is complete, the test now waits for the riak_repl and the
riak_kv services, calls rt:wait_until_nodes_ready/1, calls
rt:wait_until_no_pending_changes/1, and finally waits for the
riak_repl2_fs_node_reserver named process to be registered on the
downgraded node. This process is responsible for handling partition
reservation requests and is key to determining the the new node is
able to handle a fullsync without partition errors.
2014-06-18 15:55:27 -06:00
Kelly McLaughlin
c55e473b97 Merge branch 'feature/update-repl-systest-read-use' 2014-06-18 15:52:48 -06:00
Kelly McLaughlin
2f9a3cae4a Update calls to rt:systest_read to handle identical siblings
Update the calls to rt:systest_read in repl_util and
repl_aae_fullsync_util to treat identical siblings resulting from the
use of DVV as a single value.  These changes are specifically to
address failures seen in the repl_aae_fullsync_custom_n and
replication_object_reformat tests, but should be generally useful for
replication tests using the utility modules that and that have
allow_mult set to true.
2014-06-18 14:33:44 -06:00
Andrew J. Stone
7d0301db35 add intercept for riak_kv_ensemble_backend:handle_down/4 in ensemble_vnode_crash 2014-06-17 23:13:44 -04:00
Andrew J. Stone
6c14c7c371 Add test to kill a vnode and vnode proxy
Kill a vnode and it's proxy for a given key and ensure that operation
reads succeed afterwards.
2014-06-17 17:57:15 -04:00
Jon Anderson
baf32904af Remove un-used clean up function. 2014-06-17 17:26:23 -04:00
Jon Anderson
8912210036 Re-enable AAE. 2014-06-17 17:04:39 -04:00
Jon Anderson
472241f180 Take cluster set up out of a state and instead put it in the property. 2014-06-17 16:49:20 -04:00
John Burwell
6733c099c8 Merge pull request #636 from basho/bugfix/jsb/start-ensemble-without-aae
Verify Riak Startup when Strong Consistency is Misconfigured
2014-06-16 09:30:33 -04:00
Micah
c96f318f6a Merge pull request #643 from basho/bugfix/mw/better-isolate-pb_security-certs
isolate certs created for the pb_security tests.
2014-06-12 17:30:36 -05:00
Micah Warren
f7631b42c3 pb_cipher_suites test creates certs in its own dir.
Same reason as pb_security and http_security: to keep other tests
from stomping on it.
2014-06-12 17:22:42 -05:00
Micah Warren
f96847beb8 isolate certs created for the pb_security tests.
This should prevent other tests from interfering in its execution
2014-06-12 17:18:15 -05:00
Kelly McLaughlin
0589935931 Fix problems with cert specifications causing replication_ssl to fail
Fix problem with cacertdir specification in replication_ssl test. The
code used load cert files in v2 replication expects the path specific
by the cacertdir key to only be a directory. With v3 replication the
code used is flexible enough to allow a directory or a file. Also
correct a typo in the certfile path for the SSLConfig1 configuration.
2014-06-12 12:38:58 -06:00
Kelly McLaughlin
5f5c3ac035 Merge branch 'bugfix/replication-upgrade-fixes' 2014-06-12 10:39:53 -06:00
Kelly McLaughlin
21b64526f1 Fix two issues with replication_upgrade test
* Do not attempt to cancel fullsync if the initial attempt to start
  and wait for completion fails. It has not been observed that the
  problem is fullsync starting and not completing in time, but rather
  the issue is that the initial call to start fullsync does not take
  effect. Therefore the cancellation is unnecessary.
* Replace the call to repl_util:wait_for_connection/2 in the node
  upgrade process with a call to
  replication:wait_until_connection/1. This function is geared towards
  v2 replication and should speed up test execution.
2014-06-11 21:53:29 -06:00
Micah
2c5def132c Merge pull request #638 from basho/bugfix/mw/pb_security-using-removed-function
Fixed map crdt creation
2014-06-11 13:50:09 -05:00
Micah Warren
3067209a97 Fixed map crdt creation
riakc_map:add/2 no longer exists, so updated the creation of that key to
use the correct update semantics.
2014-06-11 13:25:13 -05:00
Kelly McLaughlin
0e2b52d8b1 Fix timing issue with jmx_verify test
Replace use of a 40 second sleep in the test_supervision test case
with a wait condition to better handle variances in the time it takes
to progress through 10 retry attempts.
2014-06-11 11:26:45 -06:00
Kelly McLaughlin
0601cd594f Merge branch 'bugfix/replication-upgrade-return-term' 2014-06-10 17:14:31 -06:00
John Burwell
6d8c504dba - Verifies Riak startup behavior when strong consistency is enabled and
AAE is disabled.  (defect https://github.com/basho/riak_kv/issues/959)
- Adds additional console output to reset-current-env to explain
  configuration and steps being executed
- Adds the -n option to the reset-current-env script to specify the
  number of nodes to build.  By default, 5 will be created.
2014-06-10 15:01:10 -04:00
Kelly McLaughlin
ba4db5ac74 Change replication upgrade tests to return pass on success
As of commit 3044839456 tests that
return something other than the prescribed success atom 'pass' to
indicate success result in test failure. Change the
replication_upgrade and replication2_upgrade tests that return the
result of the a call to lists:foreach/2 to instead return 'pass' to
indicate success.
2014-06-10 12:58:57 -06:00
Joseph Blomstedt
4322795d8f Merge pull request #632 from basho/jdb-auto-ensemble
Update ensemble tests to work with auto-activation
2014-06-06 16:45:43 -07:00
Engel A. Sanchez
cf10cf96a4 Merge pull request #594 from basho/feature/bitcask-tombstone2-upgrade
Verify Bitcask tombstone 2 upgrade
2014-06-06 10:34:15 -04:00
Joseph Blomstedt
65e15a50ad Update ensemble tests to work with auto-activation
Prior to this commit, the various riak_ensemble related tests would
manually enable the consensus system on one-and-only-one node in a
given cluster in order to work around issue basho/riak_core#571.

This commit changes the tests to work properly after the above issue
has been fixed.

In addition to removing the call to riak_ensemble_manager:enable()
that is now handled automatically by Riak, this commit also removes
a few wait_until_stable/2 checks against 1-node clusters. These
checks no longer apply, since Riak is now designed to only enable
the consensus system after the cluster contains at least 3 nodes.
2014-06-05 16:43:12 -07:00
Christopher Meiklejohn
e07c5eb3f6 Merge pull request #626 from basho/bugfix/bjs/riak_repl_cancelled_connections_cleanup
Disconnect and cancelled connection tests
2014-06-05 16:09:34 -04:00
Christopher Meiklejohn
b208394f63 Adapt test with better assertions and new cluster API. 2014-06-05 16:08:08 -04:00
Micah
ce1969d53b Merge pull request #621 from basho/bugfix/mw/pb-cipher-suites-and-http-security
Change http_security uses different directory for certs then pb_cipher_suites
2014-06-05 11:34:28 -05:00
bsparrow435
a5746cb416 Adding re-connection test
Adding onto the existing test to prove that a reconnection to the same
endpoint can occur after the cancelled connection has been removed.
2014-06-04 21:46:57 -04:00
bsparrow435
c89de8dac9 Address PR comments
Changed intercept to explicitly return `{error, econnrefused}`. Moved
helper functions to `repl_util` and added a new helper to distinguish
between disconnects on `cluster_by_name` and `cluster_by_address`
connections.

Added asserts to all wait_for functions.
2014-06-04 19:51:21 -04:00
Joseph Blomstedt
100180e7ff Merge pull request #593 from basho/ajs/ensemble_remove_node 2014-06-04 11:05:34 -07:00
Joseph Blomstedt
f822e52fe8 Extend ensemble_remove_node2 to test shutdown
ensemble_remove_node2 uses an intercept to prevent a riak_ensemble
related transition that is necessary for nodes to completely exit and
shutdown after removal. In fact, testing for this scenario is the
entire point of this test, since it is testing logic that was added to
solve basho/riak_core#572 and that logic prevents nodes from exiting
until that transition occurs.

However, even without this new logic, there is an unrelated
riak_ensemble related bug that can trigger a race condition that also
prevents nodes from shutting down.

The good news is that other changes made as part of the solution to
solve basho/riak_core#572 also fix this unrelated bug. Therefore this
commit extends ensemble_remove_node2 to remove the intercept at the
end of the test and verify that the removed nodes do actually end up
exiting as expected. Thus, the test now tests for both the negative
and positive scenarios and serves as a test against future regressions
that stall node removal/shutdown.
2014-06-03 15:50:06 -07:00
John Burwell
610c1a6ab8 Merge pull request #627 from basho/bugfix/jsb/fix-list-keys-missing-bucket-type-client
Test the operation of list keys and buckets for undefined bucket types
2014-06-03 16:59:47 -04:00
Engel A. Sanchez
27b15c8d37 Merge pull request #630 from basho/feature/wait-for-bucket-props
Add wait until bucket type visible
2014-06-03 16:35:56 -04:00
Evan Vigil-McClanahan
7f0b898e33 Merge pull request #625 from basho/membackend-test
add expanded memory backend tests
2014-06-03 11:50:01 -07:00
Engel A. Sanchez
595c13019d Add wait until bucket type visible
Adding a test to verify a bucket type is visible from a number of nodes
since the active status is given as long as the claimant sees it. But
requests to other nodes can end up hitting the dreaded {error, no_type}.
Also added a general utility that can be used for bucket type checks and
for general verification of bucket properties across nodes.
2014-06-03 14:03:24 -04:00
John Burwell
36741bb977 - Adds tests to verify the operation of list keys and list buckets when
an undefined bucket type is specified.  (defect #875)
- Adds a description of the reset-current-env.sh script and its
  usage to README.md
- Corrects a spelling mistake in an information message emitted by
  the reset-current-env.sh script
2014-06-03 13:44:05 -04:00
Micah Warren
fc13bbcf3c Added cacert to http_security path.
While r16b02-basho5 did not need the cacertfile path put in, r16b03 did.
The test still passes r16b02-basho5 with the added cacertfile line. Since
there is no harm in putting it in, better for forwards compatibility than
not.
2014-06-03 12:41:35 -05:00
Andrew J. Stone
2c7fc9fb4b Merge pull request #628 from basho/bugfix/ensemble-timouts
increase timeouts for SC operations in ensemble tests
2014-06-03 13:29:49 -04:00
Sean Cribbs
3ffab65863 Remove clients tests because they are already running on every commit on builders. 2014-06-03 11:44:07 -05:00
Micah
b14d093ce5 Merge pull request #589 from basho/vinoski/http_security_cluster
remove localhost dependencies in http_security test
2014-06-03 11:31:00 -05:00
evan
b431ba19a1 reorder tests to avoid test-breaking side-effects 2014-06-02 15:23:33 -07:00
evan
0295115e14 fix for ee versions 2014-06-02 13:53:35 -07:00
evan
bdeb8a4138 fix coyote error 2014-06-02 13:40:21 -07:00
Andrew J. Stone
a35be4bf28 increase timeouts for SC operations in ensemble tests 2014-06-02 16:40:19 -04:00
evan
131ee7bf2f add debugging info 2014-06-02 13:25:44 -07:00
Micah Warren
2b6c86b8bc Removed reference to outdated add-map feature. 2014-06-02 15:18:21 -05:00
evan
492f52ce6c try to make the eviction check fully deterministic 2014-06-02 11:01:17 -07:00
bsparrow435
941efca4ac Disconnect and cancelled connection tests
Adding tests and intercepts for connection_mgr to test disconnect and
cancelled connection cleanup.
2014-06-02 13:03:11 -04:00
Sean Cribbs
98b180ae4c Merge pull request #611 from basho/feature-bug/rdb/removes-remove
Update dt test for reset-remove semantic
2014-06-01 15:42:10 -05:00
evan
5d5cdce079 add expanded memory backend tests 2014-05-31 09:17:41 -07:00
Jon Anderson
27390fb2e2 Merge pull request #624 from basho/bugfix/jra/rex
Add test for safe_rpc when rex is down
2014-05-30 16:44:35 -04:00
Jon Anderson
110bf7e1ab Restart rex and make sure rpc works again. 2014-05-30 15:44:06 -04:00
Jon Anderson
8623a7415c Add riak_test to exercise riak_core_util:safe_rpc rex problem fix. 2014-05-30 14:55:34 -04:00
Engel A. Sanchez
177f901f50 Merge pull request #623 from basho/bugfix/bucket-types-and-mr-key-filter
Verify bucket type + MR filters fix
2014-05-30 13:07:03 -04:00
Engel A. Sanchez
7d8eae7386 Verify bucket type + MR filters fix 2014-05-30 12:00:20 -04:00
Kelly McLaughlin
ce401b0b0d Merge branch 'bugfix/replication2-race' 2014-05-30 09:23:54 -06:00
Christopher Meiklejohn
b1752e0a26 Merge pull request #617 from basho/feature/csm/location-down
Add ability to test the location_down behavior.
2014-05-30 10:49:59 -04:00
Kelly McLaughlin
d82e65c633 Fix a race condition in replication2 test
Remove an assertion based on reading keys a single time after realtime
replication is re-enabled in the test. Instead just rely on the wait
condition that already followed the assertion to read and verify the
same keys.
2014-05-29 16:56:21 -06:00
Micah Warren
c313638cb4 Using different directory for certs than pb_cipher_suites
There are different cert chains for pb_cipher_suites and http_security.
The certs were not fully cleaned between tests, so it would cause the
test to fail. By just using a different directory to put the certs into,
it better isolates the tests.
2014-05-29 13:48:54 -05:00
Micah Warren
ae30256d20 Fixed return from confirm so test acutally passes. 2014-05-29 13:48:38 -05:00
Sean Cribbs
ef56dadad1 Merge pull request #610 from basho/bugfix/sdc/riak-api-61-error-no-type
Check for the correct bucket props response on non-existent type
2014-05-29 12:11:02 -05:00
Christopher Meiklejohn
a07018cb4c Merge pull request #618 from basho/feature/csm/cancel-fullsync
Ensure we can cancel a fullsync and restart.
2014-05-28 21:34:38 +02:00
Andrew J. Stone
6cd649d5ab Ensure keylist pids are stopped when fs cancelled
When fullsync is cancelled, we want to make sure that the keylist pids
it was using actually go away. Add that code to repl_cancel_fullsync.
2014-05-28 15:23:41 -04:00
Christopher Meiklejohn
236ad884f9 Verify that after stopping, no sources running. 2014-05-28 14:51:54 +02:00
Christopher Meiklejohn
6cebbd371a Add ability to test the location_down behavior.
Assert that we properly handle retries of failed partitions, when the remote location happens to be down.
2014-05-28 13:59:23 +02:00
Andrew J. Stone
8c3beedcc8 Make repl_cancel_fullsync more robust
* add repl_util:wait_until_fullsync_started/1
 * add repl_util:wait_until_fullsync_stopped/1
 * remove timeouts and use above calls to confirm our test is in the
   right state
2014-05-27 17:41:15 -04:00
Andrew J. Stone
59ad7841ba add stop command and read assertion to repl_cancel_fullsync 2014-05-27 13:04:19 -04:00
Christopher Meiklejohn
dfdfb51739 Ensure we can cancel a fullsync and restart. 2014-05-26 23:03:04 +02:00
Kelly McLaughlin
19ae3dee6c Merge pull request #600 from basho/bug/er/search-switch-btype
Update mapred_search_switch with new behaviors
2014-05-23 10:44:17 -06:00
Kelly McLaughlin
d7da9f1711 Merge pull request #608 from basho/bug/mw/repl2-allow-mult
Removed 'allow_mult false' for test.
2014-05-22 16:51:48 -06:00
Kelly McLaughlin
bc52f94bda Merge branch 'refactor/change-ok-test-returns' 2014-05-22 16:35:08 -06:00
John R. Daily
429064e18b Add tests for bugs reported against riak_core: 917, 918 2014-05-22 18:18:32 -04:00
Kelly McLaughlin
1f538d7ee0 Update tests that return something other than pass for success
As of commit 3044839456 tests that
return something other than the prescribed success atom 'pass' to
indicate success result in test failure. Change tests that return the
atom 'ok' or some other value to instead return 'pass' to indicate
success.
2014-05-22 15:54:23 -06:00
Ryan Zezeski
3044839456 Merge pull request #613 from basho/rz/no-fails
A return of `fail` should actually report failure
2014-05-21 18:29:53 -04:00
rzezeski
f78de19560 Add always_fail_test
Add a test that always fails to make sure that the pass/fail logic is
working.
2014-05-21 17:13:27 +00:00
Russell Brown
8d2daa62e6 Update dt test for reset-remove semantic
And dopping of "add" fro Map API
2014-05-20 14:41:15 +01:00
Sean Cribbs
6cfdf26a4b Check for props on non-existent bucket type. See basho/riak_api#62 2014-05-19 15:21:49 -05:00
Micah Warren
43ae4e2871 Removed 'allow_mult false' for test.
This reverses an earlier change to support a feature that has been stripped
(for now). When said feature is put back in, it should support multi.
Setting this to allow mutlt = true allows for more confidence in tests.
2014-05-19 12:48:08 -05:00
Sean Cribbs
c2c97efb82 Use the wrapper function for getting a PB connection. 2014-05-19 11:32:02 -05:00
Sean Cribbs
3476bf4d7f Added check for list-keys and 2i security on non-default bucket-types. 2014-05-17 12:46:23 -07:00
Joe DeVivo
cfd473ad23 Merge pull request #603 from basho/refactor/confbal/ssl
Using riak_core ssl app settings instead of riak_api
2014-05-13 13:48:55 -07:00
Steve Vinoski
6e7bbb8b27 remove localhost dependencies in http_security test
Make sure the http_security test works when run on an actual cluster under
rtcloud.
2014-05-13 15:48:09 -04:00
Joe DeVivo
d654a438d7 Using riak_core ssl app settings instead of riak_api 2014-05-13 09:04:34 -07:00
Jon Anderson
6fd07010d7 Add EQC ifdefs. 2014-05-13 11:44:45 -04:00
Engel A. Sanchez
bda1b5c3cf Merge pull request #543 from basho/refactor/one-wait-4-aae-trees
Merge repl and rt versions of wait until AAE trees build
2014-05-12 15:54:36 -04:00
Engel A. Sanchez
31588c5d22 Replacing repl_util AAE wait with rt version 2014-05-12 14:55:59 -04:00
Andrew Thompson
29def51378 Merge pull request #601 from basho/adt-use-make_certs
Switch all the selfsigned certificates to be generated on demand
2014-05-09 22:41:07 -04:00
Andrew Thompson
6c4afcbcde Switch all the selfsigned certificates to be generated on demand
Using the make_cert tool we can generate arbitrary certificate chains on
demand, so they never have to be regenerated.
2014-05-09 14:46:52 -04:00
Jon Anderson
79a0434c3d Merge pull request #599 from basho/feature/jra/listkeys-eqcfsm
Eqc-fsm version of listkeys statem test
2014-05-09 13:58:59 -04:00
Jon Anderson
0daccbbb81 Refactor test.
- Move noshrink to g_uuid.
- Remove dead code.
2014-05-09 12:27:50 -04:00
Jon Anderson
fe8ffc6c6c Add noshrink call to g_uuid() so avoid shrinking on uuid generation. 2014-05-09 12:01:05 -04:00
Jon Anderson
576f8961d2 Remove unnecessary flags from State. 2014-05-09 11:15:41 -04:00
Jon Anderson
4ece10f424 Complete basic test.
- Fix single bucket handling.
- Remove unused preconditions from statem test.
- Add postconditions for verification.
2014-05-09 10:50:13 -04:00
Eric Redmond
0f6cda672b Bucket type missing from MR verify, search with wildcard 2014-05-08 21:38:41 -07:00
Kelly McLaughlin
acd0f3fbe6 Merge branch 'bugfix/verify-busy-dist-port-hang' 2014-05-08 16:18:43 -06:00
Jon Anderson
5a78809cde Rename states to be more sensible. 2014-05-08 15:25:38 -04:00
Christopher Meiklejohn
de0f50fd86 Merge pull request #597 from basho/bugfix/csm/riak_control
Resolve riak_control failures.
2014-05-08 12:40:43 -04:00
Christopher Meiklejohn
32b6a598e9 Resolve riak_control failures.
Resolve failures with cuttlefish configuration changes in Riak 2.0.

Remove riak_control_upgrade, since riak_control should cover those use
cases completely.
2014-05-08 12:40:13 -04:00
Jon Anderson
3d4a836915 Added druuid depenency to fix g_uuid() failure in
verify_listkeys_eqcfsm.
2014-05-07 11:35:34 -04:00
Jon Anderson
6131a7be5e Fixed post-test State handling for cleanup. 2014-05-06 17:28:12 -04:00
Kelly McLaughlin
0de33c7b66 Resolve issue with verify_busy_dist_port test hanging indefinitely
The verify_busy_dist_port helper function cause_bdp:spam_nodes/1
recently changed to be more aggressive in triggering busy_dist_port
warnings. The function changed to spawn 1 million processes to ensure
the test generated enough activity to trigger the warnings, but that
number of processes exceeds the 256 thousand process limit that is the
Riak default. One consequence of this can be that the rex server
responsible for handling rpc calls can crash. In some cases this leads
to rpc calls by riak_test to shutdown the riak nodes involved in the
test to hang indefinitely. This change reduces the number of processes
spawned to 200 thousand. This should still be enough processes to
trigger the busy_dist_port warnings, but without exceeding the beam
process limit.
2014-05-06 14:40:47 -06:00
Jon Anderson
6ce90f87be Eqc-fsm version of verify_listkeys_eqcfsm. 2014-05-06 15:28:28 -04:00
Joe DeVivo
ffadda64a2 Fixed all hardcoded references to 127.0.0.1 in replication2_pg 2014-05-01 15:38:02 -06:00
Joe DeVivo
004de13036 potential fix for replication2_pg:test_mixed_pg_ssl 2014-05-01 15:38:02 -06:00
Joe DeVivo
60036e57f4 replication2_pg fixes for rtcloud 2014-05-01 15:30:32 -06:00
Kelly McLaughlin
f9cf5f840c Merge branch 'bugfix/repl-upgrade-wait-for-rt-conn' 2014-04-25 08:30:46 -06:00
Kelly McLaughlin
2e0991f9e2 Merge branch 'bugfix/verify-counter-capabilities-failure' 2014-04-24 22:02:43 -06:00
Kelly McLaughlin
e2a1ccd653 Wait for realtime connections after node upgrades in replication tests
Prior to Riak 1.4.8 replication registers as a service prior to
completing all initialization tasks including establishing realtime
connections to sink clusters. This leads to a race condition in the
replication_upgrade and replication2_upgrade tests where the test may
begin writing data to the source cluster to verify the function of
realtime replication before the most recently upgraded node
establishes a connection to the sink cluster. The result of this is
that the data is silently discarded by the realtime replication system
and the test fails because all of the expected data is not replicated
and able to be read on the sink cluster. Change the
replication_upgrade and replication2_upgrade tests to explicitly wait
for the realtime connection to be established after each source
cluster node is upgraded before proceeding with the test.
2014-04-24 21:43:05 -06:00
Engel A. Sanchez
1ed2120668 Verify Bitcask tombstone 2 upgrade
Verify that upgrading Riak with Bitcask to 2.0 or later will trigger
an upgrade mechanism that will end up merging all existing bitcask
files.  This is necessary so that old style tombstones are reaped,
which might otherwise stay around for a very long time. This version
writes tombstones that can be safely dropped during a merge. Bitcask
could resurrect old values easily when reaping tombstones during a
 partial merge if a restart happened later.
2014-04-24 18:08:40 -04:00
Christopher Meiklejohn
bd0721ec32 Merge pull request #588 from basho/feature/csm/repl-stats-1
Add basic moving target stats test.
2014-04-24 12:00:02 +01:00
Christopher Meiklejohn
20fb678e17 Merge pull request #587 from basho/feature/csm/downgrade-rt
Refactor test to assert downgrade.
2014-04-24 11:19:01 +01:00
Kelly McLaughlin
c5cab6a2b2 Merge branch 'bugfix/replication2-pg-test-pg-proxy' 2014-04-23 14:56:56 -06:00
Andrew J. Stone
eb9bc44c66 prevent non-deterministic failures in ensemble_remove_node2
Add a wait_untiL_stable call right before the last read from the root
ensemble.
2014-04-23 16:11:07 -04:00
Andrew J. Stone
0cb1bd4357 check ring state for ensemble_remove_node 2014-04-23 15:47:43 -04:00
Kelly McLaughlin
6bb72e2747 Avoid failure in verify_counter_capabilities after node upgrade
Establish a new PB connection to the legacy node after it is upgraded
in order to avoid a failure. The PB connection may close if the node
upgrade takes too long and its reuse in such a case can lead to test
failure because use of the pid returns {error, disconnected} errors.
2014-04-23 09:49:15 -06:00
Kelly McLaughlin
274fc6648b Merge branch 'er/verify_dt_upgrade' 2014-04-23 06:57:32 -06:00
Kelly McLaughlin
f045c2e093 Call verify_counters during the upgrade 2014-04-23 06:55:06 -06:00
Andrew J. Stone
f171095ad2 A second test for node removal / kv ensemble changes 2014-04-23 00:08:04 -04:00
Andrew J. Stone
3a398b3010 ensemble_remove nodes k/v ensemble checks
Ensure that k/v ensembles reconfigure to exclude a leaving node before
that node transitions to exiting status.
2014-04-22 19:21:32 -04:00
Christopher Meiklejohn
09f7f88776 Add basic moving target stats test.
Use this as a platform to start testing reports of missing stats from
replication.
2014-04-22 10:38:33 +01:00
Christopher Meiklejohn
07b91fab36 Refactor test to assert downgrade.
When performing the test of object reformatting through replication,
assert that if we happen to downgrade the format we can still read the
keys which have been replicated.
2014-04-20 16:09:43 +00:00
Andrew J. Stone
d1420f6482 remove outdated print statements 2014-04-18 16:15:34 -04:00
Andrew J. Stone
2deb46b1e5 Test cluster state and root ensemble members after node leaving in ensemble_remove_node 2014-04-18 16:06:37 -04:00
Kelly McLaughlin
823dd2fe9c Wait for transfers to complete in replication2_pg:test_pg_proxy
Wait for transfers to complete in
replication2_pg:test_pg_proxy. Replication tests that test the n_val=1
request option can fail with insufficient_vnodes errors if the cluster
setup does not include waiting for transfers to complete. Change the
test_pg_proxy test case to wait until transfers complete on the "A"
and "B" clusters before proceeding.
2014-04-17 11:05:41 -06:00
Kelly McLaughlin
be61a1c338 Fix an error that can lead to failure of tests using replication2_pg
Fix an error that can lead to failure of tests using
replication2_pg:test_pg_proxy test case. A protocol buffers connection
is established to a node in the "B" cluster, the leader node from that
cluster is shut down, and then that protocol buffers connection is
used to exercise proxy_get. If the connection was established to the
former leader and that is subsequently shut down it can cause the test
to stall and eventually fail. This changes that test to establish a
new connection to a node remaining in the "B" cluster to use for the
proxy_get and prevents the test from stalling.
2014-04-16 17:38:18 -06:00
Andrew J. Stone
106f0608ae add ensemble_remove_node 2014-04-16 17:15:19 -04:00
John Daily
aa91baf273 Merge pull request #549 from basho/jrd-bucket-types-naming
Update tests for UTF-8 bucket types (and buckets)
2014-04-16 11:59:59 -04:00
Kelly McLaughlin
5b66c7a354 Add n_val to bucket type specificaitons 2014-04-15 15:08:23 -06:00
Kelly McLaughlin
75f5165078 Fix bug with assigment of LeaderB 2014-04-15 15:08:04 -06:00
Andrew J. Stone
8246b1a090 Force update ring in ensemble_util:build_cluster()
Once riak_ensemble_manager:enable() is called, we need to call
riak_core_ring_manager:force_update() so that the members will be
created and added to the ensembles trying to get a quorum. During ticks
in core, new members are created only if the ring has changed. There is
a race that can sometimes prevent the members from starting and thus the
quorum from being achieved indefinitely. This small change to the test
infrastructure resolves this issue, but it still requires fixing in
riak_core and/or riak_kv.
2014-04-15 16:06:47 -04:00
Andrew J. Stone
d0c7f2998e Call riak_core_manager:force_update() in test
repl_consistent_object_filter calls riak_ensemble_manager:enable() which
fails to bootstrap the ensemble because the ring has stabilized already.
An issue for this will be opened in riak_kv, but this quick fix will
allow the test to get beyond that point.
2014-04-15 15:49:36 -04:00
Kelly McLaughlin
aca372d627 Initial refactoring to use ensemble_util 2014-04-14 14:09:13 -06:00
Joseph Blomstedt
53e339c913 Merge pull request #573 from basho/jdb-ensemble-sync 2014-04-11 09:39:22 -07:00
Kelly McLaughlin
1651adbd36 Merge branch 'bugfix/fix-verify-busy-dist-port' 2014-04-11 09:14:32 -06:00
Joseph Blomstedt
da7b81b7b3 Merge pull request #569 from basho/jdb-ensemble-overhaul 2014-04-10 23:50:08 -07:00
Joseph Blomstedt
ab5a4a6e4a Add additional ensemble tests to test peer syncing
Add ensemble_basic4, ensemble_sync, and ensemble_interleave tests.

ensemble_sync tests the new AAE-based peer syncing logic. The test
checks various scenarios with different levels of data corruption.

ensemble_interleave tests a specific scenario where two peers become
corrupted one after the other. This tests the scenario where the
second peer becomes untrusted while the first peer may be syncing
with it.
2014-04-10 19:07:02 -07:00
John R. Daily
42265b9d43 Remove unnecessary sleep per @jrwest 2014-04-10 21:53:32 -04:00
John Daily
9d572c24f6 Merge pull request #555 from basho/jrd-security-encoding
Changes for UTF-8 support in users and groups (plus lower-case grant syntax)
2014-04-10 16:59:15 -04:00
Kelly McLaughlin
12cd13a575 Resolve failure of verify_busy_dist_port test on Riak 2.0
As of Riak 2.0 the vm.args zdbbl setting defaults to 32768. Previously
the default of 1024 was used.  Change the cause_bdp helper module for
the verify_busy_dist_port test to be more aggressive in order to
trigger a busy_dist_port message with the higher zdbbl setting.
2014-04-09 16:24:00 -06:00
Kelly McLaughlin
01eef1a556 Merge branch 'refactor/remove-dynammic-ring-force-replace' 2014-04-09 14:23:16 -06:00
Kelly McLaughlin
abad8c44ff Merge branch 'bugfix/replication-test-failures' 2014-04-09 13:58:42 -06:00
Kelly McLaughlin
b991660e67 Remove the force-replace test case from verify_dynamic_ring
There is a race condition that can cause the force-replace test case
in the verify_dynamic_ring test to fail. This issue is being tracked
by riak_core issue #570.  This changes replaces the force-replace
testing with another resize test. Once issue #570 is resolved this
change can be reverted.
2014-04-09 13:36:25 -06:00
Joseph Blomstedt
40f501641c Add basic riak_ensemble tests
Add ensemble_basic, ensemble_basic2, and ensemble_basic3 tests.

These tests test that Riak correctly generates proper consensus
groups, these groups reach quorum, handle leader failures, etc.

ensemble_basic3 tests basic consistent K/V API as well as behavior
during simple network partitions.
2014-04-08 17:41:11 -07:00