Skip to content

Conversation

russelldb
Copy link
Contributor

These commits fix the remaining kv679 dataloss edge cases. They include a simple quickcheck model/simulator. The riak-tests for these changes can be found here basho/riak_test#1296.

The fix is a slight change to the per-actor-epoch code that shipped in 2.1, whereas before we only updated the epoch on coordinating writes, now we update it on non-coordinating writes where we detect some local amnesia. The fix is to add a no-op/no-dot entry to the version vector with a new actor-epoch and a counter of one. This ensures that the next write coordinated by the vnode uses the new epoch, and is not instead a repeated event.

russelldb added 13 commits March 7, 2017 15:59
new_key_epoch was called for all puts where the local get returned a
notfound (no_old_object in the parlance of the recent refactor.) A new
epoch is only needed in certain situtions. This change means a new epoch
is only created when needed on no_old_object puts.

This is an intermediate step toward fixing the outstanding kv679 case
where a vnode has a stale/old/bad local vclock on disk. See the test
https://github.com/russelldb/riak_test/blob/rdb/gh-kv679-fb-byz/tests/kv679_dataloss_fb.erl
for more details.

This commit also simplifies the maybe_new_key_epoch function.
In this test all writes are coordinated by the head of the preflist,
pfhead, and replicated to at least one other node chosen from 2 further
primaries and 3 fallbacks. Every write is there for w=2 and acked on
pfhead one other node. Every now and again one node may replicate to
another. Every now and again pfhead may "forget" it's local values (this
is like a disk error or partially successful delete.) In this commit the
test catches the lost acked write bug pretty quickly. Next up is to add
the vnode counter and see if the test can catch the case as yet unfixed.

Also added a convenience function to riak_object.
This commit adds the epoch counter to the coordinator. It's a WIP commit
that fixes the counter example from the previous commit (which showed
dataloss.)
This commit adds a no-op/no-dot VV increment with a new epoch actor to
an object if it is needed. If the incoming object contains an entry
for the vnode greater than the local one then that indicates that the
local vnode has suffered amnesia and needs to ensure it uses a new
actor id next time it coordinates a write on this key. The simplest
way to do that is add a VV entry of Actor:Epoch+1 with a counter of 1.
Note the new function on riak_object as this increment must _NEVER_
create a dot.
Contrary to previous commit, there is a variation on the bug that
requires new actor epoch even if the local object is found.
An amnesiac vnode may recieve a replica/handoff put with it's own vnode
ID in, this is a strong hint that something is rotten in Denmark, add a
new vnode epoch to the clock as a non-dot/no-op entry
I think this all needs a refactor.
is_local_amnesia seems a better function name than is_greater
@thumbot
Copy link

thumbot commented Mar 21, 2017

Thanks @russelldb!

Settings
---
minimum_reviewers: 2
merge: false
merge_method: merge
build_steps:
- make clean
- make deps
- make compile
- make test
- make xref
- make dialyzer
org_mode: true
timeout: 1800

@thumbot
Copy link

thumbot commented Mar 21, 2017

rdb-bet365/gh679-dl-replicate 6417258 ➡️ develop 3673dce ⛔ completed
There seems to be an issue with build step **make_test,make_dialyzer** ! ☁️
✅ MERGE

Started at: 2017-03-21 05:35
Duration: 1 seconds.
Result: OK
Message: Merge Success: rdb-bet365/gh679-dl-replicate 6417258 onto target branch: develop 3673dce
Exit Code: OK

📄







  Auto-merging src/riak_kv_vnode.erl
Merge made by the 'recursive' strategy.
 src/riak_kv_vnode.erl  | 247 +++++++++++++++----------
 src/riak_object.erl    |  24 ++-
 test/kv679_eqc.erl     | 493 +++++++++++++++++++++++++++++++++++++++++++++++++
 test/kv679_fb_byz.eqc  | Bin 0 -> 637 bytes
 test/kv679_fb_byz2.eqc | Bin 0 -> 669 bytes
 test/kv679_fb_byz3.eqc | Bin 0 -> 879 bytes
 6 files changed, 664 insertions(+), 100 deletions(-)
 create mode 100644 test/kv679_eqc.erl
 create mode 100644 test/kv679_fb_byz.eqc
 create mode 100644 test/kv679_fb_byz2.eqc
 create mode 100644 test/kv679_fb_byz3.eqc




✅ MAKE_CLEAN

Started at: 2017-03-21 05:35
Duration: 1 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258; make clean




  ./rebar clean
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258 (clean)
rm -rf test.*-temp-data





✅ MAKE_DEPS

Started at: 2017-03-21 05:35
Duration: 25 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258; make deps




  ./rebar get-deps
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258 (get-deps)
Pulling sidejob from {git,"https://github.com/basho/sidejob.git",
                          {tag,"2.0.1"}}
Cloning into 'sidejob'...
Pulling erlang_js from {git,"https://github.com/basho/erlang_js.git",
                            {tag,"1.3.0"}}
Cloning into 'erlang_js'...
Pulling bitcask from {git,"https://github.com/basho/bitcask.git",
                          {tag,"2.0.8"}}
Cloning into 'bitcask'...
Pulling eper from {git,"https://github.com/basho/eper.git",{tag,"0.78"}}
Cloning into 'eper'...
Pulling sext from {git,"https://github.com/basho/sext.git",{tag,"1.1p3"}}
Cloning into 'sext'...
Pulling riak_pipe from {git,"https://github.com/basho/riak_pipe.git",
                            {tag,"2.1.6"}}
Cloning into 'riak_pipe'...
Pulling riak_dt from {git,"https://github.com/basho/riak_dt.git",
                          {tag,"2.1.4"}}
Cloning into 'riak_dt'...
Pulling eunit_formatters from {git,"https://github.com/basho/eunit_formatters",
                                   {tag,"0.1.2"}}
Cloning into 'eunit_formatters'...
Pulling riak_api from {git,"https://github.com/basho/riak_api.git",
                           {tag,"2.1.7"}}
Cloning into 'riak_api'...
Pulling hyper from {git,"https://github.com/basho/hyper",{tag,"1.0.0"}}
Cloning into 'hyper'...
Pulling clique from {git,"https://github.com/basho/clique.git",{tag,"0.3.9"}}
Cloning into 'clique'...
Pulling chronos from {git,"https://github.com/basho/chronos.git",
                          {tag,"0.5.1"}}
Cloning into 'chronos'...
==> sidejob (get-deps)
==> erlang_js (get-deps)
==> bitcask (get-deps)
Pulling meck from {git,"https://github.com/basho/meck.git",{tag,"0.8.2"}}
Cloning into 'meck'...
Pulling cuttlefish from {git,"https://github.com/basho/cuttlefish.git",
                             {tag,"2.0.11"}}
Cloning into 'cuttlefish'...
==> meck (get-deps)
==> cuttlefish (get-deps)
Pulling getopt from {git,"https://github.com/basho/getopt.git",{tag,"v0.8.2"}}
Cloning into 'getopt'...
Pulling lager from {git,"https://github.com/basho/lager.git",{tag,"3.2.4"}}
Cloning into 'lager'...
Pulling neotoma from {git,"https://github.com/basho/neotoma.git",
                          {tag,"1.7.4"}}
Cloning into 'neotoma'...
==> getopt (get-deps)
==> lager (get-deps)
Pulling goldrush from {git,"https://github.com/basho/goldrush.git",
                           {tag,"0.1.9"}}
Cloning into 'goldrush'...
==> goldrush (get-deps)
WARN:  Missing plugins: [rebar3_hex]
==> neotoma (get-deps)
==> eper (get-deps)
==> sext (get-deps)
Pulling edown from {git,"git://github.com/uwiger/edown.git",{tag,"0.5"}}
Cloning into 'edown'...
==> edown (get-deps)
==> riak_pipe (get-deps)
Pulling riak_core from {git,"https://github.com/basho/riak_core.git",
                            {tag,"2.1.10"}}
Cloning into 'riak_core'...
==> clique (get-deps)
==> riak_core (get-deps)
Pulling poolboy from {git,"git://github.com/basho/poolboy.git",
                          {tag,"0.8.1p3"}}
Cloning into 'poolboy'...
Pulling basho_stats from {git,"git://github.com/basho/basho_stats.git",
                              {tag,"1.0.3"}}
Cloning into 'basho_stats'...
Pulling riak_sysmon from {git,"https://github.com/basho/riak_sysmon.git",
                              {tag,"2.1.5"}}
Cloning into 'riak_sysmon'...
Pulling eleveldb from {git,"git://github.com/basho/eleveldb.git",
                           {tag,"2.0.34"}}
Cloning into 'eleveldb'...
Pulling riak_ensemble from {git,"https://github.com/basho/riak_ensemble",
                                {tag,"2.1.8"}}
Cloning into 'riak_ensemble'...
Pulling pbkdf2 from {git,"git://github.com/basho/erlang-pbkdf2.git",
                         {tag,"2.0.0"}}
Cloning into 'pbkdf2'...
Pulling exometer_core from {git,"git://github.com/basho/exometer_core.git",
                                {tag,"1.0.0-basho9"}}
Cloning into 'exometer_core'...
==> poolboy (get-deps)
==> basho_stats (get-deps)
==> riak_sysmon (get-deps)
==> eleveldb (get-deps)
Cloning into 'leveldb'...
Note: checking out '2.0.34'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at d6507aa... merge mv-hot-backup2 bug fix to 2.0
==> riak_ensemble (get-deps)
==> pbkdf2 (get-deps)
==> src (get-deps)
==> exometer_core (get-deps)
Pulling parse_trans from {git,"git://github.com/basho/parse_trans.git",
                              {tag,"2.9.2p1"}}
Cloning into 'parse_trans'...
Pulling folsom from {git,"git://github.com/basho/folsom.git",{tag,"0.7.4p5"}}
Cloning into 'folsom'...
Pulling setup from {git,"git://github.com/basho/setup.git",{tag,"1.4"}}
Cloning into 'setup'...
==> parse_trans (get-deps)
==> folsom (get-deps)
Pulling bear from {git,"git://github.com/basho/bear.git",{tag,"0.1.3p1"}}
Cloning into 'bear'...
==> bear (get-deps)
==> setup (get-deps)
==> riak_dt (get-deps)
==> eunit_formatters (get-deps)
==> riak_api (get-deps)
Pulling riak_pb from {git,"https://github.com/basho/riak_pb.git",
                          {tag,"2.3.0.0"}}
Cloning into 'riak_pb'...
Pulling webmachine from {git,"https://github.com/basho/webmachine.git",
                             {tag,"1.10.8-basho1"}}
Cloning into 'webmachine'...
==> riak_pb (get-deps)
Pulling hamcrest from {git,"https://github.com/basho/hamcrest-erlang.git",
                           {tag,"0.3.0-basho"}}
Cloning into 'hamcrest'...
==> hamcrest (get-deps)
==> webmachine (get-deps)
Pulling mochiweb from {git,"git://github.com/basho/mochiweb.git",
                           {tag,"v2.9.0p2"}}
Cloning into 'mochiweb'...
==> mochiweb (get-deps)
==> hyper (get-deps)
Pulling proper from {git,"https://github.com/basho/proper.git",{tag,"v1.2p1"}}
Cloning into 'proper'...
Pulling stdlib2 from {git,"https://github.com/basho/stdlib2.git",
                          {tag,"0.0.1"}}
Cloning into 'stdlib2'...
==> proper (get-deps)
==> stdlib2 (get-deps)
==> chronos (get-deps)





✅ MAKE_COMPILE

Started at: 2017-03-21 05:35
Duration: 77 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258; make compile




  
  
... Snipped 1794 lines ...
src/riak_pb_messages.erl
Compiled src/riak_pb_dt_codec.erl
Compiled src/riak_dt_pb.erl
Compiled src/riak_pb.erl
Compiled src/riak_ttb_codec.erl
Compiled src/riak_yokozuna_pb.erl
Compiled src/riak_pb_ts_codec.erl
Compiled src/riak_ts_pb.erl
Compiled src/riak_search_pb.erl
Compiled src/riak_kv_pb.erl
==> mochiweb (compile)
Compiled src/mochiweb_response.erl
Compiled src/mochihex.erl
Compiled src/mochiglobal.erl
Compiled src/mochiweb_sup.erl
Compiled src/mochiweb_base64url.erl
Compiled src/mochifmt_records.erl
Compiled src/mochinum.erl
Compiled src/mochiweb_mime.erl
Compiled src/mochiweb_headers.erl
Compiled src/mochiweb_util.erl
Compiled src/mochiweb_echo.erl
Compiled src/mochiutf8.erl
Compiled src/mochiweb_skel.erl
Compiled src/mochiweb_multipart.erl
Compiled src/mochilists.erl
Compiled src/mochiweb_app.erl
Compiled src/mochiweb_session.erl
Compiled src/mochiweb_http.erl
Compiled src/mochiweb_request.erl
Compiled src/mochilogfile2.erl
Compiled src/mochitemp.erl
Compiled src/mochijson2.erl
Compiled src/mochiweb_acceptor.erl
Compiled src/mochiweb.erl
Compiled src/mochiweb_cookies.erl
Compiled src/mochiweb_cover.erl
Compiled src/mochiweb_socket.erl
Compiled src/mochifmt_std.erl
Compiled src/mochijson.erl
Compiled src/mochiweb_websocket.erl
Compiled src/mochiweb_html.erl
Compiled src/mochiweb_io.erl
Compiled src/mochiweb_socket_server.erl
Compiled src/mochifmt.erl
Compiled src/reloader.erl
Compiled src/mochiweb_charref.erl
==> webmachine (compile)
Compiled src/webmachine_error.erl
Compiled src/webmachine_logger_watcher_sup.erl
Compiled src/webmachine_perf_log_handler.erl
Compiled src/webmachine_log.erl
Compiled src/webmachine_util.erl
Compiled src/webmachine_error_handler.erl
Compiled src/webmachine_deps.erl
Compiled src/webmachine_sup.erl
Compiled src/webmachine_error_log_handler.erl
Compiled src/webmachine_dispatcher.erl
Compiled src/webmachine_app.erl
Compiled src/webmachine_decision_core.erl
Compiled src/webmachine_multipart.erl
Compiled src/webmachine_request.erl
Compiled src/wrq.erl
Compiled src/webmachine.erl
Compiled src/webmachine_logger_watcher.erl
Compiled src/webmachine_router.erl
Compiled src/webmachine_access_log_handler.erl
Compiled src/webmachine_resource.erl
Compiled src/wmtrace_resource.erl
Compiled src/webmachine_mochiweb.erl
==> riak_api (compile)
Compiled src/riak_api_pb_service.erl
Compiled src/riak_api_pb_frame.erl
Compiled src/riak_api_stat.erl
Compiled src/riak_api_web.erl
Compiled src/riak_api_web_security.erl
Compiled src/riak_api_sup.erl
Compiled src/riak_api_pb_listener.erl
Compiled src/riak_api_pb_registration_helper.erl
Compiled src/riak_api_app.erl
Compiled src/riak_core_pb_bucket_type.erl
Compiled src/riak_core_pb_bucket.erl
Compiled src/riak_api_pb_sup.erl
Compiled src/riak_api_basic_pb_service.erl
Compiled src/riak_api_pb_registrar.erl
Compiled src/riak_api_wm_urlmap.erl
Compiled src/riak_api_ssl.erl
Compiled src/riak_api_pb_server.erl
==> proper (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/proper'
./write_compile_flags include/compile_flags.hrl
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/proper'
Compiled src/strip_types.erl
Compiled src/vararg.erl
src/proper_types.erl:342: Warning: missing specification for function from_binary/1
src/proper_types.erl:467: Warning: missing specification for function unwrap/1
/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/proper/src/proper_types.erl:342: Warning: missing specification for function from_binary/1
/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/proper/src/proper_types.erl:467: Warning: missing specification for function unwrap/1
Compiled src/proper_types.erl
Compiled src/proper_dict.erl
Compiled src/proper_queue.erl
Compiled src/proper_unicode.erl
Compiled src/proper_arith.erl
Compiled src/proper_unused_imports_remover.erl
Compiled src/proper_prop_remover.erl
Compiled src/proper_sets.erl
Compiled src/proper_ordsets.erl
Compiled src/proper_gen.erl
Compiled src/proper_shrink.erl
Compiled src/proper_gb_sets.erl
Compiled src/proper_orddict.erl
Compiled src/proper_array.erl
Compiled src/proper_gb_trees.erl
Compiled src/proper_symb.erl
Compiled src/proper_transformer.erl
Compiled src/proper_statem.erl
Compiled src/proper_fsm.erl
Compiled src/proper.erl
Compiled src/proper_typeserver.erl
==> stdlib2 (compile)
Compiled src/s2_gen_lattice.erl
Compiled src/s2_util.erl
Compiled src/s2_gen_db.erl
Compiled src/s2_env.erl
Compiled src/s2_export.erl
Compiled src/s2_funs.erl
Compiled src/s2_lists.erl
Compiled src/s2_loop.erl
Compiled src/s2_strats.erl
Compiled src/s2_maps.erl
Compiled src/s2_dot.erl
Compiled src/s2_sh.erl
Compiled src/s2_time.erl
Compiled src/s2_maybe.erl
Compiled src/s2_csets.erl
Compiled src/s2_hex.erl
Compiled src/s2_rand.erl
Compiled src/s2_pn_counters.erl
Compiled src/s2_procs.erl
Compiled src/s2_iolists.erl
Compiled src/s2_fs.erl
Compiled src/s2_vclocks.erl
Compiled src/s2_atoms.erl
Compiled src/s2_par.erl
==> hyper (compile)
Compiled src/hyper_register.erl
Compiled src/hyper_gb.erl
Compiled src/hyper.erl
Compiled src/hyper_array.erl
Compiled src/hyper_binary.erl
Compiled src/hyper_const.erl
Compiled src/hyper_binary_rle.erl
==> chronos (compile)
Compiled src/chronos_command.erl
Compiled src/chronos.erl
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258 (compile)
Compiled src/riak_kv_backend.erl
Compiled src/riak_kv_sweeper.erl
Compiled src/riak_kv_update_hook.erl
Compiled src/riak_kv_test_util.erl
Compiled src/riak_kv_ensemble_backend.erl
Compiled src/raw_link_walker.erl
Compiled src/riak_kv_mrc_sink.erl
Compiled src/riak_kv_w1c_sup.erl
Compiled src/riak_kv_pipe_get.erl
Compiled src/riak_kv_counter.erl
Compiled src/riak_kv_pb_index.erl
Compiled src/riak_object.erl
Compiled src/riak_kv_pb_bucket.erl
Compiled src/riak_kv_sweeper_state.erl
Compiled src/riak_object_json.erl
Compiled src/riak_kv_requests.erl
Compiled src/riak_kv_cinfo.erl
Compiled src/riak_kv_env.erl
Compiled src/riak_kv_exometer_sidejob.erl
Compiled src/riak_kv_pipe_index.erl
Compiled src/riak_kv_exchange_fsm.erl
Compiled src/riak_kv_mapred_json.erl
Compiled src/riak_kv_fold_buffer.erl
Compiled src/riak_kv_hooks.erl
Compiled src/riak_kv_js_sup.erl
Compiled src/riak_kv_wm_preflist.erl
Compiled src/riak_kv_wm_ping.erl
Compiled src/riak_kv_memory_backend.erl
Compiled src/riak_kv_hll.erl
Compiled src/riak_kv_mrc_pipe.erl
Compiled src/riak_kv_bucket.erl
Compiled src/riak_kv_multi_backend.erl
Compiled src/riak_kv_pb_object.erl
Compiled src/riak_kv_mrc_sink_sup.erl
Compiled src/riak_kv_crdt.erl
Compiled src/riak_kv_console.erl
Compiled src/riak_kv_sup.erl
Compiled src/riak_kv_get_core.erl
Compiled src/riak_kv_w1c_worker.erl
Compiled src/riak_kv_vnode_status_mgr.erl
Compiled src/riak_kv_index_fsm_sup.erl
Compiled src/riak_kv_pncounter.erl
Compiled src/riak_kv_stat.erl
Compiled src/riak_kv_js_vm.erl
Compiled src/riak_kv_entropy_info.erl
Compiled src/riak_kv_js_manager.erl
Compiled src/riak_kv_ensemble_console.erl
Compiled src/riak_kv_wm_buckets.erl
Compiled src/riak_core_pb.erl
Compiled src/riak_kv_wm_bucket_type.erl
Compiled src/riak_kv_fsm_timing.erl
Compiled src/riak_client.erl
Compiled src/riak_kv_entropy_manager.erl
Compiled src/riak_kv_buckets_fsm_sup.erl
Compiled src/riak_kv_gcounter.erl
Compiled src/riak_kv_wm_stats.erl
Compiled src/riak_kv_wm_object.erl
Compiled src/riak_kv_worker.erl
Compiled src/riak_kv_mapreduce.erl
Compiled src/riak_kv_wm_mapred.erl
Compiled src/riak_kv_yessir_backend.erl
Compiled src/riak_kv_noop_update_hook.erl
Compiled src/riak_kv_mapred_filters.erl
Compiled src/riak_kv_http_cache.erl
Compiled src/riak_kv_pb_bucket_key_apl.erl
Compiled src/riak_kv_w_reduce.erl
Compiled src/riak_kv_multi_prefix_backend.erl
Compiled src/riak_kv_stat_worker.erl
Compiled src/riak_kv_wm_index.erl
Compiled src/riak_kv_put_core.erl
Compiled src/sms.erl
Compiled src/riak_kv_encoding_migrate.erl
Compiled src/riak_kv_mapred_term.erl
Compiled src/riak_kv_delete.erl
Compiled src/riak_kv_reformat.erl
Compiled src/riak_kv_eleveldb_backend.erl
Compiled src/riak_kv_legacy_vnode.erl
Compiled src/riak_kv_util.erl
Compiled src/riak_kv_pb_csbucket.erl
Compiled src/riak_kv_pb_counter.erl
Compiled src/riak_kv_cli_registry.erl
Compiled src/riak_kv_pb_mapred.erl
Compiled src/riak_kv_wm_crdt.erl
Compiled src/json_pp.erl
Compiled src/riak_kv_wm_counter.erl
Compiled src/riak_kv_pb_crdt.erl
Compiled src/riak_kv_2i_aae.erl
Compiled src/riak_kv_keys_fsm_sup.erl
Compiled src/riak_kv_buckets_fsm.erl
Compiled src/riak_kv_object_ttl.erl
Compiled src/riak_kv_index_fsm.erl
Compiled src/riak_kv_app.erl
Compiled src/riak_kv_bitcask_backend.erl
Compiled src/riak_index.erl
Compiled src/riak_kv_ensembles.erl
Compiled src/riak_kv_wm_props.erl
Compiled src/riak_kv_coverage_filter.erl
Compiled src/riak_kv_wm_link_walker.erl
Compiled src/riak_kv_pipe_listkeys.erl
Compiled src/riak_kv_stat_bc.erl
Compiled src/riak_kv_index_hashtree.erl
Compiled src/riak.erl
Compiled src/riak_kv_sweeper_cli.erl
Compiled src/riak_kv_status.erl
Compiled src/riak_kv_web.erl
Compiled src/riak_kv_backup.erl
Compiled src/riak_kv_keys_fsm.erl
Compiled src/riak_kv_sweeper_fold.erl
Compiled src/riak_kv_get_fsm.erl
Compiled src/riak_kv_put_fsm.erl
Compiled src/riak_kv_mrc_map.erl
Compiled src/riak_kv_crdt_json.erl
Compiled src/riak_kv_wm_utils.erl
Compiled src/riak_kv_delete_sup.erl
Compiled priv/tracers/tracer_func_args.erl
Compiled src/riak_kv_wm_keylist.erl
Compiled priv/tracers/tracer_accumulating_time.erl
Compiled priv/tracers/tracer_gc_latency.erl
Compiled priv/tracers/tracer_large4.erl
Compiled priv/tracers/tracer_backend_latency.erl
Compiled priv/tracers/tracer_fsm_init.erl
Compiled priv/tracers/tracer_eleveldb_put_size.erl
Compiled src/riak_kv_vnode.erl
Compiled priv/tracers/tracer_timeit.erl
Compiled priv/tracers/tracer_latency_histogram.erl
Compiled priv/tracers/tracer_read_bin_trace_file.erl
Compiled priv/tracers/tracer_merge_and_and_handoff.erl





⛔ MAKE_TEST

Started at: 2017-03-21 05:36
Duration: 1090 seconds.
Result: ERROR
Message: Step make_test Failed!
Exit Code: 2

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258; make test




  
  
... Snipped 802 lines ...
0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)....................................................................................................(x1000)....(x100).(x10).
Time limit reached: 10.0 seconds.

