[INFO] fetching crate almost-raft 0.3.0... [INFO] testing almost-raft-0.3.0 against master#a77da2d454e6caa227a85b16410b95f93495e7e0 for pr-91031 [INFO] extracting crate almost-raft 0.3.0 into /workspace/builds/worker-118/source [INFO] validating manifest of crates.io crate almost-raft 0.3.0 on toolchain a77da2d454e6caa227a85b16410b95f93495e7e0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate almost-raft 0.3.0 [INFO] finished tweaking crates.io crate almost-raft 0.3.0 [INFO] tweaked toml for crates.io crate almost-raft 0.3.0 written to /workspace/builds/worker-118/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-118/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-118/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9322a17811be79065723b2c47c519a396a99a8fbfd56560ee914f442cbf89c4f [INFO] running `Command { std: "docker" "start" "-a" "9322a17811be79065723b2c47c519a396a99a8fbfd56560ee914f442cbf89c4f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9322a17811be79065723b2c47c519a396a99a8fbfd56560ee914f442cbf89c4f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9322a17811be79065723b2c47c519a396a99a8fbfd56560ee914f442cbf89c4f", kill_on_drop: false }` [INFO] [stdout] 9322a17811be79065723b2c47c519a396a99a8fbfd56560ee914f442cbf89c4f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-118/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-118/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] bfd08bfef9dd7e6e49f71e3502d97c4f145f13844d6ca1dc8f454abb172a22ab [INFO] running `Command { std: "docker" "start" "-a" "bfd08bfef9dd7e6e49f71e3502d97c4f145f13844d6ca1dc8f454abb172a22ab", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.81 [INFO] [stderr] Compiling libc v0.2.107 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Compiling futures-core v0.3.17 [INFO] [stderr] Compiling tokio v1.14.0 [INFO] [stderr] Compiling futures-util v0.3.17 [INFO] [stderr] Compiling futures-task v0.3.17 [INFO] [stderr] Compiling proc-macro-nested v0.1.7 [INFO] [stderr] Compiling async-trait v0.1.51 [INFO] [stderr] Compiling futures-macro v0.3.17 [INFO] [stderr] Compiling getrandom v0.2.3 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.4 [INFO] [stderr] Compiling tokio-macros v1.6.0 [INFO] [stderr] Compiling serde_derive v1.0.130 [INFO] [stderr] Compiling tokio-stream v0.1.8 [INFO] [stderr] Compiling serde v1.0.130 [INFO] [stderr] Compiling almost-raft v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: field is never read: `incoming_tx` [INFO] [stdout] --> src/election/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | incoming_tx: Sender>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 21.00s [INFO] running `Command { std: "docker" "inspect" "bfd08bfef9dd7e6e49f71e3502d97c4f145f13844d6ca1dc8f454abb172a22ab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bfd08bfef9dd7e6e49f71e3502d97c4f145f13844d6ca1dc8f454abb172a22ab", kill_on_drop: false }` [INFO] [stdout] bfd08bfef9dd7e6e49f71e3502d97c4f145f13844d6ca1dc8f454abb172a22ab [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-118/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-118/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6757b0027f12ff32b5c798fbb67a157ce2a5b1beb9342594d963d4d682b950f1 [INFO] running `Command { std: "docker" "start" "-a" "6757b0027f12ff32b5c798fbb67a157ce2a5b1beb9342594d963d4d682b950f1", kill_on_drop: false }` [INFO] [stderr] Compiling serde_json v1.0.71 [INFO] [stderr] Compiling smallvec v1.7.0 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling tracing-core v0.1.21 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling sharded-slab v0.1.4 [INFO] [stderr] Compiling thread_local v1.1.3 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling uuid v0.8.2 [INFO] [stdout] warning: field is never read: `incoming_tx` [INFO] [stdout] --> src/election/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | incoming_tx: Sender>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling tracing-serde v0.1.2 [INFO] [stderr] Compiling tracing-log v0.1.2 [INFO] [stderr] Compiling tracing v0.1.29 [INFO] [stderr] Compiling matchers v0.0.1 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling tracing-subscriber v0.2.25 [INFO] [stderr] Compiling almost-raft v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/election/mod.rs:515:39 [INFO] [stdout] | [INFO] [stdout] 515 | Duration::from_millis($ex); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 561 | advance(d!(timeout)).await; [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `d` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/election/mod.rs:515:39 [INFO] [stdout] | [INFO] [stdout] 515 | Duration::from_millis($ex); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 570 | advance(d!(timeout)).await; [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `d` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/election/mod.rs:515:39 [INFO] [stdout] | [INFO] [stdout] 515 | Duration::from_millis($ex); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 580 | advance(d!(timeout)).await; [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `d` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/election/mod.rs:515:39 [INFO] [stdout] | [INFO] [stdout] 515 | Duration::from_millis($ex); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 620 | advance(d!(timeout)).await; [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `d` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/election/mod.rs:515:39 [INFO] [stdout] | [INFO] [stdout] 515 | Duration::from_millis($ex); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 693 | advance(d!(timeout)).await; [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `d` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/election/mod.rs:515:39 [INFO] [stdout] | [INFO] [stdout] 515 | Duration::from_millis($ex); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 708 | advance(d!(timeout)).await; [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `d` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/election/mod.rs:515:39 [INFO] [stdout] | [INFO] [stdout] 515 | Duration::from_millis($ex); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 829 | tokio::time::sleep(d!(85)).await; [INFO] [stdout] | ------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `d` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `incoming_tx` [INFO] [stdout] --> src/election/mod.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | incoming_tx: Sender>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:530:13 [INFO] [stdout] | [INFO] [stdout] 530 | self.sender.send(msg).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:566:9 [INFO] [stdout] | [INFO] [stdout] 566 | tx.send(Message::ControlAddNode(dummy)).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:568:9 [INFO] [stdout] | [INFO] [stdout] 568 | tx.send(Message::ControlAddNode(dummy)).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:578:9 [INFO] [stdout] | [INFO] [stdout] 578 | tx.send(Message::ControlAddNode(dummy)).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:631:9 [INFO] [stdout] | [INFO] [stdout] 631 | / tx_to_raft [INFO] [stdout] 632 | | .send(Message::RequestVoteResponse { [INFO] [stdout] 633 | | vote: true, [INFO] [stdout] 634 | | term: 1, [INFO] [stdout] 635 | | }) [INFO] [stdout] 636 | | .await; [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:637:9 [INFO] [stdout] | [INFO] [stdout] 637 | / tx_to_raft [INFO] [stdout] 638 | | .send(Message::RequestVoteResponse { [INFO] [stdout] 639 | | vote: true, [INFO] [stdout] 640 | | term: 1, [INFO] [stdout] 641 | | }) [INFO] [stdout] 642 | | .await; [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:643:9 [INFO] [stdout] | [INFO] [stdout] 643 | / tx_to_raft [INFO] [stdout] 644 | | .send(Message::RequestVoteResponse { [INFO] [stdout] 645 | | vote: true, [INFO] [stdout] 646 | | term: 1, [INFO] [stdout] 647 | | }) [INFO] [stdout] 648 | | .await; [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:701:9 [INFO] [stdout] | [INFO] [stdout] 701 | / tx_to_raft [INFO] [stdout] 702 | | .send(Message::RequestVoteResponse { [INFO] [stdout] 703 | | vote: true, [INFO] [stdout] 704 | | term: 1, [INFO] [stdout] 705 | | }) [INFO] [stdout] 706 | | .await; [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:730:13 [INFO] [stdout] | [INFO] [stdout] 730 | / tx_to_raft [INFO] [stdout] 731 | | .send(Message::RequestVoteResponse { [INFO] [stdout] 732 | | vote: true, [INFO] [stdout] 733 | | term: 2, [INFO] [stdout] 734 | | }) [INFO] [stdout] 735 | | .await; [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:791:9 [INFO] [stdout] | [INFO] [stdout] 791 | / tx_to_raft_node_1 [INFO] [stdout] 792 | | .send(Message::ControlAddNode(new_node( [INFO] [stdout] 793 | | self_id_2.as_str(), [INFO] [stdout] 794 | | tx_to_raft_node_2.clone(), [INFO] [stdout] 795 | | ))) [INFO] [stdout] 796 | | .await; [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:797:9 [INFO] [stdout] | [INFO] [stdout] 797 | / tx_to_raft_node_1 [INFO] [stdout] 798 | | .send(Message::ControlAddNode(new_node( [INFO] [stdout] 799 | | self_id_3.as_str(), [INFO] [stdout] 800 | | tx_to_raft_node_3.clone(), [INFO] [stdout] 801 | | ))) [INFO] [stdout] 802 | | .await; [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:804:9 [INFO] [stdout] | [INFO] [stdout] 804 | / tx_to_raft_node_2 [INFO] [stdout] 805 | | .send(Message::ControlAddNode(new_node( [INFO] [stdout] 806 | | self_id_1.as_str(), [INFO] [stdout] 807 | | tx_to_raft_node_1.clone(), [INFO] [stdout] 808 | | ))) [INFO] [stdout] 809 | | .await; [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:810:9 [INFO] [stdout] | [INFO] [stdout] 810 | / tx_to_raft_node_2 [INFO] [stdout] 811 | | .send(Message::ControlAddNode(new_node( [INFO] [stdout] 812 | | self_id_3.as_str(), [INFO] [stdout] 813 | | tx_to_raft_node_3.clone(), [INFO] [stdout] 814 | | ))) [INFO] [stdout] 815 | | .await; [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:816:9 [INFO] [stdout] | [INFO] [stdout] 816 | / tx_to_raft_node_3 [INFO] [stdout] 817 | | .send(Message::ControlAddNode(new_node( [INFO] [stdout] 818 | | self_id_1.as_str(), [INFO] [stdout] 819 | | tx_to_raft_node_1.clone(), [INFO] [stdout] 820 | | ))) [INFO] [stdout] 821 | | .await; [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/election/mod.rs:822:9 [INFO] [stdout] | [INFO] [stdout] 822 | / tx_to_raft_node_3 [INFO] [stdout] 823 | | .send(Message::ControlAddNode(new_node( [INFO] [stdout] 824 | | self_id_2.as_str(), [INFO] [stdout] 825 | | tx_to_raft_node_2.clone(), [INFO] [stdout] 826 | | ))) [INFO] [stdout] 827 | | .await; [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 10.02s [INFO] running `Command { std: "docker" "inspect" "6757b0027f12ff32b5c798fbb67a157ce2a5b1beb9342594d963d4d682b950f1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6757b0027f12ff32b5c798fbb67a157ce2a5b1beb9342594d963d4d682b950f1", kill_on_drop: false }` [INFO] [stdout] 6757b0027f12ff32b5c798fbb67a157ce2a5b1beb9342594d963d4d682b950f1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-118/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-118/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5736fa189c1c60b01babf4b8b698fe57b6ecc41933a7ff2e0b8d7a221459412b" "/opt/rustwide/cargo-home/bin/cargo" "+a77da2d454e6caa227a85b16410b95f93495e7e0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 782182029ba46c485c27aa61bce776293db2e1fa912a8fb4f5617560d1025269 [INFO] running `Command { std: "docker" "start" "-a" "782182029ba46c485c27aa61bce776293db2e1fa912a8fb4f5617560d1025269", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: field is never read: `incoming_tx` [INFO] [stderr] --> src/election/mod.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | incoming_tx: Sender>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `almost-raft` (lib) generated 1 warning [INFO] [stderr] warning: trailing semicolon in macro used in expression position [INFO] [stderr] --> src/election/mod.rs:515:39 [INFO] [stderr] | [INFO] [stderr] 515 | Duration::from_millis($ex); [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 561 | advance(d!(timeout)).await; [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79813 [INFO] [stderr] = note: this warning originates in the macro `d` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trailing semicolon in macro used in expression position [INFO] [stderr] --> src/election/mod.rs:515:39 [INFO] [stderr] | [INFO] [stderr] 515 | Duration::from_millis($ex); [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 570 | advance(d!(timeout)).await; [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79813 [INFO] [stderr] = note: this warning originates in the macro `d` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trailing semicolon in macro used in expression position [INFO] [stderr] --> src/election/mod.rs:515:39 [INFO] [stderr] | [INFO] [stderr] 515 | Duration::from_millis($ex); [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 580 | advance(d!(timeout)).await; [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79813 [INFO] [stderr] = note: this warning originates in the macro `d` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trailing semicolon in macro used in expression position [INFO] [stderr] --> src/election/mod.rs:515:39 [INFO] [stderr] | [INFO] [stderr] 515 | Duration::from_millis($ex); [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 620 | advance(d!(timeout)).await; [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79813 [INFO] [stderr] = note: this warning originates in the macro `d` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trailing semicolon in macro used in expression position [INFO] [stderr] --> src/election/mod.rs:515:39 [INFO] [stderr] | [INFO] [stderr] 515 | Duration::from_millis($ex); [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 693 | advance(d!(timeout)).await; [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79813 [INFO] [stderr] = note: this warning originates in the macro `d` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trailing semicolon in macro used in expression position [INFO] [stderr] --> src/election/mod.rs:515:39 [INFO] [stderr] | [INFO] [stderr] 515 | Duration::from_millis($ex); [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 708 | advance(d!(timeout)).await; [INFO] [stderr] | ----------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79813 [INFO] [stderr] = note: this warning originates in the macro `d` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: trailing semicolon in macro used in expression position [INFO] [stderr] --> src/election/mod.rs:515:39 [INFO] [stderr] | [INFO] [stderr] 515 | Duration::from_millis($ex); [INFO] [stderr] | ^ [INFO] [stderr] ... [INFO] [stderr] 829 | tokio::time::sleep(d!(85)).await; [INFO] [stderr] | ------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #79813 [INFO] [stderr] = note: this warning originates in the macro `d` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:530:13 [INFO] [stderr] | [INFO] [stderr] 530 | self.sender.send(msg).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:566:9 [INFO] [stderr] | [INFO] [stderr] 566 | tx.send(Message::ControlAddNode(dummy)).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:568:9 [INFO] [stderr] | [INFO] [stderr] 568 | tx.send(Message::ControlAddNode(dummy)).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:578:9 [INFO] [stderr] | [INFO] [stderr] 578 | tx.send(Message::ControlAddNode(dummy)).await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:631:9 [INFO] [stderr] | [INFO] [stderr] 631 | / tx_to_raft [INFO] [stderr] 632 | | .send(Message::RequestVoteResponse { [INFO] [stderr] 633 | | vote: true, [INFO] [stderr] 634 | | term: 1, [INFO] [stderr] 635 | | }) [INFO] [stderr] 636 | | .await; [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:637:9 [INFO] [stderr] | [INFO] [stderr] 637 | / tx_to_raft [INFO] [stderr] 638 | | .send(Message::RequestVoteResponse { [INFO] [stderr] 639 | | vote: true, [INFO] [stderr] 640 | | term: 1, [INFO] [stderr] 641 | | }) [INFO] [stderr] 642 | | .await; [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:643:9 [INFO] [stderr] | [INFO] [stderr] 643 | / tx_to_raft [INFO] [stderr] 644 | | .send(Message::RequestVoteResponse { [INFO] [stderr] 645 | | vote: true, [INFO] [stderr] 646 | | term: 1, [INFO] [stderr] 647 | | }) [INFO] [stderr] 648 | | .await; [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:701:9 [INFO] [stderr] | [INFO] [stderr] 701 | / tx_to_raft [INFO] [stderr] 702 | | .send(Message::RequestVoteResponse { [INFO] [stderr] 703 | | vote: true, [INFO] [stderr] 704 | | term: 1, [INFO] [stderr] 705 | | }) [INFO] [stderr] 706 | | .await; [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:730:13 [INFO] [stderr] | [INFO] [stderr] 730 | / tx_to_raft [INFO] [stderr] 731 | | .send(Message::RequestVoteResponse { [INFO] [stderr] 732 | | vote: true, [INFO] [stderr] 733 | | term: 2, [INFO] [stderr] 734 | | }) [INFO] [stderr] 735 | | .await; [INFO] [stderr] | |_______________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:791:9 [INFO] [stderr] | [INFO] [stderr] 791 | / tx_to_raft_node_1 [INFO] [stderr] 792 | | .send(Message::ControlAddNode(new_node( [INFO] [stderr] 793 | | self_id_2.as_str(), [INFO] [stderr] 794 | | tx_to_raft_node_2.clone(), [INFO] [stderr] 795 | | ))) [INFO] [stderr] 796 | | .await; [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:797:9 [INFO] [stderr] | [INFO] [stderr] 797 | / tx_to_raft_node_1 [INFO] [stderr] 798 | | .send(Message::ControlAddNode(new_node( [INFO] [stderr] 799 | | self_id_3.as_str(), [INFO] [stderr] 800 | | tx_to_raft_node_3.clone(), [INFO] [stderr] 801 | | ))) [INFO] [stderr] 802 | | .await; [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:804:9 [INFO] [stderr] | [INFO] [stderr] 804 | / tx_to_raft_node_2 [INFO] [stderr] 805 | | .send(Message::ControlAddNode(new_node( [INFO] [stderr] 806 | | self_id_1.as_str(), [INFO] [stderr] 807 | | tx_to_raft_node_1.clone(), [INFO] [stderr] 808 | | ))) [INFO] [stderr] 809 | | .await; [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:810:9 [INFO] [stderr] | [INFO] [stderr] 810 | / tx_to_raft_node_2 [INFO] [stderr] 811 | | .send(Message::ControlAddNode(new_node( [INFO] [stderr] 812 | | self_id_3.as_str(), [INFO] [stderr] 813 | | tx_to_raft_node_3.clone(), [INFO] [stderr] 814 | | ))) [INFO] [stderr] 815 | | .await; [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:816:9 [INFO] [stderr] | [INFO] [stderr] 816 | / tx_to_raft_node_3 [INFO] [stderr] 817 | | .send(Message::ControlAddNode(new_node( [INFO] [stderr] 818 | | self_id_1.as_str(), [INFO] [stderr] 819 | | tx_to_raft_node_1.clone(), [INFO] [stderr] 820 | | ))) [INFO] [stderr] 821 | | .await; [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/election/mod.rs:822:9 [INFO] [stderr] | [INFO] [stderr] 822 | / tx_to_raft_node_3 [INFO] [stderr] 823 | | .send(Message::ControlAddNode(new_node( [INFO] [stderr] 824 | | self_id_2.as_str(), [INFO] [stderr] 825 | | tx_to_raft_node_2.clone(), [INFO] [stderr] 826 | | ))) [INFO] [stderr] 827 | | .await; [INFO] [stderr] | |___________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: `almost-raft` (lib test) generated 23 warnings (1 duplicate) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.32s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/almost_raft-6cc7ff2a96b74654) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] Nov 20 11:17:37.666 TRACE almost_raft::election::test: 6892 [INFO] [stdout] Nov 20 11:17:37.672  INFO almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] starting election process... [INFO] [stdout] Nov 20 11:17:37.672 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] setting new timeout to 6892 [INFO] [stdout] Nov 20 11:17:37.673 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] got message Some(ControlAddNode(NodeDummy { id: "1", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb01c005c40, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } })) [INFO] [stdout] Nov 20 11:17:37.673 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] remaining_election_timeout: 0, remaining_heartbeat_interval: 1000 [INFO] [stdout] Nov 20 11:17:37.673 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] setting new timeout to 0 [INFO] [stdout] Nov 20 11:17:37.673 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] got message Some(ControlAddNode(NodeDummy { id: "2", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb01c005c40, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } })) [INFO] [stdout] Nov 20 11:17:37.673 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] remaining_election_timeout: 0, remaining_heartbeat_interval: 1000 [INFO] [stdout] Nov 20 11:17:37.673 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] setting new timeout to 0 [INFO] [stdout] Nov 20 11:17:37.673 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] not enough node [INFO] [stdout] Nov 20 11:17:37.673 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] remaining_election_timeout: 6892, remaining_heartbeat_interval: 1000 [INFO] [stdout] Nov 20 11:17:37.673 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] setting new timeout to 6892 [INFO] [stdout] Nov 20 11:17:37.666  INFO almost_raft::election: [node: raft-node] starting election process... [INFO] [stdout] Nov 20 11:17:37.666  INFO almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] starting election process... [INFO] [stdout] Nov 20 11:17:37.675 TRACE almost_raft::election: [node: raft-node] setting new timeout to 9101 [INFO] [stdout] Nov 20 11:17:37.675 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] setting new timeout to 9715 [INFO] [stdout] Nov 20 11:17:37.666  INFO almost_raft::election: [node: raft-node-1] starting election process... [INFO] [stdout] Nov 20 11:17:37.675 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 60 [INFO] [stdout] Nov 20 11:17:37.675 TRACE almost_raft::election: [node: raft-node-1] got message Some(ControlAddNode(NodeDummy { id: "raft-node-2", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb014004790, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Nov 20 11:17:37.675 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 60, remaining_heartbeat_interval: 20 [INFO] [stdout] Nov 20 11:17:37.675 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 60 [INFO] [stdout] Nov 20 11:17:37.675 TRACE almost_raft::election: [node: raft-node-1] got message Some(ControlAddNode(NodeDummy { id: "raft-node-3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb014005520, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Nov 20 11:17:37.675 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 60, remaining_heartbeat_interval: 20 [INFO] [stdout] Nov 20 11:17:37.675 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 60 [INFO] [stdout] Nov 20 11:17:37.675  INFO almost_raft::election: [node: raft-node-2] starting election process... [INFO] [stdout] Nov 20 11:17:37.675 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 70 [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node-2] got message Some(ControlAddNode(NodeDummy { id: "raft-node-1", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb014003a00, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node-2] remaining_election_timeout: 70, remaining_heartbeat_interval: 20 [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 70 [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node-2] got message Some(ControlAddNode(NodeDummy { id: "raft-node-3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb014005520, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node-2] remaining_election_timeout: 70, remaining_heartbeat_interval: 20 [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 70 [INFO] [stdout] Nov 20 11:17:37.676 DEBUG almost_raft::election: [node: raft-node] updating node state to NodeState::Candidate [INFO] [stdout] Nov 20 11:17:37.676  INFO almost_raft::election: [node: raft-node-3] starting election process... [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node] updating term from 0 to 1 [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 80 [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node] sending vote request for term 1 to: NodeDummy { id: "1", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb00c003360, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node-3] got message Some(ControlAddNode(NodeDummy { id: "raft-node-1", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb014003a00, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election::test: [node: 1] sending message RequestVote { node_id: "raft-node", term: 1 } [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node-3] remaining_election_timeout: 80, remaining_heartbeat_interval: 20 [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 80 [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node] sending vote request for term 1 to: NodeDummy { id: "2", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb00c003360, tail_position: 1 }, semaphore: (Semaphore { permits: 9 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node-3] got message Some(ControlAddNode(NodeDummy { id: "raft-node-2", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb014004790, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election::test: [node: 2] sending message RequestVote { node_id: "raft-node", term: 1 } [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node-3] remaining_election_timeout: 80, remaining_heartbeat_interval: 20 [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node] sending vote request for term 1 to: NodeDummy { id: "3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb00c003360, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 80 [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "raft-node", term: 1 } [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: raft-node] sending vote request for term 1 to: NodeDummy { id: "4", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb00c003360, tail_position: 3 }, semaphore: (Semaphore { permits: 7 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.676 DEBUG almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] updating node state to NodeState::Candidate [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election::test: [node: 4] sending message RequestVote { node_id: "raft-node", term: 1 } [INFO] [stdout] Nov 20 11:17:37.676 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] updating term from 0 to 1 [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 9101, remaining_heartbeat_interval: 1000 [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] sending vote request for term 1 to: NodeDummy { id: "1", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb018003360, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election: [node: raft-node] setting new timeout to 9101 [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election::test: [node: 1] sending message RequestVote { node_id: "05caefa1-45ba-429f-901c-8dc3f8209af9", term: 1 } [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] sending vote request for term 1 to: NodeDummy { id: "2", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb018003360, tail_position: 1 }, semaphore: (Semaphore { permits: 9 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election::test: [node: 2] sending message RequestVote { node_id: "05caefa1-45ba-429f-901c-8dc3f8209af9", term: 1 } [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election: [node: raft-node] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 9101, remaining_heartbeat_interval: 1000 [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] sending vote request for term 1 to: NodeDummy { id: "3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb018003360, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election: [node: raft-node] setting new timeout to 9101 [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "05caefa1-45ba-429f-901c-8dc3f8209af9", term: 1 } [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] sending vote request for term 1 to: NodeDummy { id: "3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb018003360, tail_position: 3 }, semaphore: (Semaphore { permits: 7 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "05caefa1-45ba-429f-901c-8dc3f8209af9", term: 1 } [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] remaining_election_timeout: 9715, remaining_heartbeat_interval: 1000 [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] setting new timeout to 9715 [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election::test: Some(RequestVote { node_id: "05caefa1-45ba-429f-901c-8dc3f8209af9", term: 1 }) [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election::test: Some(RequestVote { node_id: "05caefa1-45ba-429f-901c-8dc3f8209af9", term: 1 }) [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election::test: Some(RequestVote { node_id: "05caefa1-45ba-429f-901c-8dc3f8209af9", term: 1 }) [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election::test: Some(RequestVote { node_id: "05caefa1-45ba-429f-901c-8dc3f8209af9", term: 1 }) [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Nov 20 11:17:37.677 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] remaining_election_timeout: 9715, remaining_heartbeat_interval: 1000 [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] setting new timeout to 9715 [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Nov 20 11:17:37.678 DEBUG almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] updating node state to NodeState::Leader [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election::test: [node: 1] sending message HeartBeat { leader_node_id: "05caefa1-45ba-429f-901c-8dc3f8209af9", term: 1 } [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] sent heartbeat [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election::test: [node: 2] sending message HeartBeat { leader_node_id: "05caefa1-45ba-429f-901c-8dc3f8209af9", term: 1 } [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] sent heartbeat [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election::test: [node: 3] sending message HeartBeat { leader_node_id: "05caefa1-45ba-429f-901c-8dc3f8209af9", term: 1 } [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] sent heartbeat [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election::test: [node: 3] sending message HeartBeat { leader_node_id: "05caefa1-45ba-429f-901c-8dc3f8209af9", term: 1 } [INFO] [stdout] Nov 20 11:17:37.678 DEBUG almost_raft::election: [node: raft-node] updating node state to NodeState::Candidate [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] sent heartbeat [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: raft-node] updating term from 1 to 2 [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] remaining_election_timeout: 9715, remaining_heartbeat_interval: 1000 [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: raft-node] sending vote request for term 2 to: NodeDummy { id: "1", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb00c003360, tail_position: 4 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] setting new timeout to 1000 [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election::test: [node: 1] sending message RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: raft-node] sending vote request for term 2 to: NodeDummy { id: "2", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb00c003360, tail_position: 5 }, semaphore: (Semaphore { permits: 9 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] remaining_election_timeout: 9715, remaining_heartbeat_interval: 9715 [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election::test: [node: 2] sending message RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: 05caefa1-45ba-429f-901c-8dc3f8209af9] setting new timeout to 9715 [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election: [node: raft-node] sending vote request for term 2 to: NodeDummy { id: "3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb00c003360, tail_position: 6 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.678 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Nov 20 11:17:37.679 TRACE almost_raft::election: [node: raft-node] sending vote request for term 2 to: NodeDummy { id: "4", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb00c003360, tail_position: 7 }, semaphore: (Semaphore { permits: 7 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.679 TRACE almost_raft::election::test: [node: 4] sending message RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Nov 20 11:17:37.679 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 9101, remaining_heartbeat_interval: 1000 [INFO] [stdout] Nov 20 11:17:37.679 TRACE almost_raft::election: [node: raft-node] setting new timeout to 9101 [INFO] [stdout] Nov 20 11:17:37.679 TRACE almost_raft::election::test: multi-term: RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Nov 20 11:17:37.679 TRACE almost_raft::election::test: Some(RequestVote { node_id: "raft-node", term: 2 }) [INFO] [stdout] Nov 20 11:17:37.679 TRACE almost_raft::election::test: Some(RequestVote { node_id: "raft-node", term: 2 }) [INFO] [stdout] Nov 20 11:17:37.679 TRACE almost_raft::election::test: Some(RequestVote { node_id: "raft-node", term: 2 }) [INFO] [stdout] Nov 20 11:17:37.679 TRACE almost_raft::election: [node: raft-node] got message Some(RequestVoteResponse { term: 2, vote: true }) [INFO] [stdout] Nov 20 11:17:37.679 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 9101, remaining_heartbeat_interval: 1000 [INFO] [stdout] Nov 20 11:17:37.679 TRACE almost_raft::election: [node: raft-node] setting new timeout to 9101 [INFO] [stdout] Nov 20 11:17:37.679 TRACE almost_raft::election: [node: raft-node] got message Some(RequestVoteResponse { term: 2, vote: true }) [INFO] [stdout] Nov 20 11:17:37.679 DEBUG almost_raft::election: [node: raft-node] updating node state to NodeState::Leader [INFO] [stdout] Nov 20 11:17:37.679 TRACE almost_raft::election::test: [node: 1] sending message HeartBeat { leader_node_id: "raft-node", term: 2 } [INFO] [stdout] Nov 20 11:17:37.680 TRACE almost_raft::election: [node: raft-node] sent heartbeat [INFO] [stdout] Nov 20 11:17:37.680 TRACE almost_raft::election::test: [node: 2] sending message HeartBeat { leader_node_id: "raft-node", term: 2 } [INFO] [stdout] Nov 20 11:17:37.680 TRACE almost_raft::election: [node: raft-node] sent heartbeat [INFO] [stdout] Nov 20 11:17:37.680 TRACE almost_raft::election::test: [node: 3] sending message HeartBeat { leader_node_id: "raft-node", term: 2 } [INFO] [stdout] Nov 20 11:17:37.680 TRACE almost_raft::election: [node: raft-node] sent heartbeat [INFO] [stdout] Nov 20 11:17:37.680 TRACE almost_raft::election::test: [node: 4] sending message HeartBeat { leader_node_id: "raft-node", term: 2 } [INFO] [stdout] Nov 20 11:17:37.680 TRACE almost_raft::election: [node: raft-node] sent heartbeat [INFO] [stdout] Nov 20 11:17:37.680 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 9101, remaining_heartbeat_interval: 1000 [INFO] [stdout] Nov 20 11:17:37.680 TRACE almost_raft::election: [node: raft-node] setting new timeout to 1000 [INFO] [stdout] test election::test::test_raft_election_multi_term ... ok [INFO] [stdout] Nov 20 11:17:37.681 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] got message Some(ControlAddNode(NodeDummy { id: "3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb01c005c40, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Nov 20 11:17:37.681 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] remaining_election_timeout: 6885, remaining_heartbeat_interval: 1000 [INFO] [stdout] Nov 20 11:17:37.681 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] setting new timeout to 6885 [INFO] [stdout] Nov 20 11:17:37.681 DEBUG almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] updating node state to NodeState::Candidate [INFO] [stdout] Nov 20 11:17:37.681 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] updating term from 0 to 1 [INFO] [stdout] Nov 20 11:17:37.681 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] sending vote request for term 1 to: NodeDummy { id: "1", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb01c005c40, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.681 TRACE almost_raft::election::test: [node: 1] sending message RequestVote { node_id: "67464869-b43c-4a62-885d-bc171c589cce", term: 1 } [INFO] [stdout] Nov 20 11:17:37.681 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] sending vote request for term 1 to: NodeDummy { id: "2", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb01c005c40, tail_position: 1 }, semaphore: (Semaphore { permits: 9 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.681 TRACE almost_raft::election::test: [node: 2] sending message RequestVote { node_id: "67464869-b43c-4a62-885d-bc171c589cce", term: 1 } [INFO] [stdout] Nov 20 11:17:37.681 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] sending vote request for term 1 to: NodeDummy { id: "3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb01c005c40, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.681 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "67464869-b43c-4a62-885d-bc171c589cce", term: 1 } [INFO] [stdout] Nov 20 11:17:37.682 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] remaining_election_timeout: 6892, remaining_heartbeat_interval: 1000 [INFO] [stdout] Nov 20 11:17:37.682 TRACE almost_raft::election: [node: 67464869-b43c-4a62-885d-bc171c589cce] setting new timeout to 6892 [INFO] [stdout] Nov 20 11:17:37.682 TRACE almost_raft::election::test: Ok(Some(RequestVote { node_id: "67464869-b43c-4a62-885d-bc171c589cce", term: 1 })) [INFO] [stdout] test election::test::test_min_node ... ok [INFO] [stdout] test election::test::test_raft_election ... ok [INFO] [stdout] Nov 20 11:17:37.737 DEBUG almost_raft::election: [node: raft-node-1] updating node state to NodeState::Candidate [INFO] [stdout] Nov 20 11:17:37.737 TRACE almost_raft::election: [node: raft-node-1] updating term from 0 to 1 [INFO] [stdout] Nov 20 11:17:37.737 TRACE almost_raft::election: [node: raft-node-1] sending vote request for term 1 to: NodeDummy { id: "raft-node-2", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb014004790, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.737 TRACE almost_raft::election::test: [node: raft-node-2] sending message RequestVote { node_id: "raft-node-1", term: 1 } [INFO] [stdout] Nov 20 11:17:37.737 TRACE almost_raft::election: [node: raft-node-1] sending vote request for term 1 to: NodeDummy { id: "raft-node-3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7fb014005520, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Nov 20 11:17:37.737 TRACE almost_raft::election::test: [node: raft-node-3] sending message RequestVote { node_id: "raft-node-1", term: 1 } [INFO] [stdout] Nov 20 11:17:37.737 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 60, remaining_heartbeat_interval: 20 [INFO] [stdout] Nov 20 11:17:37.737 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 60 [INFO] [stdout] Nov 20 11:17:37.737 TRACE almost_raft::election: [node: raft-node-2] got message Some(RequestVote { node_id: "raft-node-1", term: 1 }) [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election: [node: raft-node-2] updating term from 0 to 1 [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election: [node: raft-node-2] current term: 1, sending vote to node: raft-node-1, for term: 1 [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election::test: [node: raft-node-1] sending message RequestVoteResponse { term: 1, vote: true } [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election: [node: raft-node-2] remaining_election_timeout: 9, remaining_heartbeat_interval: 20 [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 9 [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election: [node: raft-node-3] got message Some(RequestVote { node_id: "raft-node-1", term: 1 }) [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election: [node: raft-node-3] updating term from 0 to 1 [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election: [node: raft-node-3] current term: 1, sending vote to node: raft-node-1, for term: 1 [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election::test: [node: raft-node-1] sending message RequestVoteResponse { term: 1, vote: true } [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election: [node: raft-node-3] remaining_election_timeout: 19, remaining_heartbeat_interval: 20 [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 19 [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election: [node: raft-node-1] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Nov 20 11:17:37.738 DEBUG almost_raft::election: [node: raft-node-1] updating node state to NodeState::Leader [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election::test: [node: raft-node-2] sending message HeartBeat { leader_node_id: "raft-node-1", term: 1 } [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election: [node: raft-node-1] sent heartbeat [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election::test: [node: raft-node-3] sending message HeartBeat { leader_node_id: "raft-node-1", term: 1 } [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election: [node: raft-node-1] sent heartbeat [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 59, remaining_heartbeat_interval: 20 [INFO] [stdout] Nov 20 11:17:37.738 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 20 [INFO] [stdout] Nov 20 11:17:37.739 TRACE almost_raft::election: [node: raft-node-1] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Nov 20 11:17:37.739 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 59, remaining_heartbeat_interval: 59 [INFO] [stdout] Nov 20 11:17:37.739 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 59 [INFO] [stdout] Nov 20 11:17:37.739 TRACE almost_raft::election: [node: raft-node-2] got message Some(HeartBeat { leader_node_id: "raft-node-1", term: 1 }) [INFO] [stdout] Nov 20 11:17:37.739 TRACE almost_raft::election: [node: raft-node-2] updating term to 1 [INFO] [stdout] Nov 20 11:17:37.739 DEBUG almost_raft::election: [node: raft-node-2] leader changed to node: raft-node-1 [INFO] [stdout] Nov 20 11:17:37.739 TRACE almost_raft::election: [node: raft-node-2] remaining_election_timeout: 70, remaining_heartbeat_interval: 20 [INFO] [stdout] Nov 20 11:17:37.739 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 70 [INFO] [stdout] Nov 20 11:17:37.739 TRACE almost_raft::election: [node: raft-node-3] got message Some(HeartBeat { leader_node_id: "raft-node-1", term: 1 }) [INFO] [stdout] Nov 20 11:17:37.739 TRACE almost_raft::election: [node: raft-node-3] updating term to 1 [INFO] [stdout] Nov 20 11:17:37.739 DEBUG almost_raft::election: [node: raft-node-3] leader changed to node: raft-node-1 [INFO] [stdout] Nov 20 11:17:37.739 TRACE almost_raft::election: [node: raft-node-3] remaining_election_timeout: 80, remaining_heartbeat_interval: 20 [INFO] [stdout] Nov 20 11:17:37.739 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 80 [INFO] [stderr] Doc-tests almost-raft [INFO] [stdout] Nov 20 11:17:37.752 TRACE almost_raft::election::test: ControlLeaderChanged("raft-node-1") [INFO] [stdout] test election::test::test_raft_election_multi_node ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test src/lib.rs - (line 21) ... ignored [INFO] [stdout] test src/lib.rs - (line 43) ... ignored [INFO] [stdout] test src/lib.rs - (line 66) ... ignored [INFO] [stdout] test src/lib.rs - (line 72) ... ignored [INFO] [stdout] test src/lib.rs - (line 85) ... ignored [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "782182029ba46c485c27aa61bce776293db2e1fa912a8fb4f5617560d1025269", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "782182029ba46c485c27aa61bce776293db2e1fa912a8fb4f5617560d1025269", kill_on_drop: false }` [INFO] [stdout] 782182029ba46c485c27aa61bce776293db2e1fa912a8fb4f5617560d1025269