Well, that's not true. They break riak_kv's context operations on Maps.
This change works around that breakage by turning the context off for
the operations in this test. It is a temporary thing, when the context fix
work has been done, we'll be changing back.
The heartbeat timeout enforcement was recently updated to be
specified in seconds to match the documentation for that option. The
repl_rt_heartbeat test has since been failing since it still specified
the timeout in milliseconds. This change makes the test use seconds
for the heartbeat timeout gets the test passing again.
The wait_until_leader_converge function could incorrectly return
success if all of the results from the get_leader rpc calls were
either undefined or all returned a badrpc tuple. In either case the
particular result ends up as the sole unique value in a list and the
success condition is verifying that the list is of length 1 regardless
of the value of the member of the list. Change the function to filter
the list of results for values that indicate failure prior to the
success condition checking.
This test verifies that AAE repairs replicas of values without passive
read repairs. This includes missing replicas and replicas with divergent
values. It will also repair entire KV partitions lost, and if
configured for trees to rebuild, it will recover from AAE data loss and
corruption.
This version differs from the original 1.4 test only in the handling of
siblings. It does get before put for modifications and merges values by
choosing the longest one, as modifications in this test append bits.
* Fix the wait_for_workers in 'jobs' mode
* Handle a dep dir being a symlink (leftover from an aborted previous run)
* Add a new --tasks option so you can pick which tasks you want to run (eunit/dialyzer/xref)
Replication of consistent objects is not currently supported. Add a
test to ensure that fullsync replication filters these objects. No
testing is necesary for realtime replication at this time because the
postcommit hook mechnaism it uses is not invoked in the consistent
object code path.
cluster_meta_basic has been intermittently failing [1]. This commit
includes two improvements, the second of which addreses this
intermittent failure.
The first change modifies the test to "wait_until_object_count"
instead of reading the object count at a given moment and getting a
possibly stale, or soon to be updated, value. This alone does not
cause the to pass reliably. However, it highlights that the
underlying race condition is one where the object count will never
reach the expected value.
The second change modifies the test to avoid the race, which was
caused by resolving on two different nodes concurrently, each of which
in turn wrote and broadcasted the resolved result. If an interleaving,
such that both writes are allowed to succeeed before one node is
notified of the modification on the other, occurs so does the
failure. The test has been changed to only perform the write/broadcast
on a single node ensuring that we eventually converge the the expected
value and object count.
[1]
http://giddyup.basho.com/#/projects/riak_ee/scorecards/73/73-1556-cluster_meta_basic-centos-6-64/35530/artifacts/532185