OK, passed 15210 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100).............................(x10)..(x1)......
Time limit reached: 5.0 seconds.

OK, passed 4026 tests
�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)..............(x10).......(x1).........
Time limit reached: 5.0 seconds.

OK, passed 2579 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)..........................................................................................
OK, passed 1000 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)....................................(x10)..(x1).......
Time limit reached: 60.0 seconds.

OK, passed 4727 tests

sibling_count
26.23% 0
15.32% 1
12.97% 2
11.25% 3
9.01% 4
6.94% 5
5.23% 6
3.68% 7
2.60% 8
1.88% 9
1.12% 10
1.02% 11
0.83% 12
0.55% 13
0.40% 14
0.30% 15
0.17% 17
0.15% 16
0.11% 24
0.06% 19
0.06% 18
0.04% 20
0.02% 30
0.02% 28
0.02% 27
0.02% 22

17.865% {riak_object_dvv_statem,get_put,7}
17.740% {riak_object_dvv_statem,put,4}
17.463% {riak_object_dvv_statem,replicate,4}
17.435% {riak_object_dvv_statem,get,4}
13.152% {riak_object_dvv_statem,update,5}
10.089% {riak_object_dvv_statem,make_ring,2}
6.256% {riak_object_dvv_statem,set_nr,1}
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0mtest/riak_kv_schema_tests.erl:432:<0.2161.0>: Supporting riak_core components not present, skipping job_class_enabled test
�[0;32m.�[0m
Pending:
�[0;33m  module 'put_fsm_eqc'
�[0m�[0;36m    %% Related process exited with reason: {function_clause,
                                     [{riak_kv_vnode,put_merge,
                                       [true,false,
                                        {r_object,<<"0">>,<<"'">>,
                                         [{r_content,
                                           {dict,1,16,16,8,80,48,
                                            {[],[],[],[],[],[],[],[],[],[],[],
                                             [],[],[],[],[]},
                                            {{[],[],[],[],[],[],[],[],[],[],
                                              [],[],[],
                                              [[<<"X-Riak-Last-Modified">>|
                                                {1490,100668,848004}]],
                                              [],[]}}},
                                           <<"brother">>}],
                                         [{<<"bro!">>,{1,63657319868}},
                                          {<<"dad">>,{1,63657319868}}],
                                         {dict,1,16,16,8,80,48,
                                          {[],[],[],[],[],[],[],[],[],[],[],
                                           [],[],[],[],[]},
                                          {{[],[],[],[],[],[],[],[],[],[],[],
                                            [],[],[],
                                            [[clean|true]],
                                            []}}},
                                         undefined},
                                        {r_object,<<"0">>,<<"'">>,
                                         [{r_content,
                                           {dict,4,16,16,8,80,48,
                                            {[],[],[],[],[],[],[],[],[],[],[],
                                             [],[],[],[],[]},
                                            {{[],[],[],[],[],[],[],[],[],[],
                                              [[<<"X-Riak-VTag">>,53,73,57,
                                                105,109,67,101,74,104,84,73,
                                                54,49,103,89,85,120,117,74,73,
                                                88,71]],
                                              [[<<"index">>]],
                                              [[<<"X-Riak-Deleted">>|true]],
                                              [[<<"X-Riak-Last-Modified">>|
                                                {1490,100668,848812}]],
                                              [],[]}}},
                                           <<"ancestor">>}],
                                         [{<<"dad">>,{1,63657319868}}],
                                         {dict,1,16,16,8,80,48,
                                          {[],[],[],[],[],[],[],[],[],[],[],
                                           [],[],[],[],[]},
                                          {{[],[],[],[],[],[],[],[],[],[],[],
                                            [],[],[],
                                            [[clean|true]],
                                            []}}},
                                         undefined},
                                        <<1,1,1,1,1,1,1,1>>,
                                        63657319868],
                                       [{file,"src/riak_kv_vnode.erl"},
                                        {line,1690}]},
                                      {fsm_eqc_vnode,put_merge,3,
                                       [{file,"test/fsm_eqc_vnode.erl"},
                                        {line,287}]},
                                      {fsm_eqc_vnode,send_vput_extra,4,
                                       [{file,"test/fsm_eqc_vnode.erl"},
                                        {line,228}]},
                                      {fsm_eqc_vnode,active_handle_request,5,
                                       [{file,"test/fsm_eqc_vnode.erl"},
                                        {line,132}]},
                                      {gen_fsm,handle_msg,7,
                                       [{file,"gen_fsm.erl"},{line,505}]},
                                      {proc_lib,init_p_do_apply,3,
                                       [{file,"proc_lib.erl"},{line,239}]}]}
�[0m


Top 10 slowest tests (852.705 seconds, 80.7% of total time):
  riak_kv_bitcask_backend:eqc_test_/0:965
�[0;31m    120.088 seconds�[0m
  riak_kv_eleveldb_backend:eqc_test_/0:893
�[0;31m    120.064 seconds�[0m
  riak_kv_multi_backend:eqc_test_/0:623
�[0;31m    120.023 seconds�[0m
  riak_kv_memory_backend:eqc_test_/0:850
�[0;31m    120.015 seconds�[0m
  riak_kv_multi_backend:eqc_test_/0:625
�[0;31m    120.011 seconds�[0m
  riak_object_dvv_statem:eqc_test_/0:72
�[0;31m    60.201 seconds�[0m
  get_fsm_eqc:eqc_test_/0:50
�[0;31m    60.002 seconds�[0m
  riak_kv_hll:eqc_value_test_/0:313
�[0;31m    59.699 seconds�[0m
  kv679_eqc:eqc_test_/0:71
�[0;31m    50.006 seconds�[0m
  ec_eqc:eqc_test_/0:30
�[0;31m    22.596 seconds�[0m

Finished in 1056.541 seconds
�[0;33m334 tests, 0 failures, 3 cancelled
�[0mERROR: One or more eunit tests failed.
ERROR: eunit failed while processing /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258: rebar_abort
make: *** [eunit] Error 1





✅ MAKE_XREF

Started at: 2017-03-21 05:55
Duration: 11 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258; make xref




  ./rebar get-deps
==> sidejob (get-deps)
==> erlang_js (get-deps)
==> meck (get-deps)
==> getopt (get-deps)
==> goldrush (get-deps)
==> lager (get-deps)
WARN:  Missing plugins: [rebar3_hex]
==> neotoma (get-deps)
==> cuttlefish (get-deps)
==> bitcask (get-deps)
==> eper (get-deps)
==> edown (get-deps)
==> sext (get-deps)
==> poolboy (get-deps)
==> basho_stats (get-deps)
==> riak_sysmon (get-deps)
==> eleveldb (get-deps)
==> riak_ensemble (get-deps)
==> pbkdf2 (get-deps)
==> parse_trans (get-deps)
==> bear (get-deps)
==> folsom (get-deps)
==> setup (get-deps)
==> src (get-deps)
==> exometer_core (get-deps)
==> clique (get-deps)
==> riak_core (get-deps)
==> riak_pipe (get-deps)
==> riak_dt (get-deps)
==> eunit_formatters (get-deps)
==> hamcrest (get-deps)
==> riak_pb (get-deps)
==> mochiweb (get-deps)
==> webmachine (get-deps)
==> riak_api (get-deps)
==> proper (get-deps)
==> stdlib2 (get-deps)
==> hyper (get-deps)
==> chronos (get-deps)
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258 (get-deps)
./rebar compile
==> sidejob (compile)
==> erlang_js (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/erlang_js'
cd c_src; make
make[2]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/erlang_js/c_src'
make[2]: Nothing to be done for `js'.
make[2]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/erlang_js/c_src'
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/erlang_js'
==> meck (compile)
==> getopt (compile)
==> goldrush (compile)
==> lager (compile)
WARN:  Missing plugins: [rebar3_hex]
==> neotoma (compile)
==> cuttlefish (compile)
==> getopt (escriptize)
==> goldrush (escriptize)
==> lager (escriptize)
==> neotoma (escriptize)
==> cuttlefish (escriptize)
==> bitcask (compile)
==> eper (compile)
==> edown (compile)
==> sext (compile)
==> poolboy (compile)
==> basho_stats (compile)
==> riak_sysmon (compile)
==> eleveldb (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/eleveldb/c_src/leveldb'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/eleveldb/c_src/leveldb'
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/eleveldb/c_src/leveldb'
make[1]: Nothing to be done for `tools'.
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/eleveldb/c_src/leveldb'
==> riak_ensemble (compile)
==> pbkdf2 (compile)
==> parse_trans (compile)
==> bear (compile)
==> folsom (compile)
==> setup (compile)
==> edown (escriptize)
==> setup (escriptize)
==> src (compile)
==> exometer_core (compile)
==> clique (compile)
==> riak_core (compile)
==> riak_pipe (compile)
==> riak_dt (compile)
==> eunit_formatters (compile)
==> hamcrest (compile)
==> hamcrest (post_compile)
==> riak_pb (compile)
==> mochiweb (compile)
==> webmachine (compile)
==> riak_api (compile)
==> proper (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/proper'
make[1]: `include/compile_flags.hrl' is up to date.
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/proper'
==> stdlib2 (compile)
==> hyper (compile)
==> chronos (compile)
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258 (compile)
./rebar xref skip_deps=true
WARN:  Missing plugins: [rebar3_hex]
WARN:  Ignoring sub_dirs for /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258/deps/exometer_core
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258 (xref)





⛔ MAKE_DIALYZER

Started at: 2017-03-21 05:55
Duration: 88 seconds.
Result: ERROR
Message: Step make_dialyzer Failed!
Exit Code: 2

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258; make dialyzer




  
  
... Snipped 772 lines ...
t/3
  lists:sum/1
  lists:ukeymerge/3
  lists:ukeysort/2
  lists:umerge/2
  maps:to_list/1
  math:cos/1
  math:exp/1
  math:log/1
  math:log10/1
  math:pi/0
  math:pow/2
  math:sqrt/1
  memsup:get_system_memory_data/0
  mustache:render/2
  net_adm:names/1
  net_adm:ping/1
  net_kernel:get_net_ticktime/0
  net_kernel:hidden_connect_node/1
  net_kernel:monitor_nodes/1
  net_kernel:monitor_nodes/2
  net_kernel:set_net_ticktime/1
  net_kernel:start/1
  orddict:append/3
  orddict:append_list/3
  orddict:erase/2
  orddict:fetch/2
  orddict:fetch_keys/1
  orddict:filter/2
  orddict:find/2
  orddict:fold/3
  orddict:from_list/1
  orddict:is_key/2
  orddict:map/2
  orddict:merge/3
  orddict:new/0
  orddict:size/1
  orddict:store/3
  orddict:to_list/1
  orddict:update/3
  orddict:update/4
  orddict:update_counter/3
  ordsets:add_element/2
  ordsets:del_element/2
  ordsets:filter/2
  ordsets:fold/3
  ordsets:from_list/1
  ordsets:intersection/1
  ordsets:intersection/2
  ordsets:is_disjoint/2
  ordsets:is_element/2
  ordsets:is_set/1
  ordsets:is_subset/2
  ordsets:new/0
  ordsets:size/1
  ordsets:subtract/2
  ordsets:to_list/1
  ordsets:union/1
  ordsets:union/2
  os:cmd/1
  os:getenv/1
  os:getpid/0
  os:timestamp/0
  os:type/0
  packages:last/1
  packages:strip_last/1
  prim_file:list_dir/2
  prim_file:read_file_info/1
  prim_file:write_file_info/2
  prim_inet:async_accept/2
  prim_inet:getstatus/1
  prim_inet:gettype/1
  proc_lib:hibernate/3
  proc_lib:init_ack/2
  proc_lib:spawn/1
  proc_lib:spawn_link/1
  proc_lib:spawn_link/3
  proc_lib:start_link/3
  proc_lib:translate_initial_call/1
  proplists:delete/2
  proplists:get_all_values/2
  proplists:get_bool/2
  proplists:get_keys/1
  proplists:get_value/2
  proplists:get_value/3
  proplists:is_defined/2
  proplists:lookup/2
  proplists:substitute_aliases/2
  proplists:unfold/1
  pubkey_cert:extensions_list/1
  pubkey_cert:select_extension/2
  pubkey_cert_records:transform/2
  public_key:pem_decode/1
  public_key:pem_entry_decode/1
  public_key:pkix_crls_validate/3
  public_key:pkix_decode_cert/2
  public_key:pkix_encode/3
  public_key:pkix_is_self_signed/1
  public_key:pkix_normalize_name/1
  queue:cons/2
  queue:daeh/1
  queue:drop/1
  queue:drop_r/1
  queue:filter/2
  queue:from_list/1
  queue:get/1
  queue:get_r/1
  queue:head/1
  queue:in/2
  queue:in_r/2
  queue:init/1
  queue:is_empty/1
  queue:is_queue/1
  queue:join/2
  queue:last/1
  queue:len/1
  queue:liat/1
  queue:member/2
  queue:new/0
  queue:out/1
  queue:out_r/1
  queue:peek/1
  queue:peek_r/1
  queue:reverse/1
  queue:snoc/2
  queue:split/2
  queue:tail/1
  queue:to_list/1
  random:seed/0
  random:seed/1
  random:seed/3
  random:seed0/0
  random:uniform/0
  random:uniform/1
  random:uniform_s/2
  re:compile/1
  re:compile/2
  re:replace/4
  re:run/2
  re:run/3
  re:split/2
  re:split/3
  rebar_config:get_local/3
  rebar_mustache:render/2
  rebar_rel_utils:get_target_dir/2
  rebar_rel_utils:is_rel_dir/0
  rebar_rel_utils:load_config/2
  release_handler:eval_appup_script/4
  rpc:call/4
  rpc:call/5
  rpc:eval_everywhere/3
  rpc:multicall/3
  rpc:multicall/4
  rpc:multicall/5
  sets:add_element/2
  sets:del_element/2
  sets:filter/2
  sets:fold/3
  sets:from_list/1
  sets:intersection/1
  sets:intersection/2
  sets:is_disjoint/2
  sets:is_element/2
  sets:is_set/1
  sets:is_subset/2
  sets:new/0
  sets:size/1
  sets:subtract/2
  sets:to_list/1
  sets:union/1
  sets:union/2
  ssl:close/1
  ssl:connect/2
  ssl:connect/4
  ssl:listen/2
  ssl:peercert/1
  ssl:peername/1
  ssl:recv/3
  ssl:send/2
  ssl:setopts/2
  ssl:sockname/1
  ssl:ssl_accept/1
  ssl:ssl_accept/2
  ssl:ssl_accept/3
  ssl:transport_accept/1
  ssl_cipher:openssl_suite/1
  ssl_cipher:openssl_suite_name/1
  string:centre/2
  string:centre/3
  string:chr/2
  string:cspan/2
  string:equal/2
  string:join/2
  string:left/2
  string:left/3
  string:len/1
  string:rchr/2
  string:right/2
  string:right/3
  string:str/2
  string:strip/1
  string:strip/2
  string:strip/3
  string:sub_string/2
  string:sub_string/3
  string:substr/2
  string:substr/3
  string:to_float/1
  string:to_integer/1
  string:to_lower/1
  string:tokens/2
  supervisor:count_children/1
  supervisor:delete_child/2
  supervisor:start_child/2
  supervisor:start_link/2
  supervisor:start_link/3
  supervisor:terminate_child/2
  supervisor:which_children/1
  sys:debug_options/1
  sys:get_debug/3
  sys:handle_debug/4
  sys:handle_system_msg/6
  sys:print_log/1
  systools:make_script/2
  timer:apply_after/4
  timer:apply_interval/4
  timer:cancel/1
  timer:minutes/1
  timer:now_diff/2
  timer:seconds/1
  timer:send_after/2
  timer:send_interval/2
  timer:sleep/1
  timer:tc/1
  timer:tc/2
  timer:tc/3
  unicode:characters_to_binary/1
  unicode:characters_to_binary/3
  unicode:characters_to_list/1
  unicode:characters_to_list/2
  xmerl:export_simple/3
  xmerl:export_simple_content/2
  xmerl_html:'#element#'/5
  xmerl_lib:end_tag/1
  xmerl_lib:expand_element/1
  xmerl_lib:find_attribute/2
  xmerl_lib:mapxml/2
  xmerl_lib:start_tag/2
  xmerl_ucs:from_utf16be/1
  xmerl_ucs:from_utf8/1
  xmerl_ucs:to_utf8/1
  zlib:gunzip/1
  zlib:gzip/1
Unknown types:
  calendar:datetime/0
  compile:option/0
  erl_parse:abstract_clause/0
  erl_parse:abstract_expr/0
  erl_parse:abstract_form/0
  erl_scan:line/0
  erl_syntax:syntaxTree/0
  erlang:timestamp/0
  ets:comp_match_spec/0
  ets:match_spec/0
  ets:tab/0
  ets:tid/0
  file:date_time/0
  file:fd/0
  file:filename/0
  file:io_device/0
  file:name/0
  file:name_all/0
  file:posix/0
  gen_tcp:listen_option/0
  gen_tcp:option/0
  inet:hostname/0
  inet:ip4_address/0
  inet:ip6_address/0
  inet:ip_address/0
  inet:socket/0
  io:device/0
  io:format/0
  meck_history:history_record/0
  orddict:orddict/0
  ordsets:ordset/1
  proplists:property/0
  proplists:proplist/0
  re:mp/0
  ssl:ssl_option/0
  ssl:sslsocket/0
  supervisor:child_spec/0
  supervisor:strategy/0
  timer:tref/0
  unicode:charlist/0
 done in 0m45.04s
done (passed successfully)
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.6417258 (dialyzer)
riak_kv_vnode.erl:1556: The call riak_kv_vnode:maybe_new_key_epoch(Coord::'true',State::#state{idx::'undefined' | integer(),mod::atom() | tuple(),async_put::'false' | 'true' | 'undefined',vnodeid::'undefined' | binary(),delete_mode::'immediate' | 'keep' | 'undefined' | pos_integer(),bucket_buf_size::'undefined' | pos_integer(),index_buf_size::'undefined' | pos_integer(),key_buf_size::'undefined' | pos_integer(),async_folding::'false' | 'true' | 'undefined',in_handoff::boolean(),handoff_target::atom(),handoffs_rejected::integer(),forward::atom() | [{_,_}],hashtrees::'undefined' | pid(),upgrade_hashtree::boolean(),md_cache::atom() | tid(),md_cache_size::'undefined' | pos_integer(),counter::'undefined' | #counter_state{use::boolean(),cnt::non_neg_integer(),lease::non_neg_integer(),lease_size::non_neg_integer(),leasing::boolean()},status_mgr_pid::'undefined' | pid(),update_hook::atom() | tuple()},'undefined',RObj::any()) does not have an opaque term of type riak_object:riak_object() as 3rd argument
riak_kv_vnode.erl:2604: Invalid type specification for function riak_kv_vnode:maybe_new_actor_epoch/2. The success typing is (_,#state{idx::'undefined' | integer(),mod::atom() | tuple(),async_put::'false' | 'true' | 'undefined',vnodeid::'undefined' | binary(),delete_mode::'immediate' | 'keep' | 'undefined' | pos_integer(),bucket_buf_size::'undefined' | pos_integer(),index_buf_size::'undefined' | pos_integer(),key_buf_size::'undefined' | pos_integer(),async_folding::'false' | 'true' | 'undefined',in_handoff::boolean(),handoff_target::atom(),handoffs_rejected::integer(),forward::atom() | [{integer(),atom()}],hashtrees::'undefined' | pid(),upgrade_hashtree::boolean(),md_cache::atom() | tid(),md_cache_size::'undefined' | pos_integer(),counter::'undefined' | #counter_state{use::boolean(),cnt::non_neg_integer(),lease::non_neg_integer(),lease_size::non_neg_integer(),leasing::boolean()},status_mgr_pid::'undefined' | pid(),update_hook::atom() | tuple()}) -> {'undefined' | binary(),#state{idx::'undefined' | integer(),mod::atom() | tuple(),async_put::'false' | 'true' | 'undefined',vnodeid::'undefined' | binary(),delete_mode::'immediate' | 'keep' | 'undefined' | pos_integer(),bucket_buf_size::'undefined' | pos_integer(),index_buf_size::'undefined' | pos_integer(),key_buf_size::'undefined' | pos_integer(),async_folding::'false' | 'true' | 'undefined',in_handoff::boolean(),handoff_target::atom(),handoffs_rejected::integer(),forward::atom() | [{_,_}],hashtrees::'undefined' | pid(),upgrade_hashtree::boolean(),md_cache::atom() | tid(),md_cache_size::'undefined' | pos_integer(),counter::'undefined' | #counter_state{use::boolean(),cnt::non_neg_integer(),lease::non_neg_integer(),lease_size::non_neg_integer(),leasing::boolean()},status_mgr_pid::'undefined' | pid(),update_hook::atom() | tuple()},_}
riak_kv_vnode.erl:2695: Matching of pattern State = {'state', _, _, _, _, _, VId, _, _, _, _, _, _, _, _, _, _, _, _, _, {'counter_state', 'false', _, _, _, _}, _, _} tagged with a record name violates the declared type of #state{idx::'undefined' | integer(),mod::atom() | tuple(),async_put::'false' | 'true' | 'undefined',vnodeid::'undefined' | binary(),delete_mode::'immediate' | 'keep' | 'undefined' | pos_integer(),bucket_buf_size::'undefined' | pos_integer(),index_buf_size::'undefined' | pos_integer(),key_buf_size::'undefined' | pos_integer(),async_folding::'false' | 'true' | 'undefined',in_handoff::boolean(),handoff_target::atom(),handoffs_rejected::integer(),forward::atom() | [{integer(),atom()}],hashtrees::'undefined' | pid(),upgrade_hashtree::boolean(),md_cache::atom() | tid(),md_cache_size::'undefined' | pos_integer(),counter::'undefined' | #counter_state{use::'true',cnt::non_neg_integer(),lease::non_neg_integer(),lease_size::non_neg_integer(),leasing::boolean()},status_mgr_pid::'undefined' | pid(),update_hook::atom() | tuple()}
  riak_object:object/0
make: *** [dialyzer-run] Error 1





⬜ 0 of 2 Code reviews from organization basho

@JeetKunDoug
Copy link
Contributor

@russelldb if you can start by addressing the dialyzer warnings while Nick and I are reviewing I'd appreciate it. On first pass, makes sense to me and generally looks good, but I want to think a bit more about it. There are a few stylistic things we're trying to avoid in here, but nothing we can't clean up post-merge.

@russelldb
Copy link
Contributor Author

Happy to address the stylistic concerns if you air them.

Did I introduce new dialyzer warnings?

@russelldb
Copy link
Contributor Author

Ah, I see it, thumbs is pretty useful/helpful.

@JeetKunDoug
Copy link
Contributor

Yea - we ❤️ Thumbs these days... only real issues are where we may have set some of the settings in a way that we later figured out we didn't like...

I was just running dialyzer on develop to make sure there isn't anything outstanding there before replying to you but looking at the errors I'm fairly certain they are from this commit (and can now confirm that is true).

{oldobj, CurObj};
false ->
{newobj, ResObj}
if NewEpoch ->
Copy link
Contributor

Choose a reason for hiding this comment

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

please replace this with a case NewEpoch - trying to kill if statements with 🔥 these days, and would like to get rid of the ?ELSE macro as well (but understand that the other usage isn't currently part of this PR, so it's OK to leave it for now).

[]
end,
{EpochId, State2} = new_key_epoch(State),
{EpochId, State2} = maybe_new_key_epoch(Coord, State, undefined, RObj),
Copy link
Contributor

Choose a reason for hiding this comment

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

Instead of using undefined here, could we use a more distinctive atom like no_object or something along those lines? Would make the code a bit clearer, and also help guard against any future bugs where an unrelated use of undefined might leak into this code. Admittedly this is somewhat of a personal style preference though, so I won't argue if you'd strongly prefer leave it as-is. Looking through the code, we'd have to update maybe_new_key_epoch and also highest_actor, but I think it should be a safe and easy change.

(Commenting on the first commit where this appears, but it does look like this code later got moved into maybe_update_vclock.)

-spec maybe_new_key_epoch(Coord::boolean(), State::#state{},
LocalObject::riak_object:riak_object(),
IncomingObject::riak_object:riak_object()) ->
{ActorId:: binary(), #state{}}.
Copy link
Contributor

Choose a reason for hiding this comment

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

Thanks for adding the variable names to the type specs - definitely improves readability in many places.

In the case of ActorId I see we specify ActorId :: binary() in a couple places. Maybe worth defining a local actor_id() type in this module to avoid redundancy?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah, I found an existing type vnodeid() but I'm not sure if it muddies the water since in some places that means the one generated by the vnode_status_mgr, and some cases it means the actor_id generated by smushing together the vnodeid and epoch. Maybe we need both, using the bitstring <<_:Length>> type spec?

%% `ActorBase' that has acted on this key. `KeyEpoch' is the highest
%% epoch for the `ActorBase'. `Counter' is the greatest event seen by
%% the `VnodeId'.
-spec highest_actor(binary(), riak_object:riak_object()) ->
Copy link
Contributor

Choose a reason for hiding this comment

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

Since we are now allowed to pass undefined into this function, we should add it to the type spec.

@russelldb russelldb closed this Mar 29, 2017
@russelldb russelldb deleted the rdb-bet365/gh679-dl-replicate branch March 29, 2017 14:01
@nickelization
Copy link
Contributor

@russelldb what happened? I was about to continue my review, and was excited to get this stuff merged.

@russelldb russelldb restored the rdb-bet365/gh679-dl-replicate branch March 29, 2017 14:27
@russelldb
Copy link
Contributor Author

I have no idea, I didn't do anything!

@russelldb russelldb reopened this Mar 29, 2017
There is one still outstanding, but it is baffling, and, I suspect
predates these changes.
@russelldb
Copy link
Contributor Author

Many thanks for the review. I'm working on it. One dialyzer warning remains, I have had to post to the erlang ML for help.

@russelldb
Copy link
Contributor Author

Re-running the eqc I've found some new counter examples. Hold off on this until I figure them out, please.

The generator for put has to ensure that W=2 and that the preflist is
distinct nodes.

Also, for some reason the epoch update on non-coordinating writes was
commented out, so I re-instated that, as it should be there.
@nickelization
Copy link
Contributor

@russelldb Was chatting with @JeetKunDoug and he mentioned a test failure during the Giddyup run for partition_repair. I checked it out locally, and looks like it fails consistently (and passes on develop). Haven't done any real investigation into the failure, and I'm about to sign off for the day, but I'll try and take a look tomorrow morning if you don't get a chance to check it out yourself before then.

@russelldb
Copy link
Contributor Author

@nickelization looking at it. So far a bit baffled. All the norfound objects are from the same partition, partition 0. Hopefully I'll have a better idea by the time you're online

@nickelization
Copy link
Contributor

@russelldb been a busy day and I haven't had much chance to look into this any further yet (I probably should've mentioned earlier, but today is my last day working for Basho, so I've had some loose ends to tie up). The one potential lead I have for you via Doug is that he noticed those new "amnesia" log messages showing up during repairs. I guess that might not be unexpected, due to the nature of the test...but again, I haven't had a chance to look into it any further yet, and might not get to it before my time here is up :(

With thanks to Dough Rohrer. `new_key_epoch/1` is only ever called if
`#counter_state.use == true`.

Also address stylistic complaints about use of `if ?ELSE`
@thumbot
Copy link

thumbot commented Apr 3, 2017

rdb-bet365/gh679-dl-replicate ee5878b ➡️ develop 3673dce ⛔ completed
There seems to be an issue with build step **make_test,make_dialyzer** ! ☁️
✅ MERGE

Started at: 2017-04-03 01:19
Duration: 0 seconds.
Result: OK
Message: Merge Success: rdb-bet365/gh679-dl-replicate ee5878b onto target branch: develop 3673dce
Exit Code: OK

📄







  Auto-merging src/riak_kv_vnode.erl
Merge made by the 'recursive' strategy.
 src/riak_kv_vnode.erl  | 246 +++++++++++++++----------
 src/riak_object.erl    |  24 ++-
 test/kv679_eqc.erl     | 484 +++++++++++++++++++++++++++++++++++++++++++++++++
 test/kv679_fb_byz.eqc  | Bin 0 -> 637 bytes
 test/kv679_fb_byz2.eqc | Bin 0 -> 669 bytes
 test/kv679_fb_byz3.eqc | Bin 0 -> 879 bytes
 6 files changed, 655 insertions(+), 99 deletions(-)
 create mode 100644 test/kv679_eqc.erl
 create mode 100644 test/kv679_fb_byz.eqc
 create mode 100644 test/kv679_fb_byz2.eqc
 create mode 100644 test/kv679_fb_byz3.eqc




✅ MAKE_CLEAN

Started at: 2017-04-03 01:19
Duration: 0 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b; make clean




  ./rebar clean
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b (clean)
rm -rf test.*-temp-data





✅ MAKE_DEPS

Started at: 2017-04-03 01:19
Duration: 26 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b; make deps




  ./rebar get-deps
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b (get-deps)
Pulling sidejob from {git,"https://github.com/basho/sidejob.git",
                          {tag,"2.0.1"}}
Cloning into 'sidejob'...
Pulling erlang_js from {git,"https://github.com/basho/erlang_js.git",
                            {tag,"1.3.0"}}
Cloning into 'erlang_js'...
Pulling bitcask from {git,"https://github.com/basho/bitcask.git",
                          {tag,"2.0.8"}}
Cloning into 'bitcask'...
Pulling eper from {git,"https://github.com/basho/eper.git",{tag,"0.78"}}
Cloning into 'eper'...
Pulling sext from {git,"https://github.com/basho/sext.git",{tag,"1.1p3"}}
Cloning into 'sext'...
Pulling riak_pipe from {git,"https://github.com/basho/riak_pipe.git",
                            {tag,"2.1.6"}}
Cloning into 'riak_pipe'...
Pulling riak_dt from {git,"https://github.com/basho/riak_dt.git",
                          {tag,"2.1.4"}}
Cloning into 'riak_dt'...
Pulling eunit_formatters from {git,"https://github.com/basho/eunit_formatters",
                                   {tag,"0.1.2"}}
Cloning into 'eunit_formatters'...
Pulling riak_api from {git,"https://github.com/basho/riak_api.git",
                           {tag,"2.1.7"}}
Cloning into 'riak_api'...
Pulling hyper from {git,"https://github.com/basho/hyper",{tag,"1.0.0"}}
Cloning into 'hyper'...
Pulling clique from {git,"https://github.com/basho/clique.git",{tag,"0.3.9"}}
Cloning into 'clique'...
Pulling chronos from {git,"https://github.com/basho/chronos.git",
                          {tag,"0.5.1"}}
Cloning into 'chronos'...
==> sidejob (get-deps)
==> erlang_js (get-deps)
==> bitcask (get-deps)
Pulling meck from {git,"https://github.com/basho/meck.git",{tag,"0.8.2"}}
Cloning into 'meck'...
Pulling cuttlefish from {git,"https://github.com/basho/cuttlefish.git",
                             {tag,"2.0.11"}}
Cloning into 'cuttlefish'...
==> meck (get-deps)
==> cuttlefish (get-deps)
Pulling getopt from {git,"https://github.com/basho/getopt.git",{tag,"v0.8.2"}}
Cloning into 'getopt'...
Pulling lager from {git,"https://github.com/basho/lager.git",{tag,"3.2.4"}}
Cloning into 'lager'...
Pulling neotoma from {git,"https://github.com/basho/neotoma.git",
                          {tag,"1.7.4"}}
Cloning into 'neotoma'...
==> getopt (get-deps)
==> lager (get-deps)
Pulling goldrush from {git,"https://github.com/basho/goldrush.git",
                           {tag,"0.1.9"}}
Cloning into 'goldrush'...
==> goldrush (get-deps)
WARN:  Missing plugins: [rebar3_hex]
==> neotoma (get-deps)
==> eper (get-deps)
==> sext (get-deps)
Pulling edown from {git,"git://github.com/uwiger/edown.git",{tag,"0.5"}}
Cloning into 'edown'...
==> edown (get-deps)
==> riak_pipe (get-deps)
Pulling riak_core from {git,"https://github.com/basho/riak_core.git",
                            {tag,"2.1.10"}}
Cloning into 'riak_core'...
==> clique (get-deps)
==> riak_core (get-deps)
Pulling poolboy from {git,"git://github.com/basho/poolboy.git",
                          {tag,"0.8.1p3"}}
Cloning into 'poolboy'...
Pulling basho_stats from {git,"git://github.com/basho/basho_stats.git",
                              {tag,"1.0.3"}}
Cloning into 'basho_stats'...
Pulling riak_sysmon from {git,"https://github.com/basho/riak_sysmon.git",
                              {tag,"2.1.5"}}
Cloning into 'riak_sysmon'...
Pulling eleveldb from {git,"git://github.com/basho/eleveldb.git",
                           {tag,"2.0.34"}}
Cloning into 'eleveldb'...
Pulling riak_ensemble from {git,"https://github.com/basho/riak_ensemble",
                                {tag,"2.1.8"}}
Cloning into 'riak_ensemble'...
Pulling pbkdf2 from {git,"git://github.com/basho/erlang-pbkdf2.git",
                         {tag,"2.0.0"}}
Cloning into 'pbkdf2'...
Pulling exometer_core from {git,"git://github.com/basho/exometer_core.git",
                                {tag,"1.0.0-basho9"}}
Cloning into 'exometer_core'...
==> poolboy (get-deps)
==> basho_stats (get-deps)
==> riak_sysmon (get-deps)
==> eleveldb (get-deps)
Cloning into 'leveldb'...
Note: checking out '2.0.34'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at d6507aa... merge mv-hot-backup2 bug fix to 2.0
==> riak_ensemble (get-deps)
==> pbkdf2 (get-deps)
==> src (get-deps)
==> exometer_core (get-deps)
Pulling parse_trans from {git,"git://github.com/basho/parse_trans.git",
                              {tag,"2.9.2p1"}}
Cloning into 'parse_trans'...
Pulling folsom from {git,"git://github.com/basho/folsom.git",{tag,"0.7.4p5"}}
Cloning into 'folsom'...
Pulling setup from {git,"git://github.com/basho/setup.git",{tag,"1.4"}}
Cloning into 'setup'...
==> parse_trans (get-deps)
==> folsom (get-deps)
Pulling bear from {git,"git://github.com/basho/bear.git",{tag,"0.1.3p1"}}
Cloning into 'bear'...
==> bear (get-deps)
==> setup (get-deps)
==> riak_dt (get-deps)
==> eunit_formatters (get-deps)
==> riak_api (get-deps)
Pulling riak_pb from {git,"https://github.com/basho/riak_pb.git",
                          {tag,"2.3.0.0"}}
Cloning into 'riak_pb'...
Pulling webmachine from {git,"https://github.com/basho/webmachine.git",
                             {tag,"1.10.8-basho1"}}
Cloning into 'webmachine'...
==> riak_pb (get-deps)
Pulling hamcrest from {git,"https://github.com/basho/hamcrest-erlang.git",
                           {tag,"0.3.0-basho"}}
Cloning into 'hamcrest'...
==> hamcrest (get-deps)
==> webmachine (get-deps)
Pulling mochiweb from {git,"git://github.com/basho/mochiweb.git",
                           {tag,"v2.9.0p2"}}
Cloning into 'mochiweb'...
==> mochiweb (get-deps)
==> hyper (get-deps)
Pulling proper from {git,"https://github.com/basho/proper.git",{tag,"v1.2p1"}}
Cloning into 'proper'...
Pulling stdlib2 from {git,"https://github.com/basho/stdlib2.git",
                          {tag,"0.0.1"}}
Cloning into 'stdlib2'...
==> proper (get-deps)
==> stdlib2 (get-deps)
==> chronos (get-deps)





✅ MAKE_COMPILE

Started at: 2017-04-03 01:19
Duration: 75 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b; make compile




  
  
... Snipped 1794 lines ...
src/riak_pb_messages.erl
Compiled src/riak_pb_dt_codec.erl
Compiled src/riak_pb.erl
Compiled src/riak_dt_pb.erl
Compiled src/riak_ttb_codec.erl
Compiled src/riak_yokozuna_pb.erl
Compiled src/riak_pb_ts_codec.erl
Compiled src/riak_ts_pb.erl
Compiled src/riak_search_pb.erl
Compiled src/riak_kv_pb.erl
==> mochiweb (compile)
Compiled src/mochihex.erl
Compiled src/mochiweb_response.erl
Compiled src/mochiglobal.erl
Compiled src/mochiweb_sup.erl
Compiled src/mochiweb_base64url.erl
Compiled src/mochifmt_records.erl
Compiled src/mochinum.erl
Compiled src/mochiweb_mime.erl
Compiled src/mochiweb_headers.erl
Compiled src/mochiweb_util.erl
Compiled src/mochiweb_echo.erl
Compiled src/mochiutf8.erl
Compiled src/mochiweb_skel.erl
Compiled src/mochiweb_multipart.erl
Compiled src/mochilists.erl
Compiled src/mochiweb_app.erl
Compiled src/mochiweb_session.erl
Compiled src/mochiweb_request.erl
Compiled src/mochiweb_http.erl
Compiled src/mochilogfile2.erl
Compiled src/mochijson2.erl
Compiled src/mochitemp.erl
Compiled src/mochiweb_acceptor.erl
Compiled src/mochiweb.erl
Compiled src/mochiweb_cookies.erl
Compiled src/mochiweb_cover.erl
Compiled src/mochiweb_socket.erl
Compiled src/mochifmt_std.erl
Compiled src/mochijson.erl
Compiled src/mochiweb_websocket.erl
Compiled src/mochiweb_html.erl
Compiled src/mochiweb_io.erl
Compiled src/mochiweb_socket_server.erl
Compiled src/mochifmt.erl
Compiled src/reloader.erl
Compiled src/mochiweb_charref.erl
==> webmachine (compile)
Compiled src/webmachine_error.erl
Compiled src/webmachine_logger_watcher_sup.erl
Compiled src/webmachine_perf_log_handler.erl
Compiled src/webmachine_log.erl
Compiled src/webmachine_util.erl
Compiled src/webmachine_error_handler.erl
Compiled src/webmachine_deps.erl
Compiled src/webmachine_sup.erl
Compiled src/webmachine_error_log_handler.erl
Compiled src/webmachine_dispatcher.erl
Compiled src/webmachine_app.erl
Compiled src/webmachine_decision_core.erl
Compiled src/webmachine_request.erl
Compiled src/webmachine_multipart.erl
Compiled src/wrq.erl
Compiled src/webmachine.erl
Compiled src/webmachine_router.erl
Compiled src/webmachine_logger_watcher.erl
Compiled src/webmachine_access_log_handler.erl
Compiled src/webmachine_resource.erl
Compiled src/wmtrace_resource.erl
Compiled src/webmachine_mochiweb.erl
==> riak_api (compile)
Compiled src/riak_api_pb_service.erl
Compiled src/riak_api_pb_frame.erl
Compiled src/riak_api_stat.erl
Compiled src/riak_api_web.erl
Compiled src/riak_api_web_security.erl
Compiled src/riak_api_sup.erl
Compiled src/riak_api_pb_listener.erl
Compiled src/riak_api_pb_registration_helper.erl
Compiled src/riak_api_app.erl
Compiled src/riak_core_pb_bucket_type.erl
Compiled src/riak_core_pb_bucket.erl
Compiled src/riak_api_pb_sup.erl
Compiled src/riak_api_basic_pb_service.erl
Compiled src/riak_api_pb_registrar.erl
Compiled src/riak_api_wm_urlmap.erl
Compiled src/riak_api_ssl.erl
Compiled src/riak_api_pb_server.erl
==> proper (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/proper'
./write_compile_flags include/compile_flags.hrl
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/proper'
Compiled src/strip_types.erl
Compiled src/vararg.erl
src/proper_types.erl:342: Warning: missing specification for function from_binary/1
src/proper_types.erl:467: Warning: missing specification for function unwrap/1
/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/proper/src/proper_types.erl:342: Warning: missing specification for function from_binary/1
/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/proper/src/proper_types.erl:467: Warning: missing specification for function unwrap/1
Compiled src/proper_types.erl
Compiled src/proper_dict.erl
Compiled src/proper_queue.erl
Compiled src/proper_unicode.erl
Compiled src/proper_arith.erl
Compiled src/proper_unused_imports_remover.erl
Compiled src/proper_prop_remover.erl
Compiled src/proper_sets.erl
Compiled src/proper_ordsets.erl
Compiled src/proper_gen.erl
Compiled src/proper_shrink.erl
Compiled src/proper_orddict.erl
Compiled src/proper_gb_sets.erl
Compiled src/proper_gb_trees.erl
Compiled src/proper_array.erl
Compiled src/proper_symb.erl
Compiled src/proper_transformer.erl
Compiled src/proper_statem.erl
Compiled src/proper_fsm.erl
Compiled src/proper.erl
Compiled src/proper_typeserver.erl
==> stdlib2 (compile)
Compiled src/s2_gen_lattice.erl
Compiled src/s2_util.erl
Compiled src/s2_gen_db.erl
Compiled src/s2_env.erl
Compiled src/s2_export.erl
Compiled src/s2_funs.erl
Compiled src/s2_loop.erl
Compiled src/s2_lists.erl
Compiled src/s2_strats.erl
Compiled src/s2_maps.erl
Compiled src/s2_dot.erl
Compiled src/s2_sh.erl
Compiled src/s2_time.erl
Compiled src/s2_maybe.erl
Compiled src/s2_csets.erl
Compiled src/s2_hex.erl
Compiled src/s2_rand.erl
Compiled src/s2_pn_counters.erl
Compiled src/s2_procs.erl
Compiled src/s2_fs.erl
Compiled src/s2_iolists.erl
Compiled src/s2_vclocks.erl
Compiled src/s2_atoms.erl
Compiled src/s2_par.erl
==> hyper (compile)
Compiled src/hyper_register.erl
Compiled src/hyper_gb.erl
Compiled src/hyper.erl
Compiled src/hyper_array.erl
Compiled src/hyper_binary.erl
Compiled src/hyper_binary_rle.erl
Compiled src/hyper_const.erl
==> chronos (compile)
Compiled src/chronos_command.erl
Compiled src/chronos.erl
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b (compile)
Compiled src/riak_kv_backend.erl
Compiled src/riak_kv_sweeper.erl
Compiled src/riak_kv_update_hook.erl
Compiled src/riak_kv_test_util.erl
Compiled src/riak_kv_ensemble_backend.erl
Compiled src/raw_link_walker.erl
Compiled src/riak_kv_mrc_sink.erl
Compiled src/riak_kv_w1c_sup.erl
Compiled src/riak_kv_pipe_get.erl
Compiled src/riak_kv_counter.erl
Compiled src/riak_kv_pb_index.erl
Compiled src/riak_object.erl
Compiled src/riak_kv_pb_bucket.erl
Compiled src/riak_kv_sweeper_state.erl
Compiled src/riak_object_json.erl
Compiled src/riak_kv_requests.erl
Compiled src/riak_kv_cinfo.erl
Compiled src/riak_kv_env.erl
Compiled src/riak_kv_pipe_index.erl
Compiled src/riak_kv_exometer_sidejob.erl
Compiled src/riak_kv_exchange_fsm.erl
Compiled src/riak_kv_fold_buffer.erl
Compiled src/riak_kv_mapred_json.erl
Compiled src/riak_kv_hooks.erl
Compiled src/riak_kv_js_sup.erl
Compiled src/riak_kv_wm_preflist.erl
Compiled src/riak_kv_wm_ping.erl
Compiled src/riak_kv_memory_backend.erl
Compiled src/riak_kv_hll.erl
Compiled src/riak_kv_mrc_pipe.erl
Compiled src/riak_kv_bucket.erl
Compiled src/riak_kv_multi_backend.erl
Compiled src/riak_kv_pb_object.erl
Compiled src/riak_kv_mrc_sink_sup.erl
Compiled src/riak_kv_crdt.erl
Compiled src/riak_kv_console.erl
Compiled src/riak_kv_sup.erl
Compiled src/riak_kv_get_core.erl
Compiled src/riak_kv_w1c_worker.erl
Compiled src/riak_kv_vnode_status_mgr.erl
Compiled src/riak_kv_index_fsm_sup.erl
Compiled src/riak_kv_pncounter.erl
Compiled src/riak_kv_stat.erl
Compiled src/riak_kv_js_vm.erl
Compiled src/riak_kv_entropy_info.erl
Compiled src/riak_kv_js_manager.erl
Compiled src/riak_kv_ensemble_console.erl
Compiled src/riak_kv_wm_buckets.erl
Compiled src/riak_core_pb.erl
Compiled src/riak_kv_wm_bucket_type.erl
Compiled src/riak_kv_fsm_timing.erl
Compiled src/riak_client.erl
Compiled src/riak_kv_buckets_fsm_sup.erl
Compiled src/riak_kv_entropy_manager.erl
Compiled src/riak_kv_gcounter.erl
Compiled src/riak_kv_wm_stats.erl
Compiled src/riak_kv_wm_object.erl
Compiled src/riak_kv_worker.erl
Compiled src/riak_kv_mapreduce.erl
Compiled src/riak_kv_wm_mapred.erl
Compiled src/riak_kv_yessir_backend.erl
Compiled src/riak_kv_noop_update_hook.erl
Compiled src/riak_kv_mapred_filters.erl
Compiled src/riak_kv_http_cache.erl
Compiled src/riak_kv_pb_bucket_key_apl.erl
Compiled src/riak_kv_multi_prefix_backend.erl
Compiled src/riak_kv_w_reduce.erl
Compiled src/riak_kv_stat_worker.erl
Compiled src/riak_kv_wm_index.erl
Compiled src/riak_kv_put_core.erl
Compiled src/sms.erl
Compiled src/riak_kv_encoding_migrate.erl
Compiled src/riak_kv_mapred_term.erl
Compiled src/riak_kv_delete.erl
Compiled src/riak_kv_reformat.erl
Compiled src/riak_kv_eleveldb_backend.erl
Compiled src/riak_kv_legacy_vnode.erl
Compiled src/riak_kv_util.erl
Compiled src/riak_kv_pb_csbucket.erl
Compiled src/riak_kv_pb_counter.erl
Compiled src/riak_kv_cli_registry.erl
Compiled src/riak_kv_pb_mapred.erl
Compiled src/json_pp.erl
Compiled src/riak_kv_wm_crdt.erl
Compiled src/riak_kv_wm_counter.erl
Compiled src/riak_kv_pb_crdt.erl
Compiled src/riak_kv_buckets_fsm.erl
Compiled src/riak_kv_keys_fsm_sup.erl
Compiled src/riak_kv_2i_aae.erl
Compiled src/riak_kv_object_ttl.erl
Compiled src/riak_kv_index_fsm.erl
Compiled src/riak_kv_app.erl
Compiled src/riak_kv_bitcask_backend.erl
Compiled src/riak_index.erl
Compiled src/riak_kv_ensembles.erl
Compiled src/riak_kv_wm_link_walker.erl
Compiled src/riak_kv_wm_props.erl
Compiled src/riak_kv_coverage_filter.erl
Compiled src/riak_kv_index_hashtree.erl
Compiled src/riak_kv_stat_bc.erl
Compiled src/riak_kv_pipe_listkeys.erl
Compiled src/riak.erl
Compiled src/riak_kv_sweeper_cli.erl
Compiled src/riak_kv_status.erl
Compiled src/riak_kv_web.erl
Compiled src/riak_kv_backup.erl
Compiled src/riak_kv_keys_fsm.erl
Compiled src/riak_kv_sweeper_fold.erl
Compiled src/riak_kv_get_fsm.erl
Compiled src/riak_kv_mrc_map.erl
Compiled src/riak_kv_put_fsm.erl
Compiled src/riak_kv_crdt_json.erl
Compiled src/riak_kv_wm_utils.erl
Compiled src/riak_kv_delete_sup.erl
Compiled priv/tracers/tracer_func_args.erl
Compiled src/riak_kv_wm_keylist.erl
Compiled priv/tracers/tracer_accumulating_time.erl
Compiled priv/tracers/tracer_gc_latency.erl
Compiled priv/tracers/tracer_large4.erl
Compiled priv/tracers/tracer_backend_latency.erl
Compiled src/riak_kv_vnode.erl
Compiled priv/tracers/tracer_fsm_init.erl
Compiled priv/tracers/tracer_eleveldb_put_size.erl
Compiled priv/tracers/tracer_latency_histogram.erl
Compiled priv/tracers/tracer_timeit.erl
Compiled priv/tracers/tracer_read_bin_trace_file.erl
Compiled priv/tracers/tracer_merge_and_and_handoff.erl





⛔ MAKE_TEST

Started at: 2017-04-03 01:21
Duration: 1087 seconds.
Result: ERROR
Message: Step make_test Failed!
Exit Code: 2

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b; make test




  
  
... Snipped 804 lines ...
sor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)....................................................................................................(x1000)....(x100)...(x10).....(x1).....
Time limit reached: 10.0 seconds.

OK, passed 15455 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)............................(x10).......(x1)..
Time limit reached: 5.0 seconds.

OK, passed 3972 tests
�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)...............(x10).........(x1).
Time limit reached: 5.0 seconds.

OK, passed 2691 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)..........................................................................................
OK, passed 1000 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100).............................(x10)..(x1)......
Time limit reached: 60.0 seconds.

OK, passed 4026 tests

sibling_count
24.29% 0
13.96% 2
13.96% 1
11.82% 3
9.19% 4
7.50% 5
5.56% 6
3.30% 7
2.58% 8
1.66% 9
1.52% 10
1.09% 11
0.94% 12
0.87% 13
0.57% 14
0.25% 16
0.17% 15
0.15% 21
0.15% 18
0.12% 20
0.12% 17
0.07% 22
0.05% 29
0.02% 31
0.02% 23
0.02% 19

17.904% {riak_object_dvv_statem,get_put,7}
17.887% {riak_object_dvv_statem,replicate,4}
17.790% {riak_object_dvv_statem,get,4}
17.684% {riak_object_dvv_statem,put,4}
13.381% {riak_object_dvv_statem,update,5}
9.539% {riak_object_dvv_statem,make_ring,2}
5.815% {riak_object_dvv_statem,set_nr,1}
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0mtest/riak_kv_schema_tests.erl:432:<0.2161.0>: Supporting riak_core components not present, skipping job_class_enabled test
�[0;32m.�[0m
Pending:
�[0;33m  module 'put_fsm_eqc'
�[0m�[0;36m    %% Related process exited with reason: {function_clause,
                                     [{riak_kv_vnode,put_merge,
                                       [true,false,
                                        {r_object,<<";">>,<<"a">>,
                                         [{r_content,
                                           {dict,1,16,16,8,80,48,
                                            {[],[],[],[],[],[],[],[],[],[],[],
                                             [],[],[],[],[]},
                                            {{[],[],[],[],[],[],[],[],[],[],
                                              [],[],[],
                                              [[<<"X-Riak-Last-Modified">>|
                                                {1491,208519,539546}]],
                                              [],[]}}},
                                           <<"current">>}],
                                         [{<<"bro!">>,{1,63658427719}},
                                          {<<"bro2">>,{1,63658427719}},
                                          {<<"dad">>,{1,63658427719}},
                                          {<<"sis!">>,{1,63658427719}}],
                                         {dict,1,16,16,8,80,48,
                                          {[],[],[],[],[],[],[],[],[],[],[],
                                           [],[],[],[],[]},
                                          {{[],[],[],[],[],[],[],[],[],[],[],
                                            [],[],[],
                                            [[clean|true]],
                                            []}}},
                                         undefined},
                                        {r_object,<<";">>,<<"a">>,
                                         [{r_content,
                                           {dict,3,16,16,8,80,48,
                                            {[],[],[],[],[],[],[],[],[],[],[],
                                             [],[],[],[],[]},
                                            {{[],[],[],[],[],[],[],[],[],[],
                                              [[<<"X-Riak-VTag">>,55,80,110,
                                                122,103,89,84,120,53,74,103,
                                                97,54,50,77,79,102,103,121,87,
                                                52,79]],
                                              [[<<"index">>]],
                                              [],
                                              [[<<"X-Riak-Last-Modified">>|
                                                {1491,208519,542976}]],
                                              [],[]}}},
                                           <<"sister">>}],
                                         [{<<"sis!">>,{1,63658427719}},
                                          {<<"dad">>,{1,63658427719}}],
                                         {dict,1,16,16,8,80,48,
                                          {[],[],[],[],[],[],[],[],[],[],[],
                                           [],[],[],[],[]},
                                          {{[],[],[],[],[],[],[],[],[],[],[],
                                            [],[],[],
                                            [[clean|true]],
                                            []}}},
                                         undefined},
                                        <<1,1,1,1,1,1,1,1>>,
                                        63658427719],
                                       [{file,"src/riak_kv_vnode.erl"},
                                        {line,1690}]},
                                      {fsm_eqc_vnode,put_merge,3,
                                       [{file,"test/fsm_eqc_vnode.erl"},
                                        {line,287}]},
                                      {fsm_eqc_vnode,send_vput_extra,4,
                                       [{file,"test/fsm_eqc_vnode.erl"},
                                        {line,228}]},
                                      {fsm_eqc_vnode,active_handle_request,5,
                                       [{file,"test/fsm_eqc_vnode.erl"},
                                        {line,132}]},
                                      {gen_fsm,handle_msg,7,
                                       [{file,"gen_fsm.erl"},{line,505}]},
                                      {proc_lib,init_p_do_apply,3,
                                       [{file,"proc_lib.erl"},{line,239}]}]}
�[0m


Top 10 slowest tests (851.343 seconds, 80.7% of total time):
  riak_kv_multi_backend:eqc_test_/0:625
�[0;31m    120.068 seconds�[0m
  riak_kv_bitcask_backend:eqc_test_/0:965
�[0;31m    120.041 seconds�[0m
  riak_kv_eleveldb_backend:eqc_test_/0:893
�[0;31m    120.036 seconds�[0m
  riak_kv_multi_backend:eqc_test_/0:623
�[0;31m    120.029 seconds�[0m
  riak_kv_memory_backend:eqc_test_/0:850
�[0;31m    120.012 seconds�[0m
  riak_object_dvv_statem:eqc_test_/0:72
�[0;31m    60.209 seconds�[0m
  riak_kv_hll:eqc_value_test_/0:313
�[0;31m    60.026 seconds�[0m
  get_fsm_eqc:eqc_test_/0:50
�[0;31m    60.002 seconds�[0m
  kv679_eqc:eqc_test_/0:64
�[0;31m    50.006 seconds�[0m
  ec_eqc:eqc_test_/0:30
�[0;31m    20.914 seconds�[0m

Finished in 1054.406 seconds
�[0;33m334 tests, 0 failures, 3 cancelled
�[0mERROR: One or more eunit tests failed.
ERROR: eunit failed while processing /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b: rebar_abort
make: *** [eunit] Error 1





✅ MAKE_XREF

Started at: 2017-04-03 01:39
Duration: 11 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b; make xref




  ./rebar get-deps
==> sidejob (get-deps)
==> erlang_js (get-deps)
==> meck (get-deps)
==> getopt (get-deps)
==> goldrush (get-deps)
==> lager (get-deps)
WARN:  Missing plugins: [rebar3_hex]
==> neotoma (get-deps)
==> cuttlefish (get-deps)
==> bitcask (get-deps)
==> eper (get-deps)
==> edown (get-deps)
==> sext (get-deps)
==> poolboy (get-deps)
==> basho_stats (get-deps)
==> riak_sysmon (get-deps)
==> eleveldb (get-deps)
==> riak_ensemble (get-deps)
==> pbkdf2 (get-deps)
==> parse_trans (get-deps)
==> bear (get-deps)
==> folsom (get-deps)
==> setup (get-deps)
==> src (get-deps)
==> exometer_core (get-deps)
==> clique (get-deps)
==> riak_core (get-deps)
==> riak_pipe (get-deps)
==> riak_dt (get-deps)
==> eunit_formatters (get-deps)
==> hamcrest (get-deps)
==> riak_pb (get-deps)
==> mochiweb (get-deps)
==> webmachine (get-deps)
==> riak_api (get-deps)
==> proper (get-deps)
==> stdlib2 (get-deps)
==> hyper (get-deps)
==> chronos (get-deps)
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b (get-deps)
./rebar compile
==> sidejob (compile)
==> erlang_js (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/erlang_js'
cd c_src; make
make[2]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/erlang_js/c_src'
make[2]: Nothing to be done for `js'.
make[2]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/erlang_js/c_src'
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/erlang_js'
==> meck (compile)
==> getopt (compile)
==> goldrush (compile)
==> lager (compile)
WARN:  Missing plugins: [rebar3_hex]
==> neotoma (compile)
==> cuttlefish (compile)
==> getopt (escriptize)
==> goldrush (escriptize)
==> lager (escriptize)
==> neotoma (escriptize)
==> cuttlefish (escriptize)
==> bitcask (compile)
==> eper (compile)
==> edown (compile)
==> sext (compile)
==> poolboy (compile)
==> basho_stats (compile)
==> riak_sysmon (compile)
==> eleveldb (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/eleveldb/c_src/leveldb'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/eleveldb/c_src/leveldb'
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/eleveldb/c_src/leveldb'
make[1]: Nothing to be done for `tools'.
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/eleveldb/c_src/leveldb'
==> riak_ensemble (compile)
==> pbkdf2 (compile)
==> parse_trans (compile)
==> bear (compile)
==> folsom (compile)
==> setup (compile)
==> edown (escriptize)
==> setup (escriptize)
==> src (compile)
==> exometer_core (compile)
==> clique (compile)
==> riak_core (compile)
==> riak_pipe (compile)
==> riak_dt (compile)
==> eunit_formatters (compile)
==> hamcrest (compile)
==> hamcrest (post_compile)
==> riak_pb (compile)
==> mochiweb (compile)
==> webmachine (compile)
==> riak_api (compile)
==> proper (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/proper'
make[1]: `include/compile_flags.hrl' is up to date.
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/proper'
==> stdlib2 (compile)
==> hyper (compile)
==> chronos (compile)
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b (compile)
./rebar xref skip_deps=true
WARN:  Missing plugins: [rebar3_hex]
WARN:  Ignoring sub_dirs for /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b/deps/exometer_core
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b (xref)





⛔ MAKE_DIALYZER

Started at: 2017-04-03 01:39
Duration: 88 seconds.
Result: ERROR
Message: Step make_dialyzer Failed!
Exit Code: 2

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b; make dialyzer




  
  
... Snipped 586 lines ...
 filelib:is_regular/1
  filelib:wildcard/1
  filelib:wildcard/2
  filename:absname/1
  filename:append/2
  filename:basename/1
  filename:basename/2
  filename:dirname/1
  filename:extension/1
  filename:join/1
  filename:join/2
  filename:rootname/2
  filename:split/1
  gb_sets:add/2
  gb_sets:add_element/2
  gb_sets:balance/1
  gb_sets:del_element/2
  gb_sets:delete/2
  gb_sets:delete_any/2
  gb_sets:difference/2
  gb_sets:empty/0
  gb_sets:filter/2
  gb_sets:fold/3
  gb_sets:from_list/1
  gb_sets:from_ordset/1
  gb_sets:insert/2
  gb_sets:intersection/1
  gb_sets:intersection/2
  gb_sets:is_disjoint/2
  gb_sets:is_element/2
  gb_sets:is_empty/1
  gb_sets:is_member/2
  gb_sets:is_set/1
  gb_sets:is_subset/2
  gb_sets:iterator/1
  gb_sets:largest/1
  gb_sets:new/0
  gb_sets:next/1
  gb_sets:singleton/1
  gb_sets:size/1
  gb_sets:smallest/1
  gb_sets:subtract/2
  gb_sets:take_largest/1
  gb_sets:take_smallest/1
  gb_sets:to_list/1
  gb_sets:union/1
  gb_sets:union/2
  gb_trees:balance/1
  gb_trees:delete/2
  gb_trees:delete_any/2
  gb_trees:empty/0
  gb_trees:enter/3
  gb_trees:from_orddict/1
  gb_trees:get/2
  gb_trees:insert/3
  gb_trees:is_defined/2
  gb_trees:is_empty/1
  gb_trees:iterator/1
  gb_trees:keys/1
  gb_trees:largest/1
  gb_trees:lookup/2
  gb_trees:map/2
  gb_trees:next/1
  gb_trees:size/1
  gb_trees:smallest/1
  gb_trees:take_largest/1
  gb_trees:take_smallest/1
  gb_trees:to_list/1
  gb_trees:update/3
  gb_trees:values/1
  gen:call/3
  gen:call/4
  gen:reply/2
  gen:start/5
  gen:start/6
  gen_event:add_handler/3
  gen_event:add_sup_handler/3
  gen_event:call/3
  gen_event:call/4
  gen_event:delete_handler/3
  gen_event:notify/2
  gen_event:start_link/1
  gen_event:sync_notify/2
  gen_event:which_handlers/1
  gen_fsm:cancel_timer/1
  gen_fsm:reply/2
  gen_fsm:send_all_state_event/2
  gen_fsm:send_event/2
  gen_fsm:send_event_after/2
  gen_fsm:start/3
  gen_fsm:start_link/3
  gen_fsm:start_timer/2
  gen_fsm:sync_send_all_state_event/2
  gen_fsm:sync_send_all_state_event/3
  gen_fsm:sync_send_event/2
  gen_fsm:sync_send_event/3
  gen_server:abcast/3
  gen_server:call/2
  gen_server:call/3
  gen_server:cast/2
  gen_server:reply/2
  gen_server:start/3
  gen_server:start/4
  gen_server:start_link/3
  gen_server:start_link/4
  gen_tcp:accept/1
  gen_tcp:accept/2
  gen_tcp:close/1
  gen_tcp:connect/4
  gen_tcp:controlling_process/2
  gen_tcp:listen/2
  gen_tcp:recv/3
  gen_tcp:send/2
  gen_udp:close/1
  gen_udp:open/2
  gen_udp:send/4
  global:send/2
  global:unregister_name/1
  global:whereis_name/1
  gtknode:cmd/2
  gtknode:start/1
  httpc:request/4
  httpd_util:convert_request_date/1
  httpd_util:day/1
  httpd_util:month/1
  httpd_util:reason_phrase/1
  httpd_util:rfc1123_date/0
  httpd_util:rfc1123_date/1
  igor:parse_transform/2
  inet:getaddr/2
  inet:gethostbyaddr/1
  inet:gethostbyname/1
  inet:gethostname/0
  inet:getopts/2
  inet:getstat/1
  inet:getstat/2
  inet:parse_address/1
  inet:peername/1
  inet:port/1
  inet:setopts/2
  inet:sockname/1
  inet_db:register_socket/2
  inet_parse:address/1
  inet_parse:ntoa/1
  inets:start/0
  init:archive_extension/0
  init:get_argument/1
  init:get_status/0
  init:script_id/0
  init:stop/0
  init:stop/1
  io:columns/0
  io:format/1
  io:format/2
  io:format/3
  io:fwrite/1
  io:fwrite/2
  io:fwrite/3
  io:nl/0
  io:put_chars/1
  io:put_chars/2
  io:write/1
  io_lib:deep_char_list/1
  io_lib:format/2
  io_lib:fread/2
  io_lib:fwrite/2
  io_lib:printable_list/1
  io_lib:write/1
  io_lib:write/2
  io_lib:write_atom/1
  io_lib_format:fwrite_g/1
  io_lib_pretty:print/6
  lager_default_tracer:info/1
  lib:format_exception/6
  lists:append/1
  lists:concat/1
  lists:duplicate/2
  lists:flatlength/1
  lists:flatten/2
  lists:keystore/4
  lists:keytake/3
  lists:merge/1
  lists:prefix/2
  lists:seq/2
  lists:seq/3
  lists:sublist/2
  lists:sublist/3
  lists:sum/1
  lists:ukeymerge/3
  lists:ukeysort/2
  lists:umerge/2
  maps:to_list/1
  math:cos/1
  math:exp/1
  math:log/1
  math:log10/1
  math:pi/0
  math:pow/2
  math:sqrt/1
  memsup:get_system_memory_data/0
  mustache:render/2
  net_adm:names/1
  net_adm:ping/1
  net_kernel:get_net_ticktime/0
  net_kernel:hidden_connect_node/1
  net_kernel:monitor_nodes/1
  net_kernel:monitor_nodes/2
  net_kernel:set_net_ticktime/1
  net_kernel:start/1
  orddict:append/3
  orddict:append_list/3
  orddict:erase/2
  orddict:fetch/2
  orddict:fetch_keys/1
  orddict:filter/2
  orddict:find/2
  orddict:fold/3
  orddict:from_list/1
  orddict:is_key/2
  orddict:map/2
  orddict:merge/3
  orddict:new/0
  orddict:size/1
  orddict:store/3
  orddict:to_list/1
  orddict:update/3
  orddict:update/4
  orddict:update_counter/3
  ordsets:add_element/2
  ordsets:del_element/2
  ordsets:filter/2
  ordsets:fold/3
  ordsets:from_list/1
  ordsets:intersection/1
  ordsets:intersection/2
  ordsets:is_disjoint/2
  ordsets:is_element/2
  ordsets:is_set/1
  ordsets:is_subset/2
  ordsets:new/0
  ordsets:size/1
  ordsets:subtract/2
  ordsets:to_list/1
  ordsets:union/1
  ordsets:union/2
  os:cmd/1
  os:getenv/1
  os:getpid/0
  os:timestamp/0
  os:type/0
  packages:last/1
  packages:strip_last/1
  prim_file:list_dir/2
  prim_file:read_file_info/1
  prim_file:write_file_info/2
  prim_inet:async_accept/2
  prim_inet:getstatus/1
  prim_inet:gettype/1
  proc_lib:hibernate/3
  proc_lib:init_ack/2
  proc_lib:spawn/1
  proc_lib:spawn_link/1
  proc_lib:spawn_link/3
  proc_lib:start_link/3
  proc_lib:translate_initial_call/1
  proplists:delete/2
  proplists:get_all_values/2
  proplists:get_bool/2
  proplists:get_keys/1
  proplists:get_value/2
  proplists:get_value/3
  proplists:is_defined/2
  proplists:lookup/2
  proplists:substitute_aliases/2
  proplists:unfold/1
  pubkey_cert:extensions_list/1
  pubkey_cert:select_extension/2
  pubkey_cert_records:transform/2
  public_key:pem_decode/1
  public_key:pem_entry_decode/1
  public_key:pkix_crls_validate/3
  public_key:pkix_decode_cert/2
  public_key:pkix_encode/3
  public_key:pkix_is_self_signed/1
  public_key:pkix_normalize_name/1
  queue:cons/2
  queue:daeh/1
  queue:drop/1
  queue:drop_r/1
  queue:filter/2
  queue:from_list/1
  queue:get/1
  queue:get_r/1
  queue:head/1
  queue:in/2
  queue:in_r/2
  queue:init/1
  queue:is_empty/1
  queue:is_queue/1
  queue:join/2
  queue:last/1
  queue:len/1
  queue:liat/1
  queue:member/2
  queue:new/0
  queue:out/1
  queue:out_r/1
  queue:peek/1
  queue:peek_r/1
  queue:reverse/1
  queue:snoc/2
  queue:split/2
  queue:tail/1
  queue:to_list/1
  random:seed/0
  random:seed/1
  random:seed/3
  random:seed0/0
  random:uniform/0
  random:uniform/1
  random:uniform_s/2
  re:compile/1
  re:compile/2
  re:replace/4
  re:run/2
  re:run/3
  re:split/2
  re:split/3
  rebar_config:get_local/3
  rebar_mustache:render/2
  rebar_rel_utils:get_target_dir/2
  rebar_rel_utils:is_rel_dir/0
  rebar_rel_utils:load_config/2
  release_handler:eval_appup_script/4
  rpc:call/4
  rpc:call/5
  rpc:eval_everywhere/3
  rpc:multicall/3
  rpc:multicall/4
  rpc:multicall/5
  sets:add_element/2
  sets:del_element/2
  sets:filter/2
  sets:fold/3
  sets:from_list/1
  sets:intersection/1
  sets:intersection/2
  sets:is_disjoint/2
  sets:is_element/2
  sets:is_set/1
  sets:is_subset/2
  sets:new/0
  sets:size/1
  sets:subtract/2
  sets:to_list/1
  sets:union/1
  sets:union/2
  ssl:close/1
  ssl:connect/2
  ssl:connect/4
  ssl:listen/2
  ssl:peercert/1
  ssl:peername/1
  ssl:recv/3
  ssl:send/2
  ssl:setopts/2
  ssl:sockname/1
  ssl:ssl_accept/1
  ssl:ssl_accept/2
  ssl:ssl_accept/3
  ssl:transport_accept/1
  ssl_cipher:openssl_suite/1
  ssl_cipher:openssl_suite_name/1
  string:centre/2
  string:centre/3
  string:chr/2
  string:cspan/2
  string:equal/2
  string:join/2
  string:left/2
  string:left/3
  string:len/1
  string:rchr/2
  string:right/2
  string:right/3
  string:str/2
  string:strip/1
  string:strip/2
  string:strip/3
  string:sub_string/2
  string:sub_string/3
  string:substr/2
  string:substr/3
  string:to_float/1
  string:to_integer/1
  string:to_lower/1
  string:tokens/2
  supervisor:count_children/1
  supervisor:delete_child/2
  supervisor:start_child/2
  supervisor:start_link/2
  supervisor:start_link/3
  supervisor:terminate_child/2
  supervisor:which_children/1
  sys:debug_options/1
  sys:get_debug/3
  sys:handle_debug/4
  sys:handle_system_msg/6
  sys:print_log/1
  systools:make_script/2
  timer:apply_after/4
  timer:apply_interval/4
  timer:cancel/1
  timer:minutes/1
  timer:now_diff/2
  timer:seconds/1
  timer:send_after/2
  timer:send_interval/2
  timer:sleep/1
  timer:tc/1
  timer:tc/2
  timer:tc/3
  unicode:characters_to_binary/1
  unicode:characters_to_binary/3
  unicode:characters_to_list/1
  unicode:characters_to_list/2
  xmerl:export_simple/3
  xmerl:export_simple_content/2
  xmerl_html:'#element#'/5
  xmerl_lib:end_tag/1
  xmerl_lib:expand_element/1
  xmerl_lib:find_attribute/2
  xmerl_lib:mapxml/2
  xmerl_lib:start_tag/2
  xmerl_ucs:from_utf16be/1
  xmerl_ucs:from_utf8/1
  xmerl_ucs:to_utf8/1
  zlib:gunzip/1
  zlib:gzip/1
Unknown types:
  calendar:datetime/0
  compile:option/0
  erl_parse:abstract_clause/0
  erl_parse:abstract_expr/0
  erl_parse:abstract_form/0
  erl_scan:line/0
  erl_syntax:syntaxTree/0
  erlang:timestamp/0
  ets:comp_match_spec/0
  ets:match_spec/0
  ets:tab/0
  ets:tid/0
  file:date_time/0
  file:fd/0
  file:filename/0
  file:io_device/0
  file:name/0
  file:name_all/0
  file:posix/0
  gen_tcp:listen_option/0
  gen_tcp:option/0
  inet:hostname/0
  inet:ip4_address/0
  inet:ip6_address/0
  inet:ip_address/0
  inet:socket/0
  io:device/0
  io:format/0
  meck_history:history_record/0
  orddict:orddict/0
  ordsets:ordset/1
  proplists:property/0
  proplists:proplist/0
  re:mp/0
  ssl:ssl_option/0
  ssl:sslsocket/0
  supervisor:child_spec/0
  supervisor:strategy/0
  timer:tref/0
  unicode:charlist/0
 done in 0m44.96s
done (passed successfully)
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.ee5878b (dialyzer)
  riak_object:object/0
make: *** [dialyzer-run] Error 1





⬜ 0 of 2 Code reviews from organization basho

@russelldb
Copy link
Contributor Author

@nickelization wow. Well thanks for all the time you put into this PR up to now. All the best in whatever you're doing next. Stay in touch, please! Hope we can work together again in the future.

@russelldb
Copy link
Contributor Author

@JeetKunDoug Finally figured it out. https://github.com/basho/riak_test/blob/develop/tests/partition_repair.erl#L223 is the problem

The data in the vnode partition no longer matches the data in the stash since it now has the new epoch actor entry added to the vclock. I guess I need to makes this verify function smarter, in that each key in the partition after repair must have the same value, and at least the vclock of the stash. Sound about right?

@JeetKunDoug
Copy link
Contributor

@russelldb yea - that looks about right to me.. a more intelligent comparison should do it. LMK if you need anything else, or when you've got changes done, and I'll take another look.

russelldb added a commit to russelldb/riak_test that referenced this pull request Apr 3, 2017
The partition repair test deletes all the data at a partition, and then
repairs it from neighbouring partitions. The subset of repaired data
that was originally coordinated by the deleted partition's vnode showed
up as `notfound` since the latest kv679 changes here
basho/riak_kv#1643. The reason is that the fix
in the KV repo adds a new actor to the repaired key's vclock. Prior to
this change `verify` in partition_repair.erl did a simple equality check
on the binary encoded riak_object values. This change takes into account
that a new actor may be in the vclock at the repaired vnode, and uses a
semantic equality check based on riak_object merge and riak object
equal.
@russelldb
Copy link
Contributor Author

@JeetKunDoug I pushed a fix to the riak-test at basho/riak_test#1296

@JeetKunDoug
Copy link
Contributor

@russelldb thanks - it seemed like yo had solutions for the dialyzer errors - any clues on the eunit failure in the Thumbs output? Looks potentially unrelated but curious if you have taken a look yet? If not I can try to see if it's reproducible locally on develop or not and we can go from there.

@nickelization
Copy link
Contributor

@russelldb you're welcome, and thanks! Same to you, on all counts :)

@russelldb
Copy link
Contributor Author

@JeetKunDoug I used your solutions for the dialyzer errors! Will look at the eunit

riak_kv_vnode:put_merge is exported for testing, and the kv679 changes
change the function signature from `vnodeid` to a two-tuple
`{IsNewEpoch::boolean(), VnodeId::binary()}` this commit reflects that
change in the test code.
@thumbot
Copy link

thumbot commented Apr 4, 2017

rdb-bet365/gh679-dl-replicate ceb5d53 ➡️ develop 3673dce ⛔ completed
There seems to be an issue with build step **make_dialyzer** ! ☁️
✅ MERGE

Started at: 2017-04-04 00:37
Duration: 1 seconds.
Result: OK
Message: Merge Success: rdb-bet365/gh679-dl-replicate ceb5d53 onto target branch: develop 3673dce
Exit Code: OK

📄







  Auto-merging src/riak_kv_vnode.erl
Merge made by the 'recursive' strategy.
 src/riak_kv_vnode.erl  | 246 +++++++++++++++----------
 src/riak_object.erl    |  24 ++-
 test/fsm_eqc_vnode.erl |   6 +-
 test/kv679_eqc.erl     | 484 +++++++++++++++++++++++++++++++++++++++++++++++++
 test/kv679_fb_byz.eqc  | Bin 0 -> 637 bytes
 test/kv679_fb_byz2.eqc | Bin 0 -> 669 bytes
 test/kv679_fb_byz3.eqc | Bin 0 -> 879 bytes
 7 files changed, 660 insertions(+), 100 deletions(-)
 create mode 100644 test/kv679_eqc.erl
 create mode 100644 test/kv679_fb_byz.eqc
 create mode 100644 test/kv679_fb_byz2.eqc
 create mode 100644 test/kv679_fb_byz3.eqc




✅ MAKE_CLEAN

Started at: 2017-04-04 00:37
Duration: 1 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53; make clean




  ./rebar clean
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53 (clean)
rm -rf test.*-temp-data





✅ MAKE_DEPS

Started at: 2017-04-04 00:38
Duration: 27 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53; make deps




  ./rebar get-deps
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53 (get-deps)
Pulling sidejob from {git,"https://github.com/basho/sidejob.git",
                          {tag,"2.0.1"}}
Cloning into 'sidejob'...
Pulling erlang_js from {git,"https://github.com/basho/erlang_js.git",
                            {tag,"1.3.0"}}
Cloning into 'erlang_js'...
Pulling bitcask from {git,"https://github.com/basho/bitcask.git",
                          {tag,"2.0.8"}}
Cloning into 'bitcask'...
Pulling eper from {git,"https://github.com/basho/eper.git",{tag,"0.78"}}
Cloning into 'eper'...
Pulling sext from {git,"https://github.com/basho/sext.git",{tag,"1.1p3"}}
Cloning into 'sext'...
Pulling riak_pipe from {git,"https://github.com/basho/riak_pipe.git",
                            {tag,"2.1.6"}}
Cloning into 'riak_pipe'...
Pulling riak_dt from {git,"https://github.com/basho/riak_dt.git",
                          {tag,"2.1.4"}}
Cloning into 'riak_dt'...
Pulling eunit_formatters from {git,"https://github.com/basho/eunit_formatters",
                                   {tag,"0.1.2"}}
Cloning into 'eunit_formatters'...
Pulling riak_api from {git,"https://github.com/basho/riak_api.git",
                           {tag,"2.1.7"}}
Cloning into 'riak_api'...
Pulling hyper from {git,"https://github.com/basho/hyper",{tag,"1.0.0"}}
Cloning into 'hyper'...
Pulling clique from {git,"https://github.com/basho/clique.git",{tag,"0.3.9"}}
Cloning into 'clique'...
Pulling chronos from {git,"https://github.com/basho/chronos.git",
                          {tag,"0.5.1"}}
Cloning into 'chronos'...
==> sidejob (get-deps)
==> erlang_js (get-deps)
==> bitcask (get-deps)
Pulling meck from {git,"https://github.com/basho/meck.git",{tag,"0.8.2"}}
Cloning into 'meck'...
Pulling cuttlefish from {git,"https://github.com/basho/cuttlefish.git",
                             {tag,"2.0.11"}}
Cloning into 'cuttlefish'...
==> meck (get-deps)
==> cuttlefish (get-deps)
Pulling getopt from {git,"https://github.com/basho/getopt.git",{tag,"v0.8.2"}}
Cloning into 'getopt'...
Pulling lager from {git,"https://github.com/basho/lager.git",{tag,"3.2.4"}}
Cloning into 'lager'...
Pulling neotoma from {git,"https://github.com/basho/neotoma.git",
                          {tag,"1.7.4"}}
Cloning into 'neotoma'...
==> getopt (get-deps)
==> lager (get-deps)
Pulling goldrush from {git,"https://github.com/basho/goldrush.git",
                           {tag,"0.1.9"}}
Cloning into 'goldrush'...
==> goldrush (get-deps)
WARN:  Missing plugins: [rebar3_hex]
==> neotoma (get-deps)
==> eper (get-deps)
==> sext (get-deps)
Pulling edown from {git,"git://github.com/uwiger/edown.git",{tag,"0.5"}}
Cloning into 'edown'...
==> edown (get-deps)
==> riak_pipe (get-deps)
Pulling riak_core from {git,"https://github.com/basho/riak_core.git",
                            {tag,"2.1.10"}}
Cloning into 'riak_core'...
==> clique (get-deps)
==> riak_core (get-deps)
Pulling poolboy from {git,"git://github.com/basho/poolboy.git",
                          {tag,"0.8.1p3"}}
Cloning into 'poolboy'...
Pulling basho_stats from {git,"git://github.com/basho/basho_stats.git",
                              {tag,"1.0.3"}}
Cloning into 'basho_stats'...
Pulling riak_sysmon from {git,"https://github.com/basho/riak_sysmon.git",
                              {tag,"2.1.5"}}
Cloning into 'riak_sysmon'...
Pulling eleveldb from {git,"git://github.com/basho/eleveldb.git",
                           {tag,"2.0.34"}}
Cloning into 'eleveldb'...
Pulling riak_ensemble from {git,"https://github.com/basho/riak_ensemble",
                                {tag,"2.1.8"}}
Cloning into 'riak_ensemble'...
Pulling pbkdf2 from {git,"git://github.com/basho/erlang-pbkdf2.git",
                         {tag,"2.0.0"}}
Cloning into 'pbkdf2'...
Pulling exometer_core from {git,"git://github.com/basho/exometer_core.git",
                                {tag,"1.0.0-basho9"}}
Cloning into 'exometer_core'...
==> poolboy (get-deps)
==> basho_stats (get-deps)
==> riak_sysmon (get-deps)
==> eleveldb (get-deps)
Cloning into 'leveldb'...
Note: checking out '2.0.34'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at d6507aa... merge mv-hot-backup2 bug fix to 2.0
==> riak_ensemble (get-deps)
==> pbkdf2 (get-deps)
==> src (get-deps)
==> exometer_core (get-deps)
Pulling parse_trans from {git,"git://github.com/basho/parse_trans.git",
                              {tag,"2.9.2p1"}}
Cloning into 'parse_trans'...
Pulling folsom from {git,"git://github.com/basho/folsom.git",{tag,"0.7.4p5"}}
Cloning into 'folsom'...
Pulling setup from {git,"git://github.com/basho/setup.git",{tag,"1.4"}}
Cloning into 'setup'...
==> parse_trans (get-deps)
==> folsom (get-deps)
Pulling bear from {git,"git://github.com/basho/bear.git",{tag,"0.1.3p1"}}
Cloning into 'bear'...
==> bear (get-deps)
==> setup (get-deps)
==> riak_dt (get-deps)
==> eunit_formatters (get-deps)
==> riak_api (get-deps)
Pulling riak_pb from {git,"https://github.com/basho/riak_pb.git",
                          {tag,"2.3.0.0"}}
Cloning into 'riak_pb'...
Pulling webmachine from {git,"https://github.com/basho/webmachine.git",
                             {tag,"1.10.8-basho1"}}
Cloning into 'webmachine'...
==> riak_pb (get-deps)
Pulling hamcrest from {git,"https://github.com/basho/hamcrest-erlang.git",
                           {tag,"0.3.0-basho"}}
Cloning into 'hamcrest'...
==> hamcrest (get-deps)
==> webmachine (get-deps)
Pulling mochiweb from {git,"git://github.com/basho/mochiweb.git",
                           {tag,"v2.9.0p2"}}
Cloning into 'mochiweb'...
==> mochiweb (get-deps)
==> hyper (get-deps)
Pulling proper from {git,"https://github.com/basho/proper.git",{tag,"v1.2p1"}}
Cloning into 'proper'...
Pulling stdlib2 from {git,"https://github.com/basho/stdlib2.git",
                          {tag,"0.0.1"}}
Cloning into 'stdlib2'...
==> proper (get-deps)
==> stdlib2 (get-deps)
==> chronos (get-deps)





✅ MAKE_COMPILE

Started at: 2017-04-04 00:38
Duration: 75 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53; make compile




  
  
... Snipped 1794 lines ...
src/riak_pb_messages.erl
Compiled src/riak_pb_dt_codec.erl
Compiled src/riak_pb.erl
Compiled src/riak_dt_pb.erl
Compiled src/riak_ttb_codec.erl
Compiled src/riak_yokozuna_pb.erl
Compiled src/riak_pb_ts_codec.erl
Compiled src/riak_ts_pb.erl
Compiled src/riak_search_pb.erl
Compiled src/riak_kv_pb.erl
==> mochiweb (compile)
Compiled src/mochihex.erl
Compiled src/mochiweb_response.erl
Compiled src/mochiglobal.erl
Compiled src/mochiweb_sup.erl
Compiled src/mochiweb_base64url.erl
Compiled src/mochifmt_records.erl
Compiled src/mochinum.erl
Compiled src/mochiweb_mime.erl
Compiled src/mochiweb_headers.erl
Compiled src/mochiweb_util.erl
Compiled src/mochiweb_echo.erl
Compiled src/mochiutf8.erl
Compiled src/mochiweb_skel.erl
Compiled src/mochiweb_multipart.erl
Compiled src/mochilists.erl
Compiled src/mochiweb_app.erl
Compiled src/mochiweb_session.erl
Compiled src/mochiweb_request.erl
Compiled src/mochiweb_http.erl
Compiled src/mochilogfile2.erl
Compiled src/mochijson2.erl
Compiled src/mochitemp.erl
Compiled src/mochiweb_acceptor.erl
Compiled src/mochiweb.erl
Compiled src/mochiweb_cookies.erl
Compiled src/mochiweb_cover.erl
Compiled src/mochiweb_socket.erl
Compiled src/mochifmt_std.erl
Compiled src/mochijson.erl
Compiled src/mochiweb_websocket.erl
Compiled src/mochiweb_html.erl
Compiled src/mochiweb_io.erl
Compiled src/mochiweb_socket_server.erl
Compiled src/mochifmt.erl
Compiled src/reloader.erl
Compiled src/mochiweb_charref.erl
==> webmachine (compile)
Compiled src/webmachine_error.erl
Compiled src/webmachine_logger_watcher_sup.erl
Compiled src/webmachine_perf_log_handler.erl
Compiled src/webmachine_log.erl
Compiled src/webmachine_util.erl
Compiled src/webmachine_error_handler.erl
Compiled src/webmachine_deps.erl
Compiled src/webmachine_error_log_handler.erl
Compiled src/webmachine_sup.erl
Compiled src/webmachine_dispatcher.erl
Compiled src/webmachine_app.erl
Compiled src/webmachine_decision_core.erl
Compiled src/webmachine_multipart.erl
Compiled src/wrq.erl
Compiled src/webmachine_request.erl
Compiled src/webmachine.erl
Compiled src/webmachine_logger_watcher.erl
Compiled src/webmachine_router.erl
Compiled src/webmachine_access_log_handler.erl
Compiled src/webmachine_resource.erl
Compiled src/webmachine_mochiweb.erl
Compiled src/wmtrace_resource.erl
==> riak_api (compile)
Compiled src/riak_api_pb_service.erl
Compiled src/riak_api_pb_frame.erl
Compiled src/riak_api_stat.erl
Compiled src/riak_api_web.erl
Compiled src/riak_api_web_security.erl
Compiled src/riak_api_sup.erl
Compiled src/riak_api_pb_listener.erl
Compiled src/riak_api_pb_registration_helper.erl
Compiled src/riak_api_app.erl
Compiled src/riak_core_pb_bucket_type.erl
Compiled src/riak_core_pb_bucket.erl
Compiled src/riak_api_pb_sup.erl
Compiled src/riak_api_basic_pb_service.erl
Compiled src/riak_api_pb_registrar.erl
Compiled src/riak_api_wm_urlmap.erl
Compiled src/riak_api_ssl.erl
Compiled src/riak_api_pb_server.erl
==> proper (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/proper'
./write_compile_flags include/compile_flags.hrl
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/proper'
Compiled src/strip_types.erl
Compiled src/vararg.erl
src/proper_types.erl:342: Warning: missing specification for function from_binary/1
src/proper_types.erl:467: Warning: missing specification for function unwrap/1
/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/proper/src/proper_types.erl:342: Warning: missing specification for function from_binary/1
/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/proper/src/proper_types.erl:467: Warning: missing specification for function unwrap/1
Compiled src/proper_types.erl
Compiled src/proper_dict.erl
Compiled src/proper_queue.erl
Compiled src/proper_unicode.erl
Compiled src/proper_arith.erl
Compiled src/proper_unused_imports_remover.erl
Compiled src/proper_prop_remover.erl
Compiled src/proper_sets.erl
Compiled src/proper_ordsets.erl
Compiled src/proper_gen.erl
Compiled src/proper_shrink.erl
Compiled src/proper_gb_sets.erl
Compiled src/proper_orddict.erl
Compiled src/proper_gb_trees.erl
Compiled src/proper_array.erl
Compiled src/proper_symb.erl
Compiled src/proper_transformer.erl
Compiled src/proper_statem.erl
Compiled src/proper_fsm.erl
Compiled src/proper.erl
Compiled src/proper_typeserver.erl
==> stdlib2 (compile)
Compiled src/s2_gen_lattice.erl
Compiled src/s2_util.erl
Compiled src/s2_env.erl
Compiled src/s2_gen_db.erl
Compiled src/s2_export.erl
Compiled src/s2_funs.erl
Compiled src/s2_loop.erl
Compiled src/s2_lists.erl
Compiled src/s2_strats.erl
Compiled src/s2_maps.erl
Compiled src/s2_dot.erl
Compiled src/s2_sh.erl
Compiled src/s2_time.erl
Compiled src/s2_csets.erl
Compiled src/s2_maybe.erl
Compiled src/s2_hex.erl
Compiled src/s2_rand.erl
Compiled src/s2_pn_counters.erl
Compiled src/s2_iolists.erl
Compiled src/s2_procs.erl
Compiled src/s2_fs.erl
Compiled src/s2_atoms.erl
Compiled src/s2_vclocks.erl
Compiled src/s2_par.erl
==> hyper (compile)
Compiled src/hyper_register.erl
Compiled src/hyper_gb.erl
Compiled src/hyper_array.erl
Compiled src/hyper.erl
Compiled src/hyper_binary.erl
Compiled src/hyper_const.erl
Compiled src/hyper_binary_rle.erl
==> chronos (compile)
Compiled src/chronos_command.erl
Compiled src/chronos.erl
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53 (compile)
Compiled src/riak_kv_backend.erl
Compiled src/riak_kv_sweeper.erl
Compiled src/riak_kv_update_hook.erl
Compiled src/riak_kv_test_util.erl
Compiled src/riak_kv_ensemble_backend.erl
Compiled src/raw_link_walker.erl
Compiled src/riak_kv_mrc_sink.erl
Compiled src/riak_kv_w1c_sup.erl
Compiled src/riak_kv_pipe_get.erl
Compiled src/riak_kv_counter.erl
Compiled src/riak_kv_pb_index.erl
Compiled src/riak_object.erl
Compiled src/riak_kv_pb_bucket.erl
Compiled src/riak_kv_sweeper_state.erl
Compiled src/riak_object_json.erl
Compiled src/riak_kv_requests.erl
Compiled src/riak_kv_env.erl
Compiled src/riak_kv_cinfo.erl
Compiled src/riak_kv_exometer_sidejob.erl
Compiled src/riak_kv_pipe_index.erl
Compiled src/riak_kv_exchange_fsm.erl
Compiled src/riak_kv_mapred_json.erl
Compiled src/riak_kv_fold_buffer.erl
Compiled src/riak_kv_hooks.erl
Compiled src/riak_kv_js_sup.erl
Compiled src/riak_kv_wm_preflist.erl
Compiled src/riak_kv_wm_ping.erl
Compiled src/riak_kv_memory_backend.erl
Compiled src/riak_kv_hll.erl
Compiled src/riak_kv_mrc_pipe.erl
Compiled src/riak_kv_bucket.erl
Compiled src/riak_kv_multi_backend.erl
Compiled src/riak_kv_pb_object.erl
Compiled src/riak_kv_mrc_sink_sup.erl
Compiled src/riak_kv_crdt.erl
Compiled src/riak_kv_console.erl
Compiled src/riak_kv_sup.erl
Compiled src/riak_kv_get_core.erl
Compiled src/riak_kv_w1c_worker.erl
Compiled src/riak_kv_vnode_status_mgr.erl
Compiled src/riak_kv_index_fsm_sup.erl
Compiled src/riak_kv_stat.erl
Compiled src/riak_kv_pncounter.erl
Compiled src/riak_kv_js_vm.erl
Compiled src/riak_kv_entropy_info.erl
Compiled src/riak_kv_js_manager.erl
Compiled src/riak_kv_ensemble_console.erl
Compiled src/riak_kv_wm_buckets.erl
Compiled src/riak_core_pb.erl
Compiled src/riak_kv_wm_bucket_type.erl
Compiled src/riak_kv_fsm_timing.erl
Compiled src/riak_client.erl
Compiled src/riak_kv_entropy_manager.erl
Compiled src/riak_kv_buckets_fsm_sup.erl
Compiled src/riak_kv_gcounter.erl
Compiled src/riak_kv_wm_stats.erl
Compiled src/riak_kv_wm_object.erl
Compiled src/riak_kv_mapreduce.erl
Compiled src/riak_kv_worker.erl
Compiled src/riak_kv_yessir_backend.erl
Compiled src/riak_kv_wm_mapred.erl
Compiled src/riak_kv_noop_update_hook.erl
Compiled src/riak_kv_http_cache.erl
Compiled src/riak_kv_mapred_filters.erl
Compiled src/riak_kv_pb_bucket_key_apl.erl
Compiled src/riak_kv_w_reduce.erl
Compiled src/riak_kv_multi_prefix_backend.erl
Compiled src/riak_kv_stat_worker.erl
Compiled src/riak_kv_wm_index.erl
Compiled src/riak_kv_put_core.erl
Compiled src/sms.erl
Compiled src/riak_kv_encoding_migrate.erl
Compiled src/riak_kv_mapred_term.erl
Compiled src/riak_kv_delete.erl
Compiled src/riak_kv_reformat.erl
Compiled src/riak_kv_eleveldb_backend.erl
Compiled src/riak_kv_legacy_vnode.erl
Compiled src/riak_kv_util.erl
Compiled src/riak_kv_pb_csbucket.erl
Compiled src/riak_kv_pb_counter.erl
Compiled src/riak_kv_cli_registry.erl
Compiled src/riak_kv_pb_mapred.erl
Compiled src/json_pp.erl
Compiled src/riak_kv_wm_crdt.erl
Compiled src/riak_kv_wm_counter.erl
Compiled src/riak_kv_pb_crdt.erl
Compiled src/riak_kv_keys_fsm_sup.erl
Compiled src/riak_kv_2i_aae.erl
Compiled src/riak_kv_buckets_fsm.erl
Compiled src/riak_kv_object_ttl.erl
Compiled src/riak_kv_index_fsm.erl
Compiled src/riak_kv_app.erl
Compiled src/riak_kv_bitcask_backend.erl
Compiled src/riak_index.erl
Compiled src/riak_kv_ensembles.erl
Compiled src/riak_kv_wm_props.erl
Compiled src/riak_kv_wm_link_walker.erl
Compiled src/riak_kv_coverage_filter.erl
Compiled src/riak_kv_stat_bc.erl
Compiled src/riak_kv_index_hashtree.erl
Compiled src/riak_kv_pipe_listkeys.erl
Compiled src/riak_kv_sweeper_cli.erl
Compiled src/riak.erl
Compiled src/riak_kv_status.erl
Compiled src/riak_kv_web.erl
Compiled src/riak_kv_backup.erl
Compiled src/riak_kv_keys_fsm.erl
Compiled src/riak_kv_sweeper_fold.erl
Compiled src/riak_kv_get_fsm.erl
Compiled src/riak_kv_put_fsm.erl
Compiled src/riak_kv_mrc_map.erl
Compiled src/riak_kv_wm_utils.erl
Compiled src/riak_kv_crdt_json.erl
Compiled src/riak_kv_delete_sup.erl
Compiled priv/tracers/tracer_func_args.erl
Compiled src/riak_kv_wm_keylist.erl
Compiled priv/tracers/tracer_accumulating_time.erl
Compiled priv/tracers/tracer_gc_latency.erl
Compiled priv/tracers/tracer_large4.erl
Compiled priv/tracers/tracer_backend_latency.erl
Compiled priv/tracers/tracer_fsm_init.erl
Compiled priv/tracers/tracer_eleveldb_put_size.erl
Compiled src/riak_kv_vnode.erl
Compiled priv/tracers/tracer_timeit.erl
Compiled priv/tracers/tracer_read_bin_trace_file.erl
Compiled priv/tracers/tracer_latency_histogram.erl
Compiled priv/tracers/tracer_merge_and_and_handoff.erl





✅ MAKE_TEST

Started at: 2017-04-04 00:39
Duration: 1151 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53; make test




  
  
... Snipped 484 lines ...
rue,false}
0.004% {true,true,false,true,false,false,false,false,false,true,false}
0.004% {true,true,error,true,false,false,false,true,false,true,true}
0.004% {true,true,error,true,false,false,false,false,true,true,true}
�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)....................................................................................................(x1000)...........(x100)..(x10)...(x1).....
Time limit reached: 10.0 seconds.

OK, passed 22335 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m00:50:44.919 [info] Application lager started on node nonode@nohost
00:50:45.006 [info] Starting reporters with []
00:50:45.006 [info] Application exometer_core started on node nonode@nohost
....................................................................................................(x10)....................................................................................................(x100)....................................................................................................(x1000)........................(x100)....(x1).........
Time limit reached: 60.0 seconds.

OK, passed 35509 tests
�[0;32m.�[0m00:51:45.252 [info] Application exometer_core exited with reason: stopped
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)..........
OK, passed 200 tests
�[0;32m.�[0mtest/rest_url_encoding_test.erl:43:<0.2161.0>: Skipping rest_url_encoding_test

test/rest_url_encoding_test.erl:43:<0.2161.0>: Skipping rest_url_encoding_test

�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m00:53:58.741 [info] Application lager started on node putfsmeqc694004292438@thumbs01
00:53:58.742 [info] Starting reporters with []
00:53:58.742 [info] Application exometer_core started on node putfsmeqc694004292438@thumbs01
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)................(x10)...(x1).......
Time limit reached: 60.0 seconds.

OK, passed 2737 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)..........................................................................................
OK, passed 1000 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
....................................................................................................(x10)....................................................................................................(x100)....................................................................................................(x1000).(x10)....(x1).....
Time limit reached: 50.0 seconds.

OK, passed 12145 tests

29.263% {kv679_eqc,put,5}
23.664% {kv679_eqc,forget,2}
23.543% {kv679_eqc,get,2}
23.530% {kv679_eqc,replicate,3}
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)..........................................................................................
OK, passed 1000 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)....................................................................................................(x1000)...(x100).......(x10)..(x1).
Time limit reached: 10.0 seconds.

OK, passed 14821 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)................................(x10)....(x1)......
Time limit reached: 5.0 seconds.

OK, passed 4346 tests
�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)...............(x10)....(x1).........
Time limit reached: 5.0 seconds.

OK, passed 2649 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)..........................................................................................
OK, passed 1000 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100).............................(x10)...(x1)..
Time limit reached: 60.0 seconds.

OK, passed 4032 tests

sibling_count
25.37% 0
14.31% 1
13.99% 2
11.58% 3
9.55% 4
6.77% 5
5.46% 6
3.77% 7
2.06% 8
1.93% 9
1.24% 10
0.87% 11
0.72% 12
0.62% 13
0.30% 16
0.30% 14
0.25% 17
0.25% 15
0.15% 18
0.12% 21
0.12% 19
0.07% 20
0.05% 24
0.05% 22
0.02% 28
0.02% 27
0.02% 26
0.02% 25

17.804% {riak_object_dvv_statem,get,4}
17.731% {riak_object_dvv_statem,replicate,4}
17.694% {riak_object_dvv_statem,put,4}
17.625% {riak_object_dvv_statem,get_put,7}
13.634% {riak_object_dvv_statem,update,5}
9.608% {riak_object_dvv_statem,make_ring,2}
5.903% {riak_object_dvv_statem,set_nr,1}
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0mtest/riak_kv_schema_tests.erl:432:<0.2161.0>: Supporting riak_core components not present, skipping job_class_enabled test
�[0;32m.�[0m

Top 10 slowest tests (894.180 seconds, 80.0% of total time):
  riak_kv_eleveldb_backend:eqc_test_/0:893
�[0;31m    120.183 seconds�[0m
  riak_kv_memory_backend:eqc_test_/0:850
�[0;31m    120.160 seconds�[0m
  riak_kv_multi_backend:eqc_test_/0:625
�[0;31m    120.092 seconds�[0m
  riak_kv_bitcask_backend:eqc_test_/0:965
�[0;31m    120.071 seconds�[0m
  riak_kv_multi_backend:eqc_test_/0:623
�[0;31m    120.005 seconds�[0m
  riak_kv_hll:eqc_value_test_/0:313
�[0;31m    63.581 seconds�[0m
  put_fsm_eqc:eqc_test_/0:84
�[0;31m    60.047 seconds�[0m
  riak_object_dvv_statem:eqc_test_/0:72
�[0;31m    60.011 seconds�[0m
  get_fsm_eqc:eqc_test_/0:50
�[0;31m    60.002 seconds�[0m
  kv679_eqc:eqc_test_/0:64
�[0;31m    50.028 seconds�[0m

Finished in 1117.305 seconds
�[0;32m332 tests, 0 failures
�[0m




✅ MAKE_XREF

Started at: 2017-04-04 00:58
Duration: 11 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53; make xref




  ./rebar get-deps
==> sidejob (get-deps)
==> erlang_js (get-deps)
==> meck (get-deps)
==> getopt (get-deps)
==> goldrush (get-deps)
==> lager (get-deps)
WARN:  Missing plugins: [rebar3_hex]
==> neotoma (get-deps)
==> cuttlefish (get-deps)
==> bitcask (get-deps)
==> eper (get-deps)
==> edown (get-deps)
==> sext (get-deps)
==> poolboy (get-deps)
==> basho_stats (get-deps)
==> riak_sysmon (get-deps)
==> eleveldb (get-deps)
==> riak_ensemble (get-deps)
==> pbkdf2 (get-deps)
==> parse_trans (get-deps)
==> bear (get-deps)
==> folsom (get-deps)
==> setup (get-deps)
==> src (get-deps)
==> exometer_core (get-deps)
==> clique (get-deps)
==> riak_core (get-deps)
==> riak_pipe (get-deps)
==> riak_dt (get-deps)
==> eunit_formatters (get-deps)
==> hamcrest (get-deps)
==> riak_pb (get-deps)
==> mochiweb (get-deps)
==> webmachine (get-deps)
==> riak_api (get-deps)
==> proper (get-deps)
==> stdlib2 (get-deps)
==> hyper (get-deps)
==> chronos (get-deps)
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53 (get-deps)
./rebar compile
==> sidejob (compile)
==> erlang_js (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/erlang_js'
cd c_src; make
make[2]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/erlang_js/c_src'
make[2]: Nothing to be done for `js'.
make[2]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/erlang_js/c_src'
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/erlang_js'
==> meck (compile)
==> getopt (compile)
==> goldrush (compile)
==> lager (compile)
WARN:  Missing plugins: [rebar3_hex]
==> neotoma (compile)
==> cuttlefish (compile)
==> getopt (escriptize)
==> goldrush (escriptize)
==> lager (escriptize)
==> neotoma (escriptize)
==> cuttlefish (escriptize)
==> bitcask (compile)
==> eper (compile)
==> edown (compile)
==> sext (compile)
==> poolboy (compile)
==> basho_stats (compile)
==> riak_sysmon (compile)
==> eleveldb (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/eleveldb/c_src/leveldb'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/eleveldb/c_src/leveldb'
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/eleveldb/c_src/leveldb'
make[1]: Nothing to be done for `tools'.
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/eleveldb/c_src/leveldb'
==> riak_ensemble (compile)
==> pbkdf2 (compile)
==> parse_trans (compile)
==> bear (compile)
==> folsom (compile)
==> setup (compile)
==> edown (escriptize)
==> setup (escriptize)
==> src (compile)
==> exometer_core (compile)
==> clique (compile)
==> riak_core (compile)
==> riak_pipe (compile)
==> riak_dt (compile)
==> eunit_formatters (compile)
==> hamcrest (compile)
==> hamcrest (post_compile)
==> riak_pb (compile)
==> mochiweb (compile)
==> webmachine (compile)
==> riak_api (compile)
==> proper (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/proper'
make[1]: `include/compile_flags.hrl' is up to date.
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/proper'
==> stdlib2 (compile)
==> hyper (compile)
==> chronos (compile)
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53 (compile)
./rebar xref skip_deps=true
WARN:  Missing plugins: [rebar3_hex]
WARN:  Ignoring sub_dirs for /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53/deps/exometer_core
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53 (xref)





⛔ MAKE_DIALYZER

Started at: 2017-04-04 00:59
Duration: 89 seconds.
Result: ERROR
Message: Step make_dialyzer Failed!
Exit Code: 2

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53; make dialyzer




  
  
... Snipped 586 lines ...
 filelib:is_regular/1
  filelib:wildcard/1
  filelib:wildcard/2
  filename:absname/1
  filename:append/2
  filename:basename/1
  filename:basename/2
  filename:dirname/1
  filename:extension/1
  filename:join/1
  filename:join/2
  filename:rootname/2
  filename:split/1
  gb_sets:add/2
  gb_sets:add_element/2
  gb_sets:balance/1
  gb_sets:del_element/2
  gb_sets:delete/2
  gb_sets:delete_any/2
  gb_sets:difference/2
  gb_sets:empty/0
  gb_sets:filter/2
  gb_sets:fold/3
  gb_sets:from_list/1
  gb_sets:from_ordset/1
  gb_sets:insert/2
  gb_sets:intersection/1
  gb_sets:intersection/2
  gb_sets:is_disjoint/2
  gb_sets:is_element/2
  gb_sets:is_empty/1
  gb_sets:is_member/2
  gb_sets:is_set/1
  gb_sets:is_subset/2
  gb_sets:iterator/1
  gb_sets:largest/1
  gb_sets:new/0
  gb_sets:next/1
  gb_sets:singleton/1
  gb_sets:size/1
  gb_sets:smallest/1
  gb_sets:subtract/2
  gb_sets:take_largest/1
  gb_sets:take_smallest/1
  gb_sets:to_list/1
  gb_sets:union/1
  gb_sets:union/2
  gb_trees:balance/1
  gb_trees:delete/2
  gb_trees:delete_any/2
  gb_trees:empty/0
  gb_trees:enter/3
  gb_trees:from_orddict/1
  gb_trees:get/2
  gb_trees:insert/3
  gb_trees:is_defined/2
  gb_trees:is_empty/1
  gb_trees:iterator/1
  gb_trees:keys/1
  gb_trees:largest/1
  gb_trees:lookup/2
  gb_trees:map/2
  gb_trees:next/1
  gb_trees:size/1
  gb_trees:smallest/1
  gb_trees:take_largest/1
  gb_trees:take_smallest/1
  gb_trees:to_list/1
  gb_trees:update/3
  gb_trees:values/1
  gen:call/3
  gen:call/4
  gen:reply/2
  gen:start/5
  gen:start/6
  gen_event:add_handler/3
  gen_event:add_sup_handler/3
  gen_event:call/3
  gen_event:call/4
  gen_event:delete_handler/3
  gen_event:notify/2
  gen_event:start_link/1
  gen_event:sync_notify/2
  gen_event:which_handlers/1
  gen_fsm:cancel_timer/1
  gen_fsm:reply/2
  gen_fsm:send_all_state_event/2
  gen_fsm:send_event/2
  gen_fsm:send_event_after/2
  gen_fsm:start/3
  gen_fsm:start_link/3
  gen_fsm:start_timer/2
  gen_fsm:sync_send_all_state_event/2
  gen_fsm:sync_send_all_state_event/3
  gen_fsm:sync_send_event/2
  gen_fsm:sync_send_event/3
  gen_server:abcast/3
  gen_server:call/2
  gen_server:call/3
  gen_server:cast/2
  gen_server:reply/2
  gen_server:start/3
  gen_server:start/4
  gen_server:start_link/3
  gen_server:start_link/4
  gen_tcp:accept/1
  gen_tcp:accept/2
  gen_tcp:close/1
  gen_tcp:connect/4
  gen_tcp:controlling_process/2
  gen_tcp:listen/2
  gen_tcp:recv/3
  gen_tcp:send/2
  gen_udp:close/1
  gen_udp:open/2
  gen_udp:send/4
  global:send/2
  global:unregister_name/1
  global:whereis_name/1
  gtknode:cmd/2
  gtknode:start/1
  httpc:request/4
  httpd_util:convert_request_date/1
  httpd_util:day/1
  httpd_util:month/1
  httpd_util:reason_phrase/1
  httpd_util:rfc1123_date/0
  httpd_util:rfc1123_date/1
  igor:parse_transform/2
  inet:getaddr/2
  inet:gethostbyaddr/1
  inet:gethostbyname/1
  inet:gethostname/0
  inet:getopts/2
  inet:getstat/1
  inet:getstat/2
  inet:parse_address/1
  inet:peername/1
  inet:port/1
  inet:setopts/2
  inet:sockname/1
  inet_db:register_socket/2
  inet_parse:address/1
  inet_parse:ntoa/1
  inets:start/0
  init:archive_extension/0
  init:get_argument/1
  init:get_status/0
  init:script_id/0
  init:stop/0
  init:stop/1
  io:columns/0
  io:format/1
  io:format/2
  io:format/3
  io:fwrite/1
  io:fwrite/2
  io:fwrite/3
  io:nl/0
  io:put_chars/1
  io:put_chars/2
  io:write/1
  io_lib:deep_char_list/1
  io_lib:format/2
  io_lib:fread/2
  io_lib:fwrite/2
  io_lib:printable_list/1
  io_lib:write/1
  io_lib:write/2
  io_lib:write_atom/1
  io_lib_format:fwrite_g/1
  io_lib_pretty:print/6
  lager_default_tracer:info/1
  lib:format_exception/6
  lists:append/1
  lists:concat/1
  lists:duplicate/2
  lists:flatlength/1
  lists:flatten/2
  lists:keystore/4
  lists:keytake/3
  lists:merge/1
  lists:prefix/2
  lists:seq/2
  lists:seq/3
  lists:sublist/2
  lists:sublist/3
  lists:sum/1
  lists:ukeymerge/3
  lists:ukeysort/2
  lists:umerge/2
  maps:to_list/1
  math:cos/1
  math:exp/1
  math:log/1
  math:log10/1
  math:pi/0
  math:pow/2
  math:sqrt/1
  memsup:get_system_memory_data/0
  mustache:render/2
  net_adm:names/1
  net_adm:ping/1
  net_kernel:get_net_ticktime/0
  net_kernel:hidden_connect_node/1
  net_kernel:monitor_nodes/1
  net_kernel:monitor_nodes/2
  net_kernel:set_net_ticktime/1
  net_kernel:start/1
  orddict:append/3
  orddict:append_list/3
  orddict:erase/2
  orddict:fetch/2
  orddict:fetch_keys/1
  orddict:filter/2
  orddict:find/2
  orddict:fold/3
  orddict:from_list/1
  orddict:is_key/2
  orddict:map/2
  orddict:merge/3
  orddict:new/0
  orddict:size/1
  orddict:store/3
  orddict:to_list/1
  orddict:update/3
  orddict:update/4
  orddict:update_counter/3
  ordsets:add_element/2
  ordsets:del_element/2
  ordsets:filter/2
  ordsets:fold/3
  ordsets:from_list/1
  ordsets:intersection/1
  ordsets:intersection/2
  ordsets:is_disjoint/2
  ordsets:is_element/2
  ordsets:is_set/1
  ordsets:is_subset/2
  ordsets:new/0
  ordsets:size/1
  ordsets:subtract/2
  ordsets:to_list/1
  ordsets:union/1
  ordsets:union/2
  os:cmd/1
  os:getenv/1
  os:getpid/0
  os:timestamp/0
  os:type/0
  packages:last/1
  packages:strip_last/1
  prim_file:list_dir/2
  prim_file:read_file_info/1
  prim_file:write_file_info/2
  prim_inet:async_accept/2
  prim_inet:getstatus/1
  prim_inet:gettype/1
  proc_lib:hibernate/3
  proc_lib:init_ack/2
  proc_lib:spawn/1
  proc_lib:spawn_link/1
  proc_lib:spawn_link/3
  proc_lib:start_link/3
  proc_lib:translate_initial_call/1
  proplists:delete/2
  proplists:get_all_values/2
  proplists:get_bool/2
  proplists:get_keys/1
  proplists:get_value/2
  proplists:get_value/3
  proplists:is_defined/2
  proplists:lookup/2
  proplists:substitute_aliases/2
  proplists:unfold/1
  pubkey_cert:extensions_list/1
  pubkey_cert:select_extension/2
  pubkey_cert_records:transform/2
  public_key:pem_decode/1
  public_key:pem_entry_decode/1
  public_key:pkix_crls_validate/3
  public_key:pkix_decode_cert/2
  public_key:pkix_encode/3
  public_key:pkix_is_self_signed/1
  public_key:pkix_normalize_name/1
  queue:cons/2
  queue:daeh/1
  queue:drop/1
  queue:drop_r/1
  queue:filter/2
  queue:from_list/1
  queue:get/1
  queue:get_r/1
  queue:head/1
  queue:in/2
  queue:in_r/2
  queue:init/1
  queue:is_empty/1
  queue:is_queue/1
  queue:join/2
  queue:last/1
  queue:len/1
  queue:liat/1
  queue:member/2
  queue:new/0
  queue:out/1
  queue:out_r/1
  queue:peek/1
  queue:peek_r/1
  queue:reverse/1
  queue:snoc/2
  queue:split/2
  queue:tail/1
  queue:to_list/1
  random:seed/0
  random:seed/1
  random:seed/3
  random:seed0/0
  random:uniform/0
  random:uniform/1
  random:uniform_s/2
  re:compile/1
  re:compile/2
  re:replace/4
  re:run/2
  re:run/3
  re:split/2
  re:split/3
  rebar_config:get_local/3
  rebar_mustache:render/2
  rebar_rel_utils:get_target_dir/2
  rebar_rel_utils:is_rel_dir/0
  rebar_rel_utils:load_config/2
  release_handler:eval_appup_script/4
  rpc:call/4
  rpc:call/5
  rpc:eval_everywhere/3
  rpc:multicall/3
  rpc:multicall/4
  rpc:multicall/5
  sets:add_element/2
  sets:del_element/2
  sets:filter/2
  sets:fold/3
  sets:from_list/1
  sets:intersection/1
  sets:intersection/2
  sets:is_disjoint/2
  sets:is_element/2
  sets:is_set/1
  sets:is_subset/2
  sets:new/0
  sets:size/1
  sets:subtract/2
  sets:to_list/1
  sets:union/1
  sets:union/2
  ssl:close/1
  ssl:connect/2
  ssl:connect/4
  ssl:listen/2
  ssl:peercert/1
  ssl:peername/1
  ssl:recv/3
  ssl:send/2
  ssl:setopts/2
  ssl:sockname/1
  ssl:ssl_accept/1
  ssl:ssl_accept/2
  ssl:ssl_accept/3
  ssl:transport_accept/1
  ssl_cipher:openssl_suite/1
  ssl_cipher:openssl_suite_name/1
  string:centre/2
  string:centre/3
  string:chr/2
  string:cspan/2
  string:equal/2
  string:join/2
  string:left/2
  string:left/3
  string:len/1
  string:rchr/2
  string:right/2
  string:right/3
  string:str/2
  string:strip/1
  string:strip/2
  string:strip/3
  string:sub_string/2
  string:sub_string/3
  string:substr/2
  string:substr/3
  string:to_float/1
  string:to_integer/1
  string:to_lower/1
  string:tokens/2
  supervisor:count_children/1
  supervisor:delete_child/2
  supervisor:start_child/2
  supervisor:start_link/2
  supervisor:start_link/3
  supervisor:terminate_child/2
  supervisor:which_children/1
  sys:debug_options/1
  sys:get_debug/3
  sys:handle_debug/4
  sys:handle_system_msg/6
  sys:print_log/1
  systools:make_script/2
  timer:apply_after/4
  timer:apply_interval/4
  timer:cancel/1
  timer:minutes/1
  timer:now_diff/2
  timer:seconds/1
  timer:send_after/2
  timer:send_interval/2
  timer:sleep/1
  timer:tc/1
  timer:tc/2
  timer:tc/3
  unicode:characters_to_binary/1
  unicode:characters_to_binary/3
  unicode:characters_to_list/1
  unicode:characters_to_list/2
  xmerl:export_simple/3
  xmerl:export_simple_content/2
  xmerl_html:'#element#'/5
  xmerl_lib:end_tag/1
  xmerl_lib:expand_element/1
  xmerl_lib:find_attribute/2
  xmerl_lib:mapxml/2
  xmerl_lib:start_tag/2
  xmerl_ucs:from_utf16be/1
  xmerl_ucs:from_utf8/1
  xmerl_ucs:to_utf8/1
  zlib:gunzip/1
  zlib:gzip/1
Unknown types:
  calendar:datetime/0
  compile:option/0
  erl_parse:abstract_clause/0
  erl_parse:abstract_expr/0
  erl_parse:abstract_form/0
  erl_scan:line/0
  erl_syntax:syntaxTree/0
  erlang:timestamp/0
  ets:comp_match_spec/0
  ets:match_spec/0
  ets:tab/0
  ets:tid/0
  file:date_time/0
  file:fd/0
  file:filename/0
  file:io_device/0
  file:name/0
  file:name_all/0
  file:posix/0
  gen_tcp:listen_option/0
  gen_tcp:option/0
  inet:hostname/0
  inet:ip4_address/0
  inet:ip6_address/0
  inet:ip_address/0
  inet:socket/0
  io:device/0
  io:format/0
  meck_history:history_record/0
  orddict:orddict/0
  ordsets:ordset/1
  proplists:property/0
  proplists:proplist/0
  re:mp/0
  ssl:ssl_option/0
  ssl:sslsocket/0
  supervisor:child_spec/0
  supervisor:strategy/0
  timer:tref/0
  unicode:charlist/0
 done in 0m45.61s
done (passed successfully)
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.ceb5d53 (dialyzer)
  riak_object:object/0
make: *** [dialyzer-run] Error 1





⬜ 0 of 2 Code reviews from organization basho

@russelldb
Copy link
Contributor Author

@JeetKunDoug Fixed the failing eunit. fsm_qc_vnode uses riak_kv_vnode:put_merge. That

%% TODO: The riak_kv_vnode code should be refactored to expose this function
%% so we are close to testing the real thing.

is looking more and more pertinent as time goes on :D

@thumbot
Copy link

thumbot commented Apr 5, 2017

rdb-bet365/gh679-dl-replicate e9bb0b4 ➡️ develop 3673dce ✅ completed
Looks good! 👍
✅ MERGE

Started at: 2017-04-05 09:20
Duration: 1 seconds.
Result: OK
Message: Merge Success: rdb-bet365/gh679-dl-replicate e9bb0b4 onto target branch: develop 3673dce
Exit Code: OK

📄







  Auto-merging src/riak_kv_vnode.erl
Merge made by the 'recursive' strategy.
 src/riak_kv_vnode.erl           | 246 ++++++++++++--------
 src/riak_object.erl             |  24 +-
 test/fsm_eqc_vnode.erl          |   6 +-
 test/kv679_eqc.erl              | 484 ++++++++++++++++++++++++++++++++++++++++
 test/kv679_fb_byz.eqc           | Bin 0 -> 637 bytes
 test/kv679_fb_byz2.eqc          | Bin 0 -> 669 bytes
 test/kv679_fb_byz3.eqc          | Bin 0 -> 879 bytes
 test/riak_object_dvv_statem.erl |   4 +-
 8 files changed, 662 insertions(+), 102 deletions(-)
 create mode 100644 test/kv679_eqc.erl
 create mode 100644 test/kv679_fb_byz.eqc
 create mode 100644 test/kv679_fb_byz2.eqc
 create mode 100644 test/kv679_fb_byz3.eqc




✅ MAKE_CLEAN

Started at: 2017-04-05 09:20
Duration: 0 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4; make clean




  ./rebar clean
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4 (clean)
rm -rf test.*-temp-data





✅ MAKE_DEPS

Started at: 2017-04-05 09:20
Duration: 32 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4; make deps




  ./rebar get-deps
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4 (get-deps)
Pulling sidejob from {git,"https://github.com/basho/sidejob.git",
                          {tag,"2.0.1"}}
Cloning into 'sidejob'...
Pulling erlang_js from {git,"https://github.com/basho/erlang_js.git",
                            {tag,"1.3.0"}}
Cloning into 'erlang_js'...
Pulling bitcask from {git,"https://github.com/basho/bitcask.git",
                          {tag,"2.0.8"}}
Cloning into 'bitcask'...
Pulling eper from {git,"https://github.com/basho/eper.git",{tag,"0.78"}}
Cloning into 'eper'...
Pulling sext from {git,"https://github.com/basho/sext.git",{tag,"1.1p3"}}
Cloning into 'sext'...
Pulling riak_pipe from {git,"https://github.com/basho/riak_pipe.git",
                            {tag,"2.1.6"}}
Cloning into 'riak_pipe'...
Pulling riak_dt from {git,"https://github.com/basho/riak_dt.git",
                          {tag,"2.1.4"}}
Cloning into 'riak_dt'...
Pulling eunit_formatters from {git,"https://github.com/basho/eunit_formatters",
                                   {tag,"0.1.2"}}
Cloning into 'eunit_formatters'...
Pulling riak_api from {git,"https://github.com/basho/riak_api.git",
                           {tag,"2.1.7"}}
Cloning into 'riak_api'...
Pulling hyper from {git,"https://github.com/basho/hyper",{tag,"1.0.0"}}
Cloning into 'hyper'...
Pulling clique from {git,"https://github.com/basho/clique.git",{tag,"0.3.9"}}
Cloning into 'clique'...
Pulling chronos from {git,"https://github.com/basho/chronos.git",
                          {tag,"0.5.1"}}
Cloning into 'chronos'...
==> sidejob (get-deps)
==> erlang_js (get-deps)
==> bitcask (get-deps)
Pulling meck from {git,"https://github.com/basho/meck.git",{tag,"0.8.2"}}
Cloning into 'meck'...
Pulling cuttlefish from {git,"https://github.com/basho/cuttlefish.git",
                             {tag,"2.0.11"}}
Cloning into 'cuttlefish'...
==> meck (get-deps)
==> cuttlefish (get-deps)
Pulling getopt from {git,"https://github.com/basho/getopt.git",{tag,"v0.8.2"}}
Cloning into 'getopt'...
Pulling lager from {git,"https://github.com/basho/lager.git",{tag,"3.2.4"}}
Cloning into 'lager'...
Pulling neotoma from {git,"https://github.com/basho/neotoma.git",
                          {tag,"1.7.4"}}
Cloning into 'neotoma'...
==> getopt (get-deps)
==> lager (get-deps)
Pulling goldrush from {git,"https://github.com/basho/goldrush.git",
                           {tag,"0.1.9"}}
Cloning into 'goldrush'...
==> goldrush (get-deps)
WARN:  Missing plugins: [rebar3_hex]
==> neotoma (get-deps)
==> eper (get-deps)
==> sext (get-deps)
Pulling edown from {git,"git://github.com/uwiger/edown.git",{tag,"0.5"}}
Cloning into 'edown'...
==> edown (get-deps)
==> riak_pipe (get-deps)
Pulling riak_core from {git,"https://github.com/basho/riak_core.git",
                            {tag,"2.1.10"}}
Cloning into 'riak_core'...
==> clique (get-deps)
==> riak_core (get-deps)
Pulling poolboy from {git,"git://github.com/basho/poolboy.git",
                          {tag,"0.8.1p3"}}
Cloning into 'poolboy'...
Pulling basho_stats from {git,"git://github.com/basho/basho_stats.git",
                              {tag,"1.0.3"}}
Cloning into 'basho_stats'...
Pulling riak_sysmon from {git,"https://github.com/basho/riak_sysmon.git",
                              {tag,"2.1.5"}}
Cloning into 'riak_sysmon'...
Pulling eleveldb from {git,"git://github.com/basho/eleveldb.git",
                           {tag,"2.0.34"}}
Cloning into 'eleveldb'...
Pulling riak_ensemble from {git,"https://github.com/basho/riak_ensemble",
                                {tag,"2.1.8"}}
Cloning into 'riak_ensemble'...
Pulling pbkdf2 from {git,"git://github.com/basho/erlang-pbkdf2.git",
                         {tag,"2.0.0"}}
Cloning into 'pbkdf2'...
Pulling exometer_core from {git,"git://github.com/basho/exometer_core.git",
                                {tag,"1.0.0-basho9"}}
Cloning into 'exometer_core'...
==> poolboy (get-deps)
==> basho_stats (get-deps)
==> riak_sysmon (get-deps)
==> eleveldb (get-deps)
Cloning into 'leveldb'...
Note: checking out '2.0.34'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at d6507aa... merge mv-hot-backup2 bug fix to 2.0
==> riak_ensemble (get-deps)
==> pbkdf2 (get-deps)
==> src (get-deps)
==> exometer_core (get-deps)
Pulling parse_trans from {git,"git://github.com/basho/parse_trans.git",
                              {tag,"2.9.2p1"}}
Cloning into 'parse_trans'...
Pulling folsom from {git,"git://github.com/basho/folsom.git",{tag,"0.7.4p5"}}
Cloning into 'folsom'...
Pulling setup from {git,"git://github.com/basho/setup.git",{tag,"1.4"}}
Cloning into 'setup'...
==> parse_trans (get-deps)
==> folsom (get-deps)
Pulling bear from {git,"git://github.com/basho/bear.git",{tag,"0.1.3p1"}}
Cloning into 'bear'...
==> bear (get-deps)
==> setup (get-deps)
==> riak_dt (get-deps)
==> eunit_formatters (get-deps)
==> riak_api (get-deps)
Pulling riak_pb from {git,"https://github.com/basho/riak_pb.git",
                          {tag,"2.3.0.0"}}
Cloning into 'riak_pb'...
Pulling webmachine from {git,"https://github.com/basho/webmachine.git",
                             {tag,"1.10.8-basho1"}}
Cloning into 'webmachine'...
==> riak_pb (get-deps)
Pulling hamcrest from {git,"https://github.com/basho/hamcrest-erlang.git",
                           {tag,"0.3.0-basho"}}
Cloning into 'hamcrest'...
==> hamcrest (get-deps)
==> webmachine (get-deps)
Pulling mochiweb from {git,"git://github.com/basho/mochiweb.git",
                           {tag,"v2.9.0p2"}}
Cloning into 'mochiweb'...
==> mochiweb (get-deps)
==> hyper (get-deps)
Pulling proper from {git,"https://github.com/basho/proper.git",{tag,"v1.2p1"}}
Cloning into 'proper'...
Pulling stdlib2 from {git,"https://github.com/basho/stdlib2.git",
                          {tag,"0.0.1"}}
Cloning into 'stdlib2'...
==> proper (get-deps)
==> stdlib2 (get-deps)
==> chronos (get-deps)





✅ MAKE_COMPILE

Started at: 2017-04-05 09:21
Duration: 81 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4; make compile




  
  
... Snipped 1794 lines ...
src/riak_pb_messages.erl
Compiled src/riak_pb_dt_codec.erl
Compiled src/riak_dt_pb.erl
Compiled src/riak_pb.erl
Compiled src/riak_ttb_codec.erl
Compiled src/riak_yokozuna_pb.erl
Compiled src/riak_pb_ts_codec.erl
Compiled src/riak_ts_pb.erl
Compiled src/riak_search_pb.erl
Compiled src/riak_kv_pb.erl
==> mochiweb (compile)
Compiled src/mochiweb_response.erl
Compiled src/mochihex.erl
Compiled src/mochiglobal.erl
Compiled src/mochiweb_sup.erl
Compiled src/mochiweb_base64url.erl
Compiled src/mochifmt_records.erl
Compiled src/mochinum.erl
Compiled src/mochiweb_mime.erl
Compiled src/mochiweb_util.erl
Compiled src/mochiweb_headers.erl
Compiled src/mochiweb_echo.erl
Compiled src/mochiutf8.erl
Compiled src/mochiweb_skel.erl
Compiled src/mochiweb_multipart.erl
Compiled src/mochilists.erl
Compiled src/mochiweb_app.erl
Compiled src/mochiweb_session.erl
Compiled src/mochiweb_http.erl
Compiled src/mochiweb_request.erl
Compiled src/mochilogfile2.erl
Compiled src/mochijson2.erl
Compiled src/mochitemp.erl
Compiled src/mochiweb_acceptor.erl
Compiled src/mochiweb.erl
Compiled src/mochiweb_cookies.erl
Compiled src/mochiweb_cover.erl
Compiled src/mochiweb_socket.erl
Compiled src/mochifmt_std.erl
Compiled src/mochijson.erl
Compiled src/mochiweb_websocket.erl
Compiled src/mochiweb_html.erl
Compiled src/mochiweb_io.erl
Compiled src/mochiweb_socket_server.erl
Compiled src/mochifmt.erl
Compiled src/reloader.erl
Compiled src/mochiweb_charref.erl
==> webmachine (compile)
Compiled src/webmachine_error.erl
Compiled src/webmachine_logger_watcher_sup.erl
Compiled src/webmachine_perf_log_handler.erl
Compiled src/webmachine_log.erl
Compiled src/webmachine_error_handler.erl
Compiled src/webmachine_util.erl
Compiled src/webmachine_deps.erl
Compiled src/webmachine_error_log_handler.erl
Compiled src/webmachine_sup.erl
Compiled src/webmachine_dispatcher.erl
Compiled src/webmachine_app.erl
Compiled src/webmachine_decision_core.erl
Compiled src/webmachine_request.erl
Compiled src/webmachine_multipart.erl
Compiled src/wrq.erl
Compiled src/webmachine.erl
Compiled src/webmachine_logger_watcher.erl
Compiled src/webmachine_router.erl
Compiled src/webmachine_access_log_handler.erl
Compiled src/webmachine_resource.erl
Compiled src/wmtrace_resource.erl
Compiled src/webmachine_mochiweb.erl
==> riak_api (compile)
Compiled src/riak_api_pb_service.erl
Compiled src/riak_api_pb_frame.erl
Compiled src/riak_api_stat.erl
Compiled src/riak_api_web_security.erl
Compiled src/riak_api_web.erl
Compiled src/riak_api_sup.erl
Compiled src/riak_api_pb_listener.erl
Compiled src/riak_api_pb_registration_helper.erl
Compiled src/riak_api_app.erl
Compiled src/riak_core_pb_bucket_type.erl
Compiled src/riak_core_pb_bucket.erl
Compiled src/riak_api_pb_sup.erl
Compiled src/riak_api_basic_pb_service.erl
Compiled src/riak_api_pb_registrar.erl
Compiled src/riak_api_wm_urlmap.erl
Compiled src/riak_api_ssl.erl
Compiled src/riak_api_pb_server.erl
==> proper (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/proper'
./write_compile_flags include/compile_flags.hrl
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/proper'
Compiled src/strip_types.erl
Compiled src/vararg.erl
src/proper_types.erl:342: Warning: missing specification for function from_binary/1
src/proper_types.erl:467: Warning: missing specification for function unwrap/1
/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/proper/src/proper_types.erl:342: Warning: missing specification for function from_binary/1
/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/proper/src/proper_types.erl:467: Warning: missing specification for function unwrap/1
Compiled src/proper_types.erl
Compiled src/proper_dict.erl
Compiled src/proper_queue.erl
Compiled src/proper_unicode.erl
Compiled src/proper_unused_imports_remover.erl
Compiled src/proper_arith.erl
Compiled src/proper_prop_remover.erl
Compiled src/proper_sets.erl
Compiled src/proper_gen.erl
Compiled src/proper_ordsets.erl
Compiled src/proper_shrink.erl
Compiled src/proper_gb_sets.erl
Compiled src/proper_orddict.erl
Compiled src/proper_array.erl
Compiled src/proper_gb_trees.erl
Compiled src/proper_symb.erl
Compiled src/proper_transformer.erl
Compiled src/proper_statem.erl
Compiled src/proper_fsm.erl
Compiled src/proper.erl
Compiled src/proper_typeserver.erl
==> stdlib2 (compile)
Compiled src/s2_gen_lattice.erl
Compiled src/s2_util.erl
Compiled src/s2_gen_db.erl
Compiled src/s2_env.erl
Compiled src/s2_export.erl
Compiled src/s2_funs.erl
Compiled src/s2_lists.erl
Compiled src/s2_loop.erl
Compiled src/s2_strats.erl
Compiled src/s2_maps.erl
Compiled src/s2_dot.erl
Compiled src/s2_sh.erl
Compiled src/s2_maybe.erl
Compiled src/s2_time.erl
Compiled src/s2_csets.erl
Compiled src/s2_hex.erl
Compiled src/s2_rand.erl
Compiled src/s2_pn_counters.erl
Compiled src/s2_procs.erl
Compiled src/s2_fs.erl
Compiled src/s2_iolists.erl
Compiled src/s2_vclocks.erl
Compiled src/s2_atoms.erl
Compiled src/s2_par.erl
==> hyper (compile)
Compiled src/hyper_register.erl
Compiled src/hyper_gb.erl
Compiled src/hyper.erl
Compiled src/hyper_array.erl
Compiled src/hyper_binary.erl
Compiled src/hyper_const.erl
Compiled src/hyper_binary_rle.erl
==> chronos (compile)
Compiled src/chronos_command.erl
Compiled src/chronos.erl
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4 (compile)
Compiled src/riak_kv_backend.erl
Compiled src/riak_kv_sweeper.erl
Compiled src/riak_kv_update_hook.erl
Compiled src/riak_kv_test_util.erl
Compiled src/riak_kv_ensemble_backend.erl
Compiled src/raw_link_walker.erl
Compiled src/riak_kv_mrc_sink.erl
Compiled src/riak_kv_w1c_sup.erl
Compiled src/riak_kv_pipe_get.erl
Compiled src/riak_kv_counter.erl
Compiled src/riak_kv_pb_index.erl
Compiled src/riak_object.erl
Compiled src/riak_kv_pb_bucket.erl
Compiled src/riak_kv_sweeper_state.erl
Compiled src/riak_object_json.erl
Compiled src/riak_kv_requests.erl
Compiled src/riak_kv_cinfo.erl
Compiled src/riak_kv_env.erl
Compiled src/riak_kv_exometer_sidejob.erl
Compiled src/riak_kv_pipe_index.erl
Compiled src/riak_kv_exchange_fsm.erl
Compiled src/riak_kv_fold_buffer.erl
Compiled src/riak_kv_mapred_json.erl
Compiled src/riak_kv_hooks.erl
Compiled src/riak_kv_js_sup.erl
Compiled src/riak_kv_wm_preflist.erl
Compiled src/riak_kv_wm_ping.erl
Compiled src/riak_kv_memory_backend.erl
Compiled src/riak_kv_hll.erl
Compiled src/riak_kv_mrc_pipe.erl
Compiled src/riak_kv_bucket.erl
Compiled src/riak_kv_multi_backend.erl
Compiled src/riak_kv_pb_object.erl
Compiled src/riak_kv_mrc_sink_sup.erl
Compiled src/riak_kv_console.erl
Compiled src/riak_kv_crdt.erl
Compiled src/riak_kv_sup.erl
Compiled src/riak_kv_get_core.erl
Compiled src/riak_kv_w1c_worker.erl
Compiled src/riak_kv_vnode_status_mgr.erl
Compiled src/riak_kv_index_fsm_sup.erl
Compiled src/riak_kv_pncounter.erl
Compiled src/riak_kv_stat.erl
Compiled src/riak_kv_js_vm.erl
Compiled src/riak_kv_entropy_info.erl
Compiled src/riak_kv_js_manager.erl
Compiled src/riak_kv_ensemble_console.erl
Compiled src/riak_kv_wm_buckets.erl
Compiled src/riak_core_pb.erl
Compiled src/riak_kv_wm_bucket_type.erl
Compiled src/riak_kv_fsm_timing.erl
Compiled src/riak_client.erl
Compiled src/riak_kv_buckets_fsm_sup.erl
Compiled src/riak_kv_entropy_manager.erl
Compiled src/riak_kv_gcounter.erl
Compiled src/riak_kv_wm_stats.erl
Compiled src/riak_kv_wm_object.erl
Compiled src/riak_kv_worker.erl
Compiled src/riak_kv_mapreduce.erl
Compiled src/riak_kv_wm_mapred.erl
Compiled src/riak_kv_yessir_backend.erl
Compiled src/riak_kv_noop_update_hook.erl
Compiled src/riak_kv_http_cache.erl
Compiled src/riak_kv_mapred_filters.erl
Compiled src/riak_kv_pb_bucket_key_apl.erl
Compiled src/riak_kv_w_reduce.erl
Compiled src/riak_kv_multi_prefix_backend.erl
Compiled src/riak_kv_stat_worker.erl
Compiled src/riak_kv_wm_index.erl
Compiled src/riak_kv_put_core.erl
Compiled src/sms.erl
Compiled src/riak_kv_encoding_migrate.erl
Compiled src/riak_kv_mapred_term.erl
Compiled src/riak_kv_delete.erl
Compiled src/riak_kv_reformat.erl
Compiled src/riak_kv_eleveldb_backend.erl
Compiled src/riak_kv_util.erl
Compiled src/riak_kv_legacy_vnode.erl
Compiled src/riak_kv_pb_csbucket.erl
Compiled src/riak_kv_pb_counter.erl
Compiled src/riak_kv_cli_registry.erl
Compiled src/riak_kv_pb_mapred.erl
Compiled src/riak_kv_wm_crdt.erl
Compiled src/json_pp.erl
Compiled src/riak_kv_wm_counter.erl
Compiled src/riak_kv_pb_crdt.erl
Compiled src/riak_kv_keys_fsm_sup.erl
Compiled src/riak_kv_buckets_fsm.erl
Compiled src/riak_kv_2i_aae.erl
Compiled src/riak_kv_object_ttl.erl
Compiled src/riak_kv_index_fsm.erl
Compiled src/riak_kv_app.erl
Compiled src/riak_kv_bitcask_backend.erl
Compiled src/riak_index.erl
Compiled src/riak_kv_ensembles.erl
Compiled src/riak_kv_wm_props.erl
Compiled src/riak_kv_wm_link_walker.erl
Compiled src/riak_kv_coverage_filter.erl
Compiled src/riak_kv_index_hashtree.erl
Compiled src/riak_kv_stat_bc.erl
Compiled src/riak_kv_pipe_listkeys.erl
Compiled src/riak.erl
Compiled src/riak_kv_sweeper_cli.erl
Compiled src/riak_kv_status.erl
Compiled src/riak_kv_web.erl
Compiled src/riak_kv_backup.erl
Compiled src/riak_kv_keys_fsm.erl
Compiled src/riak_kv_sweeper_fold.erl
Compiled src/riak_kv_get_fsm.erl
Compiled src/riak_kv_put_fsm.erl
Compiled src/riak_kv_mrc_map.erl
Compiled src/riak_kv_crdt_json.erl
Compiled src/riak_kv_delete_sup.erl
Compiled src/riak_kv_wm_utils.erl
Compiled priv/tracers/tracer_func_args.erl
Compiled priv/tracers/tracer_accumulating_time.erl
Compiled src/riak_kv_wm_keylist.erl
Compiled priv/tracers/tracer_gc_latency.erl
Compiled priv/tracers/tracer_backend_latency.erl
Compiled priv/tracers/tracer_large4.erl
Compiled priv/tracers/tracer_fsm_init.erl
Compiled priv/tracers/tracer_eleveldb_put_size.erl
Compiled priv/tracers/tracer_timeit.erl
Compiled src/riak_kv_vnode.erl
Compiled priv/tracers/tracer_latency_histogram.erl
Compiled priv/tracers/tracer_read_bin_trace_file.erl
Compiled priv/tracers/tracer_merge_and_and_handoff.erl





✅ MAKE_TEST

Started at: 2017-04-05 09:22
Duration: 1150 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4; make test




  
  
... Snipped 492 lines ...
e,true,error,true,true,false,false,true,false,true,false}
0.004% {true,true,error,true,true,false,false,false,false,true,false}
0.004% {true,true,error,true,false,false,false,false,false,true,true}
0.004% {true,true,error,true,false,false,false,false,false,true,false}
�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)....................................................................................................(x1000)...........(x100)....(x10)........(x1)...
Time limit reached: 10.0 seconds.

OK, passed 22583 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m09:33:46.661 [info] Application lager started on node nonode@nohost
09:33:46.742 [info] Starting reporters with []
09:33:46.742 [info] Application exometer_core started on node nonode@nohost
....................................................................................................(x10)....................................................................................................(x100)....................................................................................................(x1000)........................(x10)........
Time limit reached: 60.0 seconds.

OK, passed 35180 tests
�[0;32m.�[0m09:34:46.987 [info] Application exometer_core exited with reason: stopped
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)..........
OK, passed 200 tests
�[0;32m.�[0mtest/rest_url_encoding_test.erl:43:<0.2161.0>: Skipping rest_url_encoding_test

test/rest_url_encoding_test.erl:43:<0.2161.0>: Skipping rest_url_encoding_test

�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m09:37:00.523 [info] Application lager started on node putfsmeqc475004410220@thumbs01
09:37:00.524 [info] Starting reporters with []
09:37:00.524 [info] Application exometer_core started on node putfsmeqc475004410220@thumbs01
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)...............(x10)..(x1)........
Time limit reached: 60.0 seconds.

OK, passed 2628 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)..........................................................................................
OK, passed 1000 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
....................................................................................................(x10)....................................................................................................(x100)....................................................................................................(x1000).(x100)..(x10).....
Time limit reached: 50.0 seconds.

OK, passed 12350 tests

29.525% {kv679_eqc,put,5}
23.585% {kv679_eqc,replicate,3}
23.462% {kv679_eqc,forget,2}
23.428% {kv679_eqc,get,2}
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)..........................................................................................
OK, passed 1000 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m[os_mon] memory supervisor port (memsup): Erlang has closed
[os_mon] cpu supervisor port (cpu_sup): Erlang has closed
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)....................................................................................................(x1000)...(x100)........(x10)....
Time limit reached: 10.0 seconds.

OK, passed 14940 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)............................(x10)..(x1)...
Time limit reached: 5.0 seconds.

OK, passed 3923 tests
�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100).........(x10).......(x1)......
Time limit reached: 5.0 seconds.

OK, passed 2076 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)..........................................................................................
OK, passed 1000 tests
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m....................................................................................................(x10)....................................................................................................(x100)................................(x10).....(x1).......
Time limit reached: 60.0 seconds.

OK, passed 4357 tests

sibling_count
25.73% 0
15.22% 1
13.01% 2
11.32% 3
9.57% 4
7.05% 5
4.77% 6
3.81% 7
2.46% 8
1.61% 9
1.42% 10
1.03% 11
0.71% 13
0.69% 12
0.48% 14
0.32% 15
0.28% 16
0.25% 17
0.09% 18
0.07% 21
0.05% 19
0.02% 24
0.02% 22
0.02% 20

17.844% {riak_object_dvv_statem,replicate,4}
17.786% {riak_object_dvv_statem,get,4}
17.689% {riak_object_dvv_statem,get_put,7}
17.501% {riak_object_dvv_statem,put,4}
13.334% {riak_object_dvv_statem,update,5}
9.770% {riak_object_dvv_statem,make_ring,2}
6.075% {riak_object_dvv_statem,set_nr,1}
�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0m�[0;32m.�[0mtest/riak_kv_schema_tests.erl:432:<0.2161.0>: Supporting riak_core components not present, skipping job_class_enabled test
�[0;32m.�[0m

Top 10 slowest tests (892.459 seconds, 80.0% of total time):
  riak_kv_eleveldb_backend:eqc_test_/0:893
�[0;31m    120.313 seconds�[0m
  riak_kv_bitcask_backend:eqc_test_/0:965
�[0;31m    120.157 seconds�[0m
  riak_kv_memory_backend:eqc_test_/0:850
�[0;31m    120.024 seconds�[0m
  riak_kv_multi_backend:eqc_test_/0:623
�[0;31m    120.007 seconds�[0m
  riak_kv_multi_backend:eqc_test_/0:625
�[0;31m    120.004 seconds�[0m
  riak_kv_hll:eqc_value_test_/0:313
�[0;31m    61.892 seconds�[0m
  put_fsm_eqc:eqc_test_/0:84
�[0;31m    60.050 seconds�[0m
  riak_object_dvv_statem:eqc_test_/0:72
�[0;31m    60.008 seconds�[0m
  get_fsm_eqc:eqc_test_/0:50
�[0;31m    60.001 seconds�[0m
  kv679_eqc:eqc_test_/0:64
�[0;31m    50.003 seconds�[0m

Finished in 1115.989 seconds
�[0;32m332 tests, 0 failures
�[0m




✅ MAKE_XREF

Started at: 2017-04-05 09:41
Duration: 11 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4; make xref




  ./rebar get-deps
==> sidejob (get-deps)
==> erlang_js (get-deps)
==> meck (get-deps)
==> getopt (get-deps)
==> goldrush (get-deps)
==> lager (get-deps)
WARN:  Missing plugins: [rebar3_hex]
==> neotoma (get-deps)
==> cuttlefish (get-deps)
==> bitcask (get-deps)
==> eper (get-deps)
==> edown (get-deps)
==> sext (get-deps)
==> poolboy (get-deps)
==> basho_stats (get-deps)
==> riak_sysmon (get-deps)
==> eleveldb (get-deps)
==> riak_ensemble (get-deps)
==> pbkdf2 (get-deps)
==> parse_trans (get-deps)
==> bear (get-deps)
==> folsom (get-deps)
==> setup (get-deps)
==> src (get-deps)
==> exometer_core (get-deps)
==> clique (get-deps)
==> riak_core (get-deps)
==> riak_pipe (get-deps)
==> riak_dt (get-deps)
==> eunit_formatters (get-deps)
==> hamcrest (get-deps)
==> riak_pb (get-deps)
==> mochiweb (get-deps)
==> webmachine (get-deps)
==> riak_api (get-deps)
==> proper (get-deps)
==> stdlib2 (get-deps)
==> hyper (get-deps)
==> chronos (get-deps)
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4 (get-deps)
./rebar compile
==> sidejob (compile)
==> erlang_js (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/erlang_js'
cd c_src; make
make[2]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/erlang_js/c_src'
make[2]: Nothing to be done for `js'.
make[2]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/erlang_js/c_src'
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/erlang_js'
==> meck (compile)
==> getopt (compile)
==> goldrush (compile)
==> lager (compile)
WARN:  Missing plugins: [rebar3_hex]
==> neotoma (compile)
==> cuttlefish (compile)
==> getopt (escriptize)
==> goldrush (escriptize)
==> lager (escriptize)
==> neotoma (escriptize)
==> cuttlefish (escriptize)
==> bitcask (compile)
==> eper (compile)
==> edown (compile)
==> sext (compile)
==> poolboy (compile)
==> basho_stats (compile)
==> riak_sysmon (compile)
==> eleveldb (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/eleveldb/c_src/leveldb'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/eleveldb/c_src/leveldb'
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/eleveldb/c_src/leveldb'
make[1]: Nothing to be done for `tools'.
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/eleveldb/c_src/leveldb'
==> riak_ensemble (compile)
==> pbkdf2 (compile)
==> parse_trans (compile)
==> bear (compile)
==> folsom (compile)
==> setup (compile)
==> edown (escriptize)
==> setup (escriptize)
==> src (compile)
==> exometer_core (compile)
==> clique (compile)
==> riak_core (compile)
==> riak_pipe (compile)
==> riak_dt (compile)
==> eunit_formatters (compile)
==> hamcrest (compile)
==> hamcrest (post_compile)
==> riak_pb (compile)
==> mochiweb (compile)
==> webmachine (compile)
==> riak_api (compile)
==> proper (compile)
make[1]: Entering directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/proper'
make[1]: `include/compile_flags.hrl' is up to date.
make[1]: Leaving directory `/tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/proper'
==> stdlib2 (compile)
==> hyper (compile)
==> chronos (compile)
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4 (compile)
./rebar xref skip_deps=true
WARN:  Missing plugins: [rebar3_hex]
WARN:  Ignoring sub_dirs for /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4/deps/exometer_core
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4 (xref)





✅ MAKE_DIALYZER

Started at: 2017-04-05 09:42
Duration: 89 seconds.
Result: OK
Message: OK
Exit Code: 0

📄


cd /tmp/thumbs/develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4; make dialyzer




  
  
... Snipped 583 lines ...
ib:fold_files/5
  filelib:is_dir/1
  filelib:is_file/1
  filelib:is_regular/1
  filelib:wildcard/1
  filelib:wildcard/2
  filename:absname/1
  filename:append/2
  filename:basename/1
  filename:basename/2
  filename:dirname/1
  filename:extension/1
  filename:join/1
  filename:join/2
  filename:rootname/2
  filename:split/1
  gb_sets:add/2
  gb_sets:add_element/2
  gb_sets:balance/1
  gb_sets:del_element/2
  gb_sets:delete/2
  gb_sets:delete_any/2
  gb_sets:difference/2
  gb_sets:empty/0
  gb_sets:filter/2
  gb_sets:fold/3
  gb_sets:from_list/1
  gb_sets:from_ordset/1
  gb_sets:insert/2
  gb_sets:intersection/1
  gb_sets:intersection/2
  gb_sets:is_disjoint/2
  gb_sets:is_element/2
  gb_sets:is_empty/1
  gb_sets:is_member/2
  gb_sets:is_set/1
  gb_sets:is_subset/2
  gb_sets:iterator/1
  gb_sets:largest/1
  gb_sets:new/0
  gb_sets:next/1
  gb_sets:singleton/1
  gb_sets:size/1
  gb_sets:smallest/1
  gb_sets:subtract/2
  gb_sets:take_largest/1
  gb_sets:take_smallest/1
  gb_sets:to_list/1
  gb_sets:union/1
  gb_sets:union/2
  gb_trees:balance/1
  gb_trees:delete/2
  gb_trees:delete_any/2
  gb_trees:empty/0
  gb_trees:enter/3
  gb_trees:from_orddict/1
  gb_trees:get/2
  gb_trees:insert/3
  gb_trees:is_defined/2
  gb_trees:is_empty/1
  gb_trees:iterator/1
  gb_trees:keys/1
  gb_trees:largest/1
  gb_trees:lookup/2
  gb_trees:map/2
  gb_trees:next/1
  gb_trees:size/1
  gb_trees:smallest/1
  gb_trees:take_largest/1
  gb_trees:take_smallest/1
  gb_trees:to_list/1
  gb_trees:update/3
  gb_trees:values/1
  gen:call/3
  gen:call/4
  gen:reply/2
  gen:start/5
  gen:start/6
  gen_event:add_handler/3
  gen_event:add_sup_handler/3
  gen_event:call/3
  gen_event:call/4
  gen_event:delete_handler/3
  gen_event:notify/2
  gen_event:start_link/1
  gen_event:sync_notify/2
  gen_event:which_handlers/1
  gen_fsm:cancel_timer/1
  gen_fsm:reply/2
  gen_fsm:send_all_state_event/2
  gen_fsm:send_event/2
  gen_fsm:send_event_after/2
  gen_fsm:start/3
  gen_fsm:start_link/3
  gen_fsm:start_timer/2
  gen_fsm:sync_send_all_state_event/2
  gen_fsm:sync_send_all_state_event/3
  gen_fsm:sync_send_event/2
  gen_fsm:sync_send_event/3
  gen_server:abcast/3
  gen_server:call/2
  gen_server:call/3
  gen_server:cast/2
  gen_server:reply/2
  gen_server:start/3
  gen_server:start/4
  gen_server:start_link/3
  gen_server:start_link/4
  gen_tcp:accept/1
  gen_tcp:accept/2
  gen_tcp:close/1
  gen_tcp:connect/4
  gen_tcp:controlling_process/2
  gen_tcp:listen/2
  gen_tcp:recv/3
  gen_tcp:send/2
  gen_udp:close/1
  gen_udp:open/2
  gen_udp:send/4
  global:send/2
  global:unregister_name/1
  global:whereis_name/1
  gtknode:cmd/2
  gtknode:start/1
  httpc:request/4
  httpd_util:convert_request_date/1
  httpd_util:day/1
  httpd_util:month/1
  httpd_util:reason_phrase/1
  httpd_util:rfc1123_date/0
  httpd_util:rfc1123_date/1
  igor:parse_transform/2
  inet:getaddr/2
  inet:gethostbyaddr/1
  inet:gethostbyname/1
  inet:gethostname/0
  inet:getopts/2
  inet:getstat/1
  inet:getstat/2
  inet:parse_address/1
  inet:peername/1
  inet:port/1
  inet:setopts/2
  inet:sockname/1
  inet_db:register_socket/2
  inet_parse:address/1
  inet_parse:ntoa/1
  inets:start/0
  init:archive_extension/0
  init:get_argument/1
  init:get_status/0
  init:script_id/0
  init:stop/0
  init:stop/1
  io:columns/0
  io:format/1
  io:format/2
  io:format/3
  io:fwrite/1
  io:fwrite/2
  io:fwrite/3
  io:nl/0
  io:put_chars/1
  io:put_chars/2
  io:write/1
  io_lib:deep_char_list/1
  io_lib:format/2
  io_lib:fread/2
  io_lib:fwrite/2
  io_lib:printable_list/1
  io_lib:write/1
  io_lib:write/2
  io_lib:write_atom/1
  io_lib_format:fwrite_g/1
  io_lib_pretty:print/6
  lager_default_tracer:info/1
  lib:format_exception/6
  lists:append/1
  lists:concat/1
  lists:duplicate/2
  lists:flatlength/1
  lists:flatten/2
  lists:keystore/4
  lists:keytake/3
  lists:merge/1
  lists:prefix/2
  lists:seq/2
  lists:seq/3
  lists:sublist/2
  lists:sublist/3
  lists:sum/1
  lists:ukeymerge/3
  lists:ukeysort/2
  lists:umerge/2
  maps:to_list/1
  math:cos/1
  math:exp/1
  math:log/1
  math:log10/1
  math:pi/0
  math:pow/2
  math:sqrt/1
  memsup:get_system_memory_data/0
  mustache:render/2
  net_adm:names/1
  net_adm:ping/1
  net_kernel:get_net_ticktime/0
  net_kernel:hidden_connect_node/1
  net_kernel:monitor_nodes/1
  net_kernel:monitor_nodes/2
  net_kernel:set_net_ticktime/1
  net_kernel:start/1
  orddict:append/3
  orddict:append_list/3
  orddict:erase/2
  orddict:fetch/2
  orddict:fetch_keys/1
  orddict:filter/2
  orddict:find/2
  orddict:fold/3
  orddict:from_list/1
  orddict:is_key/2
  orddict:map/2
  orddict:merge/3
  orddict:new/0
  orddict:size/1
  orddict:store/3
  orddict:to_list/1
  orddict:update/3
  orddict:update/4
  orddict:update_counter/3
  ordsets:add_element/2
  ordsets:del_element/2
  ordsets:filter/2
  ordsets:fold/3
  ordsets:from_list/1
  ordsets:intersection/1
  ordsets:intersection/2
  ordsets:is_disjoint/2
  ordsets:is_element/2
  ordsets:is_set/1
  ordsets:is_subset/2
  ordsets:new/0
  ordsets:size/1
  ordsets:subtract/2
  ordsets:to_list/1
  ordsets:union/1
  ordsets:union/2
  os:cmd/1
  os:getenv/1
  os:getpid/0
  os:timestamp/0
  os:type/0
  packages:last/1
  packages:strip_last/1
  prim_file:list_dir/2
  prim_file:read_file_info/1
  prim_file:write_file_info/2
  prim_inet:async_accept/2
  prim_inet:getstatus/1
  prim_inet:gettype/1
  proc_lib:hibernate/3
  proc_lib:init_ack/2
  proc_lib:spawn/1
  proc_lib:spawn_link/1
  proc_lib:spawn_link/3
  proc_lib:start_link/3
  proc_lib:translate_initial_call/1
  proplists:delete/2
  proplists:get_all_values/2
  proplists:get_bool/2
  proplists:get_keys/1
  proplists:get_value/2
  proplists:get_value/3
  proplists:is_defined/2
  proplists:lookup/2
  proplists:substitute_aliases/2
  proplists:unfold/1
  pubkey_cert:extensions_list/1
  pubkey_cert:select_extension/2
  pubkey_cert_records:transform/2
  public_key:pem_decode/1
  public_key:pem_entry_decode/1
  public_key:pkix_crls_validate/3
  public_key:pkix_decode_cert/2
  public_key:pkix_encode/3
  public_key:pkix_is_self_signed/1
  public_key:pkix_normalize_name/1
  queue:cons/2
  queue:daeh/1
  queue:drop/1
  queue:drop_r/1
  queue:filter/2
  queue:from_list/1
  queue:get/1
  queue:get_r/1
  queue:head/1
  queue:in/2
  queue:in_r/2
  queue:init/1
  queue:is_empty/1
  queue:is_queue/1
  queue:join/2
  queue:last/1
  queue:len/1
  queue:liat/1
  queue:member/2
  queue:new/0
  queue:out/1
  queue:out_r/1
  queue:peek/1
  queue:peek_r/1
  queue:reverse/1
  queue:snoc/2
  queue:split/2
  queue:tail/1
  queue:to_list/1
  random:seed/0
  random:seed/1
  random:seed/3
  random:seed0/0
  random:uniform/0
  random:uniform/1
  random:uniform_s/2
  re:compile/1
  re:compile/2
  re:replace/4
  re:run/2
  re:run/3
  re:split/2
  re:split/3
  rebar_config:get_local/3
  rebar_mustache:render/2
  rebar_rel_utils:get_target_dir/2
  rebar_rel_utils:is_rel_dir/0
  rebar_rel_utils:load_config/2
  release_handler:eval_appup_script/4
  rpc:call/4
  rpc:call/5
  rpc:eval_everywhere/3
  rpc:multicall/3
  rpc:multicall/4
  rpc:multicall/5
  sets:add_element/2
  sets:del_element/2
  sets:filter/2
  sets:fold/3
  sets:from_list/1
  sets:intersection/1
  sets:intersection/2
  sets:is_disjoint/2
  sets:is_element/2
  sets:is_set/1
  sets:is_subset/2
  sets:new/0
  sets:size/1
  sets:subtract/2
  sets:to_list/1
  sets:union/1
  sets:union/2
  ssl:close/1
  ssl:connect/2
  ssl:connect/4
  ssl:listen/2
  ssl:peercert/1
  ssl:peername/1
  ssl:recv/3
  ssl:send/2
  ssl:setopts/2
  ssl:sockname/1
  ssl:ssl_accept/1
  ssl:ssl_accept/2
  ssl:ssl_accept/3
  ssl:transport_accept/1
  ssl_cipher:openssl_suite/1
  ssl_cipher:openssl_suite_name/1
  string:centre/2
  string:centre/3
  string:chr/2
  string:cspan/2
  string:equal/2
  string:join/2
  string:left/2
  string:left/3
  string:len/1
  string:rchr/2
  string:right/2
  string:right/3
  string:str/2
  string:strip/1
  string:strip/2
  string:strip/3
  string:sub_string/2
  string:sub_string/3
  string:substr/2
  string:substr/3
  string:to_float/1
  string:to_integer/1
  string:to_lower/1
  string:tokens/2
  supervisor:count_children/1
  supervisor:delete_child/2
  supervisor:start_child/2
  supervisor:start_link/2
  supervisor:start_link/3
  supervisor:terminate_child/2
  supervisor:which_children/1
  sys:debug_options/1
  sys:get_debug/3
  sys:handle_debug/4
  sys:handle_system_msg/6
  sys:print_log/1
  systools:make_script/2
  timer:apply_after/4
  timer:apply_interval/4
  timer:cancel/1
  timer:minutes/1
  timer:now_diff/2
  timer:seconds/1
  timer:send_after/2
  timer:send_interval/2
  timer:sleep/1
  timer:tc/1
  timer:tc/2
  timer:tc/3
  unicode:characters_to_binary/1
  unicode:characters_to_binary/3
  unicode:characters_to_list/1
  unicode:characters_to_list/2
  xmerl:export_simple/3
  xmerl:export_simple_content/2
  xmerl_html:'#element#'/5
  xmerl_lib:end_tag/1
  xmerl_lib:expand_element/1
  xmerl_lib:find_attribute/2
  xmerl_lib:mapxml/2
  xmerl_lib:start_tag/2
  xmerl_ucs:from_utf16be/1
  xmerl_ucs:from_utf8/1
  xmerl_ucs:to_utf8/1
  zlib:gunzip/1
  zlib:gzip/1
Unknown types:
  calendar:datetime/0
  compile:option/0
  erl_parse:abstract_clause/0
  erl_parse:abstract_expr/0
  erl_parse:abstract_form/0
  erl_scan:line/0
  erl_syntax:syntaxTree/0
  erlang:timestamp/0
  ets:comp_match_spec/0
  ets:match_spec/0
  ets:tab/0
  ets:tid/0
  file:date_time/0
  file:fd/0
  file:filename/0
  file:io_device/0
  file:name/0
  file:name_all/0
  file:posix/0
  gen_tcp:listen_option/0
  gen_tcp:option/0
  inet:hostname/0
  inet:ip4_address/0
  inet:ip6_address/0
  inet:ip_address/0
  inet:socket/0
  io:device/0
  io:format/0
  meck_history:history_record/0
  orddict:orddict/0
  ordsets:ordset/1
  proplists:property/0
  proplists:proplist/0
  re:mp/0
  ssl:ssl_option/0
  ssl:sslsocket/0
  supervisor:child_spec/0
  supervisor:strategy/0
  timer:tref/0
  unicode:charlist/0
 done in 0m45.37s
done (passed successfully)
==> develop.3673dce.rdb-bet365_gh679-dl-replicate.e9bb0b4 (dialyzer)





⬜ 0 of 2 Code reviews from organization basho

@JeetKunDoug
Copy link
Contributor

Now that all the unit test/dialyzer issues are taken care of, going to kick off another integration test run... should have results in the morning.

@JeetKunDoug
Copy link
Contributor

+1 - integration tests run and triaged. Looks good. Thanks @russelldb for the great work, as always.

@angrycub
Copy link

+1

@JeetKunDoug
Copy link
Contributor

@thumbot merge

@russelldb
Copy link
Contributor Author

Wooo! Thanks @JeetKunDoug and @nickelization for the review.

@JeetKunDoug JeetKunDoug merged commit fe8850b into basho:develop Apr 12, 2017
jbernardo95 pushed a commit to jbernardo95/riak_kv that referenced this pull request Feb 22, 2018
…icate

Fix for outstanding riak_kv/679 dataloss cases - manually merging because it seems Thumbot is a bit slow today.
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.

5 participants