[INFO] fetching crate almost-raft 0.3.0... [INFO] testing almost-raft-0.3.0 against 1.60.0 for beta-1.61-1 [INFO] extracting crate almost-raft 0.3.0 into /workspace/builds/worker-14/source [INFO] validating manifest of crates.io crate almost-raft 0.3.0 on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "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-14/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tokio-stream v0.1.8 [INFO] [stderr] Downloaded matchers v0.0.1 [INFO] [stderr] Downloaded tracing-serde v0.1.3 [INFO] [stderr] Downloaded tracing-subscriber v0.2.25 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d85ac6d52672ecf4882aa85db60909adde6a705c9effb3610904cda89b4f4087 [INFO] running `Command { std: "docker" "start" "-a" "d85ac6d52672ecf4882aa85db60909adde6a705c9effb3610904cda89b4f4087", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d85ac6d52672ecf4882aa85db60909adde6a705c9effb3610904cda89b4f4087", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d85ac6d52672ecf4882aa85db60909adde6a705c9effb3610904cda89b4f4087", kill_on_drop: false }` [INFO] [stdout] d85ac6d52672ecf4882aa85db60909adde6a705c9effb3610904cda89b4f4087 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fb7de39ecf30eb5755846605e1355a40f15e8eb419781b6976bb7c942952eb35 [INFO] running `Command { std: "docker" "start" "-a" "fb7de39ecf30eb5755846605e1355a40f15e8eb419781b6976bb7c942952eb35", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.91 [INFO] [stderr] Compiling futures-core v0.3.21 [INFO] [stderr] Compiling pin-project-lite v0.2.8 [INFO] [stderr] Compiling futures-task v0.3.21 [INFO] [stderr] Compiling async-trait v0.1.53 [INFO] [stderr] Compiling futures-util v0.3.21 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling getrandom v0.2.6 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling tokio-macros v1.7.0 [INFO] [stderr] Compiling futures-macro v0.3.21 [INFO] [stderr] Compiling serde_derive v1.0.136 [INFO] [stderr] Compiling tokio v1.17.0 [INFO] [stderr] Compiling tokio-stream v0.1.8 [INFO] [stderr] Compiling serde v1.0.136 [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] note: `RaftElectionState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/election/mod.rs:18:10 [INFO] [stdout] | [INFO] [stdout] 18 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 13.06s [INFO] running `Command { std: "docker" "inspect" "fb7de39ecf30eb5755846605e1355a40f15e8eb419781b6976bb7c942952eb35", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fb7de39ecf30eb5755846605e1355a40f15e8eb419781b6976bb7c942952eb35", kill_on_drop: false }` [INFO] [stdout] fb7de39ecf30eb5755846605e1355a40f15e8eb419781b6976bb7c942952eb35 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5bbe5a2d55fdbe74ebade6b42892f3ea4f4d92a81922c7def1a8d929076deebb [INFO] running `Command { std: "docker" "start" "-a" "5bbe5a2d55fdbe74ebade6b42892f3ea4f4d92a81922c7def1a8d929076deebb", kill_on_drop: false }` [INFO] [stderr] Compiling serde_json v1.0.79 [INFO] [stderr] Compiling once_cell v1.10.0 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling tracing-core v0.1.25 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling regex v1.5.5 [INFO] [stderr] Compiling sharded-slab v0.1.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] note: `RaftElectionState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/election/mod.rs:18:10 [INFO] [stdout] | [INFO] [stdout] 18 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling thread_local v1.1.4 [INFO] [stderr] Compiling tracing-serde v0.1.3 [INFO] [stderr] Compiling tracing-log v0.1.2 [INFO] [stderr] Compiling tracing v0.1.33 [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] note: `RaftElectionState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] --> src/election/mod.rs:18:10 [INFO] [stdout] | [INFO] [stdout] 18 | #[derive(Debug)] [INFO] [stdout] | ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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 8.85s [INFO] running `Command { std: "docker" "inspect" "5bbe5a2d55fdbe74ebade6b42892f3ea4f4d92a81922c7def1a8d929076deebb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5bbe5a2d55fdbe74ebade6b42892f3ea4f4d92a81922c7def1a8d929076deebb", kill_on_drop: false }` [INFO] [stdout] 5bbe5a2d55fdbe74ebade6b42892f3ea4f4d92a81922c7def1a8d929076deebb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5e2072f01dfe7a3965310ad0942b1b1961dea81ccabd09be5d068a7517ac8084 [INFO] running `Command { std: "docker" "start" "-a" "5e2072f01dfe7a3965310ad0942b1b1961dea81ccabd09be5d068a7517ac8084", kill_on_drop: false }` [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] note: `RaftElectionState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] --> src/election/mod.rs:18:10 [INFO] [stderr] | [INFO] [stderr] 18 | #[derive(Debug)] [INFO] [stderr] | ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [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] [stdout] [INFO] [stderr] [INFO] [stdout] running 4 tests [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.04s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/almost_raft-8034cac9ed73b7dc) [INFO] [stdout] Apr 13 07:23:56.538  INFO almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] starting election process... [INFO] [stdout] Apr 13 07:23:56.538  INFO almost_raft::election: [node: raft-node-1] starting election process... [INFO] [stdout] Apr 13 07:23:56.538  INFO almost_raft::election: [node: raft-node] starting election process... [INFO] [stdout] Apr 13 07:23:56.538 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] setting new timeout to 7617 [INFO] [stdout] Apr 13 07:23:56.538 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 60 [INFO] [stdout] Apr 13 07:23:56.538 TRACE almost_raft::election: [node: raft-node] setting new timeout to 5273 [INFO] [stdout] Apr 13 07:23:56.538 TRACE almost_raft::election::test: 6402 [INFO] [stdout] Apr 13 07:23:56.538 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: 0x7f2484004830, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Apr 13 07:23:56.538  INFO almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] starting election process... [INFO] [stdout] Apr 13 07:23:56.538 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 60, remaining_heartbeat_interval: 20 [INFO] [stdout] Apr 13 07:23:56.538 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] setting new timeout to 6402 [INFO] [stdout] Apr 13 07:23:56.538 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 60 [INFO] [stdout] Apr 13 07:23:56.539 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: 0x7f24840055c0, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 60, remaining_heartbeat_interval: 20 [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 60 [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] got message Some(ControlAddNode(NodeDummy { id: "1", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f2488005010, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } })) [INFO] [stdout] Apr 13 07:23:56.539  INFO almost_raft::election: [node: raft-node-2] starting election process... [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] remaining_election_timeout: 0, remaining_heartbeat_interval: 1000 [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 70 [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] setting new timeout to 0 [INFO] [stdout] Apr 13 07:23:56.539 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: 0x7f2484003aa0, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] got message Some(ControlAddNode(NodeDummy { id: "2", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f2488005010, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } })) [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: raft-node-2] remaining_election_timeout: 70, remaining_heartbeat_interval: 20 [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] remaining_election_timeout: 0, remaining_heartbeat_interval: 1000 [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 70 [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] setting new timeout to 0 [INFO] [stdout] Apr 13 07:23:56.539 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: 0x7f24840055c0, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] not enough node [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: raft-node-2] remaining_election_timeout: 70, remaining_heartbeat_interval: 20 [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 70 [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] remaining_election_timeout: 6402, remaining_heartbeat_interval: 1000 [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] setting new timeout to 6402 [INFO] [stdout] Apr 13 07:23:56.539  INFO almost_raft::election: [node: raft-node-3] starting election process... [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 80 [INFO] [stdout] Apr 13 07:23:56.539 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: 0x7f2484003aa0, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: raft-node-3] remaining_election_timeout: 80, remaining_heartbeat_interval: 20 [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 80 [INFO] [stdout] Apr 13 07:23:56.539 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: 0x7f2484004830, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Apr 13 07:23:56.539 TRACE almost_raft::election: [node: raft-node-3] remaining_election_timeout: 80, remaining_heartbeat_interval: 20 [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 80 [INFO] [stdout] Apr 13 07:23:56.539 DEBUG almost_raft::election: [node: raft-node] updating node state to NodeState::Candidate [INFO] [stdout] Apr 13 07:23:56.540 DEBUG almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] updating node state to NodeState::Candidate [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] updating term from 0 to 1 [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election: [node: raft-node] updating term from 0 to 1 [INFO] [stdout] Apr 13 07:23:56.540 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: 0x7f247c003400, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election::test: [node: 1] sending message RequestVote { node_id: "raft-node", term: 1 } [INFO] [stdout] Apr 13 07:23:56.540 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: 0x7f247c003400, tail_position: 1 }, semaphore: (Semaphore { permits: 9 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election::test: [node: 2] sending message RequestVote { node_id: "raft-node", term: 1 } [INFO] [stdout] Apr 13 07:23:56.540 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: 0x7f247c003400, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "raft-node", term: 1 } [INFO] [stdout] Apr 13 07:23:56.540 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: 0x7f247c003400, tail_position: 3 }, semaphore: (Semaphore { permits: 7 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election::test: [node: 4] sending message RequestVote { node_id: "raft-node", term: 1 } [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 5273, remaining_heartbeat_interval: 1000 [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election: [node: raft-node] setting new timeout to 5273 [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election: [node: raft-node] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 5273, remaining_heartbeat_interval: 1000 [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election: [node: raft-node] setting new timeout to 5273 [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] sending vote request for term 1 to: NodeDummy { id: "1", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f24800070d0, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election::test: [node: 1] sending message RequestVote { node_id: "b961e4f4-8c12-400c-8e0e-4a5f92a3158a", term: 1 } [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] sending vote request for term 1 to: NodeDummy { id: "2", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f24800070d0, tail_position: 1 }, semaphore: (Semaphore { permits: 9 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election::test: [node: 2] sending message RequestVote { node_id: "b961e4f4-8c12-400c-8e0e-4a5f92a3158a", term: 1 } [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] sending vote request for term 1 to: NodeDummy { id: "3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f24800070d0, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "b961e4f4-8c12-400c-8e0e-4a5f92a3158a", term: 1 } [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] sending vote request for term 1 to: NodeDummy { id: "3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f24800070d0, tail_position: 3 }, semaphore: (Semaphore { permits: 7 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.540 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "b961e4f4-8c12-400c-8e0e-4a5f92a3158a", term: 1 } [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] remaining_election_timeout: 7617, remaining_heartbeat_interval: 1000 [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] setting new timeout to 7617 [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election::test: Some(RequestVote { node_id: "b961e4f4-8c12-400c-8e0e-4a5f92a3158a", term: 1 }) [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election::test: Some(RequestVote { node_id: "b961e4f4-8c12-400c-8e0e-4a5f92a3158a", term: 1 }) [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election::test: Some(RequestVote { node_id: "b961e4f4-8c12-400c-8e0e-4a5f92a3158a", term: 1 }) [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election::test: Some(RequestVote { node_id: "b961e4f4-8c12-400c-8e0e-4a5f92a3158a", term: 1 }) [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] remaining_election_timeout: 7617, remaining_heartbeat_interval: 1000 [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] setting new timeout to 7617 [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Apr 13 07:23:56.541 DEBUG almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] updating node state to NodeState::Leader [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election::test: [node: 1] sending message HeartBeat { leader_node_id: "b961e4f4-8c12-400c-8e0e-4a5f92a3158a", term: 1 } [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] sent heartbeat [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election::test: [node: 2] sending message HeartBeat { leader_node_id: "b961e4f4-8c12-400c-8e0e-4a5f92a3158a", term: 1 } [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] sent heartbeat [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election::test: [node: 3] sending message HeartBeat { leader_node_id: "b961e4f4-8c12-400c-8e0e-4a5f92a3158a", term: 1 } [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] sent heartbeat [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election::test: [node: 3] sending message HeartBeat { leader_node_id: "b961e4f4-8c12-400c-8e0e-4a5f92a3158a", term: 1 } [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] sent heartbeat [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] remaining_election_timeout: 7617, remaining_heartbeat_interval: 1000 [INFO] [stdout] Apr 13 07:23:56.541 DEBUG almost_raft::election: [node: raft-node] updating node state to NodeState::Candidate [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election: [node: raft-node] updating term from 1 to 2 [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] setting new timeout to 1000 [INFO] [stdout] Apr 13 07:23:56.541 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: 0x7f247c003400, tail_position: 4 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election::test: [node: 1] sending message RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Apr 13 07:23:56.541 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] remaining_election_timeout: 7617, remaining_heartbeat_interval: 7617 [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election: [node: b961e4f4-8c12-400c-8e0e-4a5f92a3158a] setting new timeout to 7617 [INFO] [stdout] Apr 13 07:23:56.541 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: 0x7f247c003400, tail_position: 5 }, semaphore: (Semaphore { permits: 9 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election::test: [node: 2] sending message RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Apr 13 07:23:56.542 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: 0x7f247c003400, tail_position: 6 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Apr 13 07:23:56.542 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: 0x7f247c003400, tail_position: 7 }, semaphore: (Semaphore { permits: 7 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election::test: [node: 4] sending message RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 5273, remaining_heartbeat_interval: 1000 [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election: [node: raft-node] setting new timeout to 5273 [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election::test: multi-term: RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election::test: Some(RequestVote { node_id: "raft-node", term: 2 }) [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election::test: Some(RequestVote { node_id: "raft-node", term: 2 }) [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election::test: Some(RequestVote { node_id: "raft-node", term: 2 }) [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election: [node: raft-node] got message Some(RequestVoteResponse { term: 2, vote: true }) [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 5273, remaining_heartbeat_interval: 1000 [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election: [node: raft-node] setting new timeout to 5273 [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election: [node: raft-node] got message Some(RequestVoteResponse { term: 2, vote: true }) [INFO] [stdout] Apr 13 07:23:56.542 DEBUG almost_raft::election: [node: raft-node] updating node state to NodeState::Leader [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election::test: [node: 1] sending message HeartBeat { leader_node_id: "raft-node", term: 2 } [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election: [node: raft-node] sent heartbeat [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election::test: [node: 2] sending message HeartBeat { leader_node_id: "raft-node", term: 2 } [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election: [node: raft-node] sent heartbeat [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election::test: [node: 3] sending message HeartBeat { leader_node_id: "raft-node", term: 2 } [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election: [node: raft-node] sent heartbeat [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election::test: [node: 4] sending message HeartBeat { leader_node_id: "raft-node", term: 2 } [INFO] [stdout] Apr 13 07:23:56.542 TRACE almost_raft::election: [node: raft-node] sent heartbeat [INFO] [stdout] Apr 13 07:23:56.543 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 5273, remaining_heartbeat_interval: 1000 [INFO] [stdout] Apr 13 07:23:56.543 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] test election::test::test_raft_election ... ok [INFO] [stdout] Apr 13 07:23:56.545 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] got message Some(ControlAddNode(NodeDummy { id: "3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f2488005010, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Apr 13 07:23:56.545 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] remaining_election_timeout: 6396, remaining_heartbeat_interval: 1000 [INFO] [stdout] Apr 13 07:23:56.545 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] setting new timeout to 6396 [INFO] [stdout] Apr 13 07:23:56.546 DEBUG almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] updating node state to NodeState::Candidate [INFO] [stdout] Apr 13 07:23:56.546 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] updating term from 0 to 1 [INFO] [stdout] Apr 13 07:23:56.546 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] sending vote request for term 1 to: NodeDummy { id: "1", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f2488005010, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.546 TRACE almost_raft::election::test: [node: 1] sending message RequestVote { node_id: "50402913-efb2-40a8-b5d2-59ec9960e685", term: 1 } [INFO] [stdout] Apr 13 07:23:56.546 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] sending vote request for term 1 to: NodeDummy { id: "2", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f2488005010, tail_position: 1 }, semaphore: (Semaphore { permits: 9 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.546 TRACE almost_raft::election::test: [node: 2] sending message RequestVote { node_id: "50402913-efb2-40a8-b5d2-59ec9960e685", term: 1 } [INFO] [stdout] Apr 13 07:23:56.546 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] sending vote request for term 1 to: NodeDummy { id: "3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f2488005010, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.546 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "50402913-efb2-40a8-b5d2-59ec9960e685", term: 1 } [INFO] [stdout] Apr 13 07:23:56.546 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] remaining_election_timeout: 6402, remaining_heartbeat_interval: 1000 [INFO] [stdout] Apr 13 07:23:56.546 TRACE almost_raft::election: [node: 50402913-efb2-40a8-b5d2-59ec9960e685] setting new timeout to 6402 [INFO] [stdout] Apr 13 07:23:56.546 TRACE almost_raft::election::test: Ok(Some(RequestVote { node_id: "50402913-efb2-40a8-b5d2-59ec9960e685", term: 1 })) [INFO] [stdout] test election::test::test_min_node ... ok [INFO] [stdout] Apr 13 07:23:56.600 DEBUG almost_raft::election: [node: raft-node-1] updating node state to NodeState::Candidate [INFO] [stdout] Apr 13 07:23:56.600 TRACE almost_raft::election: [node: raft-node-1] updating term from 0 to 1 [INFO] [stdout] Apr 13 07:23:56.600 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: 0x7f2484004830, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.600 TRACE almost_raft::election::test: [node: raft-node-2] sending message RequestVote { node_id: "raft-node-1", term: 1 } [INFO] [stdout] Apr 13 07:23:56.600 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: 0x7f24840055c0, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Apr 13 07:23:56.600 TRACE almost_raft::election::test: [node: raft-node-3] sending message RequestVote { node_id: "raft-node-1", term: 1 } [INFO] [stdout] Apr 13 07:23:56.600 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 60, remaining_heartbeat_interval: 20 [INFO] [stdout] Apr 13 07:23:56.600 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 60 [INFO] [stdout] Apr 13 07:23:56.600 TRACE almost_raft::election: [node: raft-node-2] got message Some(RequestVote { node_id: "raft-node-1", term: 1 }) [INFO] [stdout] Apr 13 07:23:56.600 TRACE almost_raft::election: [node: raft-node-2] updating term from 0 to 1 [INFO] [stdout] Apr 13 07:23:56.600 TRACE almost_raft::election: [node: raft-node-2] current term: 1, sending vote to node: raft-node-1, for term: 1 [INFO] [stdout] Apr 13 07:23:56.600 TRACE almost_raft::election::test: [node: raft-node-1] sending message RequestVoteResponse { term: 1, vote: true } [INFO] [stdout] Apr 13 07:23:56.600 TRACE almost_raft::election: [node: raft-node-2] remaining_election_timeout: 9, remaining_heartbeat_interval: 20 [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 9 [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-3] got message Some(RequestVote { node_id: "raft-node-1", term: 1 }) [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-3] updating term from 0 to 1 [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-3] current term: 1, sending vote to node: raft-node-1, for term: 1 [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election::test: [node: raft-node-1] sending message RequestVoteResponse { term: 1, vote: true } [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-3] remaining_election_timeout: 19, remaining_heartbeat_interval: 20 [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 19 [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-1] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Apr 13 07:23:56.601 DEBUG almost_raft::election: [node: raft-node-1] updating node state to NodeState::Leader [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election::test: [node: raft-node-2] sending message HeartBeat { leader_node_id: "raft-node-1", term: 1 } [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-1] sent heartbeat [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election::test: [node: raft-node-3] sending message HeartBeat { leader_node_id: "raft-node-1", term: 1 } [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-1] sent heartbeat [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 60, remaining_heartbeat_interval: 20 [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 20 [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-1] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 60, remaining_heartbeat_interval: 60 [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 60 [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-2] got message Some(HeartBeat { leader_node_id: "raft-node-1", term: 1 }) [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-2] updating term to 1 [INFO] [stdout] Apr 13 07:23:56.601 DEBUG almost_raft::election: [node: raft-node-2] leader changed to node: raft-node-1 [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-2] remaining_election_timeout: 70, remaining_heartbeat_interval: 20 [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 70 [INFO] [stdout] Apr 13 07:23:56.601 TRACE almost_raft::election: [node: raft-node-3] got message Some(HeartBeat { leader_node_id: "raft-node-1", term: 1 }) [INFO] [stdout] Apr 13 07:23:56.602 TRACE almost_raft::election: [node: raft-node-3] updating term to 1 [INFO] [stdout] Apr 13 07:23:56.602 DEBUG almost_raft::election: [node: raft-node-3] leader changed to node: raft-node-1 [INFO] [stdout] Apr 13 07:23:56.602 TRACE almost_raft::election: [node: raft-node-3] remaining_election_timeout: 80, remaining_heartbeat_interval: 20 [INFO] [stdout] Apr 13 07:23:56.602 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 80 [INFO] [stdout] Apr 13 07:23:56.625 TRACE almost_raft::election::test: ControlLeaderChanged("raft-node-1") [INFO] [stderr] Doc-tests almost-raft [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.10s [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.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5e2072f01dfe7a3965310ad0942b1b1961dea81ccabd09be5d068a7517ac8084", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5e2072f01dfe7a3965310ad0942b1b1961dea81ccabd09be5d068a7517ac8084", kill_on_drop: false }` [INFO] [stdout] 5e2072f01dfe7a3965310ad0942b1b1961dea81ccabd09be5d068a7517ac8084