Use a synchronous command to populate the search buckets, rather than
an asynchronous command. Otherwise, there is a data race between data
being rewritten and search queries being performed.
Change the search verify script to have the proper solr path, otherwise
the script always fails because it queries the wrong index.
Modify the search tester to allow search failures while the cluster has
mixed versions. There is currently a known bug in Riak that causes search
queries to potentially fail against a mixed cluster. The test now only
requires the tester to succeed after all nodes have been upgraded.
Add loaded_upgrade test that spawns k/v and map/reduce testers that run
concurrently as cluster nodes are upgraded. Each tester is spawned before
upgrading a node, and then verified after the upgrade. If the test fails,
the test is then re-run until it passes (or timeout) in order to distinguish
between transient failure and permanent data loss failures.
Current k/v and map/reduce testers use basho_bench.
Add ability to spawn external cmds in either sync or async mode to
rtdev harness.
-- Async: rtdev:spawn_cmd/1 to launch, rtdev:wait_for_cmd/1 for results
-- Sync: rtdev:cmd/1 to launch + wait for results
-- Results are returned as {Status, Result} providing command exit status
and output from stdout
Merging involved changing `deploy_nodes` and `build_cluster` to
support both mixed-version deployment as well as supplying
initial app.config overrides.
Updated all tests from both side of the merge to support new API
Conflicts:
src/rt.erl
src/rtdev.erl
The test verifies that joining mixed-versions of nodes works in either
direction (old version to new, or new to old) as well as verifies that
handoff works in mixed version clusters.
The motivation for this test was a noted regression in mixed-version
handoff when joining a Riak 1.2 node to an older node (joining in the
opposite direction worked fine).
Related bug fix: basho/riak_core#203