[INFO] fetching crate almost-raft 0.3.0... [INFO] testing almost-raft-0.3.0 against try#8262275854dc0e5381c9d42d56257d94932c5a87 for pr-90799 [INFO] extracting crate almost-raft 0.3.0 into /workspace/builds/worker-7/source [INFO] validating manifest of crates.io crate almost-raft 0.3.0 on toolchain 8262275854dc0e5381c9d42d56257d94932c5a87 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "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-7/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8262275854dc0e5381c9d42d56257d94932c5a87" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "+8262275854dc0e5381c9d42d56257d94932c5a87" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3f8132d6f31ea4eed7be1510f357092f7f7244a938c45149eb25194baaeab458 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "3f8132d6f31ea4eed7be1510f357092f7f7244a938c45149eb25194baaeab458", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3f8132d6f31ea4eed7be1510f357092f7f7244a938c45149eb25194baaeab458", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3f8132d6f31ea4eed7be1510f357092f7f7244a938c45149eb25194baaeab458", kill_on_drop: false }` [INFO] [stdout] 3f8132d6f31ea4eed7be1510f357092f7f7244a938c45149eb25194baaeab458 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "+8262275854dc0e5381c9d42d56257d94932c5a87" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c8ded3fa3795dca5aeb9b20bb3d65c5b9e6e4c5331a4d381cee569f932df0507 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "c8ded3fa3795dca5aeb9b20bb3d65c5b9e6e4c5331a4d381cee569f932df0507", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling proc-macro2 v1.0.32 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling syn v1.0.82 [INFO] [stderr] Compiling futures-task v0.3.18 [INFO] [stderr] Compiling serde_derive v1.0.130 [INFO] [stderr] Compiling pin-project-lite v0.2.7 [INFO] [stderr] Compiling serde v1.0.130 [INFO] [stderr] Compiling ppv-lite86 v0.2.15 [INFO] [stderr] Compiling futures-util v0.3.18 [INFO] [stderr] Compiling async-trait v0.1.51 [INFO] [stderr] Compiling slab v0.4.5 [INFO] [stderr] Compiling tokio v1.14.0 [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 quote v1.0.10 [INFO] [stderr] Compiling tokio-macros v1.6.0 [INFO] [stderr] Compiling futures-macro v0.3.18 [INFO] [stderr] Compiling tokio-stream v0.1.8 [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 40.03s [INFO] running `Command { std: "docker" "inspect" "c8ded3fa3795dca5aeb9b20bb3d65c5b9e6e4c5331a4d381cee569f932df0507", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c8ded3fa3795dca5aeb9b20bb3d65c5b9e6e4c5331a4d381cee569f932df0507", kill_on_drop: false }` [INFO] [stdout] c8ded3fa3795dca5aeb9b20bb3d65c5b9e6e4c5331a4d381cee569f932df0507 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "+8262275854dc0e5381c9d42d56257d94932c5a87" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9821e2fe9217d76133c2899485c55b9afdb0c00275703406d7c92968f8ae27ac [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "9821e2fe9217d76133c2899485c55b9afdb0c00275703406d7c92968f8ae27ac", kill_on_drop: false }` [INFO] [stderr] Compiling ryu v1.0.6 [INFO] [stderr] Compiling serde_json v1.0.72 [INFO] [stderr] Compiling itoa v0.4.8 [INFO] [stderr] Compiling ansi_term v0.12.1 [INFO] [stderr] Compiling tracing-core v0.1.21 [INFO] [stderr] Compiling regex-automata v0.1.10 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling sharded-slab v0.1.4 [INFO] [stderr] Compiling thread_local v1.1.3 [INFO] [stderr] Compiling uuid v0.8.2 [INFO] [stderr] Compiling chrono v0.4.19 [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-log v0.1.2 [INFO] [stderr] Compiling tracing-serde v0.1.2 [INFO] [stderr] Compiling tracing v0.1.29 [INFO] [stderr] Compiling matchers v0.0.1 [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 27.71s [INFO] running `Command { std: "docker" "inspect" "9821e2fe9217d76133c2899485c55b9afdb0c00275703406d7c92968f8ae27ac", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9821e2fe9217d76133c2899485c55b9afdb0c00275703406d7c92968f8ae27ac", kill_on_drop: false }` [INFO] [stdout] 9821e2fe9217d76133c2899485c55b9afdb0c00275703406d7c92968f8ae27ac [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "+8262275854dc0e5381c9d42d56257d94932c5a87" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 0c3b06dbe2e42a580d481af3c48a4cfb34cce54559ffba473f0ee80b340d33c6 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "0c3b06dbe2e42a580d481af3c48a4cfb34cce54559ffba473f0ee80b340d33c6", 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] [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.05s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/almost_raft-a9fa9c42d1af4c4e) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] Dec 02 01:14:38.025  INFO almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] starting election process... [INFO] [stdout] Dec 02 01:14:38.053 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] setting new timeout to 7297 [INFO] [stdout] Dec 02 01:14:38.025  INFO almost_raft::election: [node: raft-node-1] starting election process... [INFO] [stdout] Dec 02 01:14:38.054 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 60 [INFO] [stdout] Dec 02 01:14:38.054 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: 0x7f0d40004790, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Dec 02 01:14:38.054 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 60, remaining_heartbeat_interval: 20 [INFO] [stdout] Dec 02 01:14:38.054 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 60 [INFO] [stdout] Dec 02 01:14:38.054 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: 0x7f0d40005520, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Dec 02 01:14:38.054 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 60, remaining_heartbeat_interval: 20 [INFO] [stdout] Dec 02 01:14:38.054 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 60 [INFO] [stdout] Dec 02 01:14:38.054  INFO almost_raft::election: [node: raft-node-2] starting election process... [INFO] [stdout] Dec 02 01:14:38.054 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 70 [INFO] [stdout] Dec 02 01:14:38.054 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: 0x7f0d40003a00, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Dec 02 01:14:38.054 TRACE almost_raft::election: [node: raft-node-2] remaining_election_timeout: 70, remaining_heartbeat_interval: 20 [INFO] [stdout] Dec 02 01:14:38.054 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 70 [INFO] [stdout] Dec 02 01:14:38.054 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: 0x7f0d40005520, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Dec 02 01:14:38.054 TRACE almost_raft::election: [node: raft-node-2] remaining_election_timeout: 70, remaining_heartbeat_interval: 20 [INFO] [stdout] Dec 02 01:14:38.054 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 70 [INFO] [stdout] Dec 02 01:14:38.054  INFO almost_raft::election: [node: raft-node-3] starting election process... [INFO] [stdout] Dec 02 01:14:38.054 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 80 [INFO] [stdout] Dec 02 01:14:38.054 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: 0x7f0d40003a00, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Dec 02 01:14:38.054 TRACE almost_raft::election: [node: raft-node-3] remaining_election_timeout: 80, remaining_heartbeat_interval: 20 [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 80 [INFO] [stdout] Dec 02 01:14:38.055 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: 0x7f0d40004790, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election: [node: raft-node-3] remaining_election_timeout: 80, remaining_heartbeat_interval: 20 [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 80 [INFO] [stdout] Dec 02 01:14:38.055 DEBUG almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] updating node state to NodeState::Candidate [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] updating term from 0 to 1 [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] sending vote request for term 1 to: NodeDummy { id: "1", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f0d50007060, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election::test: [node: 1] sending message RequestVote { node_id: "5c0b070d-b962-4918-967c-869c037c9cc3", term: 1 } [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] sending vote request for term 1 to: NodeDummy { id: "2", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f0d50007060, tail_position: 1 }, semaphore: (Semaphore { permits: 9 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election::test: [node: 2] sending message RequestVote { node_id: "5c0b070d-b962-4918-967c-869c037c9cc3", term: 1 } [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] sending vote request for term 1 to: NodeDummy { id: "3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f0d50007060, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "5c0b070d-b962-4918-967c-869c037c9cc3", term: 1 } [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] sending vote request for term 1 to: NodeDummy { id: "3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f0d50007060, tail_position: 3 }, semaphore: (Semaphore { permits: 7 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "5c0b070d-b962-4918-967c-869c037c9cc3", term: 1 } [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] remaining_election_timeout: 7297, remaining_heartbeat_interval: 1000 [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] setting new timeout to 7297 [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election::test: Some(RequestVote { node_id: "5c0b070d-b962-4918-967c-869c037c9cc3", term: 1 }) [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election::test: Some(RequestVote { node_id: "5c0b070d-b962-4918-967c-869c037c9cc3", term: 1 }) [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election::test: Some(RequestVote { node_id: "5c0b070d-b962-4918-967c-869c037c9cc3", term: 1 }) [INFO] [stdout] Dec 02 01:14:38.055 TRACE almost_raft::election::test: Some(RequestVote { node_id: "5c0b070d-b962-4918-967c-869c037c9cc3", term: 1 }) [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] remaining_election_timeout: 7297, remaining_heartbeat_interval: 1000 [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] setting new timeout to 7297 [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Dec 02 01:14:38.056 DEBUG almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] updating node state to NodeState::Leader [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election::test: [node: 1] sending message HeartBeat { leader_node_id: "5c0b070d-b962-4918-967c-869c037c9cc3", term: 1 } [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] sent heartbeat [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election::test: [node: 2] sending message HeartBeat { leader_node_id: "5c0b070d-b962-4918-967c-869c037c9cc3", term: 1 } [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] sent heartbeat [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election::test: [node: 3] sending message HeartBeat { leader_node_id: "5c0b070d-b962-4918-967c-869c037c9cc3", term: 1 } [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] sent heartbeat [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election::test: [node: 3] sending message HeartBeat { leader_node_id: "5c0b070d-b962-4918-967c-869c037c9cc3", term: 1 } [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] sent heartbeat [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] remaining_election_timeout: 7297, remaining_heartbeat_interval: 1000 [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] setting new timeout to 1000 [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] remaining_election_timeout: 7297, remaining_heartbeat_interval: 7297 [INFO] [stdout] Dec 02 01:14:38.056 TRACE almost_raft::election: [node: 5c0b070d-b962-4918-967c-869c037c9cc3] setting new timeout to 7297 [INFO] [stdout] Dec 02 01:14:38.026 TRACE almost_raft::election::test: 8235 [INFO] [stdout] Dec 02 01:14:38.061  INFO almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] starting election process... [INFO] [stdout] Dec 02 01:14:38.061 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] setting new timeout to 8235 [INFO] [stdout] test election::test::test_raft_election ... ok [INFO] [stdout] Dec 02 01:14:38.061 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] got message Some(ControlAddNode(NodeDummy { id: "1", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f0d4c004f50, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } })) [INFO] [stdout] Dec 02 01:14:38.062 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] remaining_election_timeout: 0, remaining_heartbeat_interval: 1000 [INFO] [stdout] Dec 02 01:14:38.062 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] setting new timeout to 0 [INFO] [stdout] Dec 02 01:14:38.062 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] got message Some(ControlAddNode(NodeDummy { id: "2", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f0d4c004f50, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } })) [INFO] [stdout] Dec 02 01:14:38.062 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] remaining_election_timeout: 0, remaining_heartbeat_interval: 1000 [INFO] [stdout] Dec 02 01:14:38.062 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] setting new timeout to 0 [INFO] [stdout] Dec 02 01:14:38.062 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] not enough node [INFO] [stdout] Dec 02 01:14:38.062 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] remaining_election_timeout: 8235, remaining_heartbeat_interval: 1000 [INFO] [stdout] Dec 02 01:14:38.062 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] setting new timeout to 8235 [INFO] [stdout] Dec 02 01:14:38.045  INFO almost_raft::election: [node: raft-node] starting election process... [INFO] [stdout] Dec 02 01:14:38.065 TRACE almost_raft::election: [node: raft-node] setting new timeout to 8987 [INFO] [stdout] Dec 02 01:14:38.067 DEBUG almost_raft::election: [node: raft-node] updating node state to NodeState::Candidate [INFO] [stdout] Dec 02 01:14:38.067 TRACE almost_raft::election: [node: raft-node] updating term from 0 to 1 [INFO] [stdout] Dec 02 01:14:38.067 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: 0x7f0d48003360, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.067 TRACE almost_raft::election::test: [node: 1] sending message RequestVote { node_id: "raft-node", term: 1 } [INFO] [stdout] Dec 02 01:14:38.067 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: 0x7f0d48003360, tail_position: 1 }, semaphore: (Semaphore { permits: 9 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.067 TRACE almost_raft::election::test: [node: 2] sending message RequestVote { node_id: "raft-node", term: 1 } [INFO] [stdout] Dec 02 01:14:38.067 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: 0x7f0d48003360, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.067 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "raft-node", term: 1 } [INFO] [stdout] Dec 02 01:14:38.067 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: 0x7f0d48003360, tail_position: 3 }, semaphore: (Semaphore { permits: 7 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.067 TRACE almost_raft::election::test: [node: 4] sending message RequestVote { node_id: "raft-node", term: 1 } [INFO] [stdout] Dec 02 01:14:38.067 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 8987, remaining_heartbeat_interval: 1000 [INFO] [stdout] Dec 02 01:14:38.067 TRACE almost_raft::election: [node: raft-node] setting new timeout to 8987 [INFO] [stdout] Dec 02 01:14:38.067 TRACE almost_raft::election: [node: raft-node] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Dec 02 01:14:38.067 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 8987, remaining_heartbeat_interval: 1000 [INFO] [stdout] Dec 02 01:14:38.067 TRACE almost_raft::election: [node: raft-node] setting new timeout to 8987 [INFO] [stdout] Dec 02 01:14:38.068 DEBUG almost_raft::election: [node: raft-node] updating node state to NodeState::Candidate [INFO] [stdout] Dec 02 01:14:38.068 TRACE almost_raft::election: [node: raft-node] updating term from 1 to 2 [INFO] [stdout] Dec 02 01:14:38.069 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: 0x7f0d48003360, tail_position: 4 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.069 TRACE almost_raft::election::test: [node: 1] sending message RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Dec 02 01:14:38.069 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: 0x7f0d48003360, tail_position: 5 }, semaphore: (Semaphore { permits: 9 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.069 TRACE almost_raft::election::test: [node: 2] sending message RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Dec 02 01:14:38.069 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: 0x7f0d48003360, tail_position: 6 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.069 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Dec 02 01:14:38.069 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: 0x7f0d48003360, tail_position: 7 }, semaphore: (Semaphore { permits: 7 }, 10), rx_waker: AtomicWaker, tx_count: 5, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.069 TRACE almost_raft::election::test: [node: 4] sending message RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Dec 02 01:14:38.069 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 8987, remaining_heartbeat_interval: 1000 [INFO] [stdout] Dec 02 01:14:38.069 TRACE almost_raft::election: [node: raft-node] setting new timeout to 8987 [INFO] [stdout] Dec 02 01:14:38.069 TRACE almost_raft::election::test: multi-term: RequestVote { node_id: "raft-node", term: 2 } [INFO] [stdout] Dec 02 01:14:38.069 TRACE almost_raft::election::test: Some(RequestVote { node_id: "raft-node", term: 2 }) [INFO] [stdout] Dec 02 01:14:38.069 TRACE almost_raft::election::test: Some(RequestVote { node_id: "raft-node", term: 2 }) [INFO] [stdout] Dec 02 01:14:38.069 TRACE almost_raft::election::test: Some(RequestVote { node_id: "raft-node", term: 2 }) [INFO] [stdout] Dec 02 01:14:38.069 TRACE almost_raft::election: [node: raft-node] got message Some(RequestVoteResponse { term: 2, vote: true }) [INFO] [stdout] Dec 02 01:14:38.069 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 8987, remaining_heartbeat_interval: 1000 [INFO] [stdout] Dec 02 01:14:38.069 TRACE almost_raft::election: [node: raft-node] setting new timeout to 8987 [INFO] [stdout] Dec 02 01:14:38.069 TRACE almost_raft::election: [node: raft-node] got message Some(RequestVoteResponse { term: 2, vote: true }) [INFO] [stdout] Dec 02 01:14:38.069 DEBUG almost_raft::election: [node: raft-node] updating node state to NodeState::Leader [INFO] [stdout] Dec 02 01:14:38.070 TRACE almost_raft::election::test: [node: 1] sending message HeartBeat { leader_node_id: "raft-node", term: 2 } [INFO] [stdout] Dec 02 01:14:38.070 TRACE almost_raft::election: [node: raft-node] sent heartbeat [INFO] [stdout] Dec 02 01:14:38.070 TRACE almost_raft::election::test: [node: 2] sending message HeartBeat { leader_node_id: "raft-node", term: 2 } [INFO] [stdout] Dec 02 01:14:38.070 TRACE almost_raft::election: [node: raft-node] sent heartbeat [INFO] [stdout] Dec 02 01:14:38.070 TRACE almost_raft::election::test: [node: 3] sending message HeartBeat { leader_node_id: "raft-node", term: 2 } [INFO] [stdout] Dec 02 01:14:38.070 TRACE almost_raft::election: [node: raft-node] sent heartbeat [INFO] [stdout] Dec 02 01:14:38.070 TRACE almost_raft::election::test: [node: 4] sending message HeartBeat { leader_node_id: "raft-node", term: 2 } [INFO] [stdout] Dec 02 01:14:38.070 TRACE almost_raft::election: [node: raft-node] sent heartbeat [INFO] [stdout] Dec 02 01:14:38.070 TRACE almost_raft::election: [node: raft-node] remaining_election_timeout: 8987, remaining_heartbeat_interval: 1000 [INFO] [stdout] Dec 02 01:14:38.070 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] Dec 02 01:14:38.078 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] got message Some(ControlAddNode(NodeDummy { id: "3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f0d4c004f50, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } })) [INFO] [stdout] Dec 02 01:14:38.078 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] remaining_election_timeout: 8220, remaining_heartbeat_interval: 1000 [INFO] [stdout] Dec 02 01:14:38.078 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] setting new timeout to 8220 [INFO] [stdout] Dec 02 01:14:38.078 DEBUG almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] updating node state to NodeState::Candidate [INFO] [stdout] Dec 02 01:14:38.078 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] updating term from 0 to 1 [INFO] [stdout] Dec 02 01:14:38.078 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] sending vote request for term 1 to: NodeDummy { id: "1", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f0d4c004f50, tail_position: 0 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.078 TRACE almost_raft::election::test: [node: 1] sending message RequestVote { node_id: "afb7a80f-975e-4448-94ec-61089d21bd70", term: 1 } [INFO] [stdout] Dec 02 01:14:38.078 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] sending vote request for term 1 to: NodeDummy { id: "2", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f0d4c004f50, tail_position: 1 }, semaphore: (Semaphore { permits: 9 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.078 TRACE almost_raft::election::test: [node: 2] sending message RequestVote { node_id: "afb7a80f-975e-4448-94ec-61089d21bd70", term: 1 } [INFO] [stdout] Dec 02 01:14:38.078 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] sending vote request for term 1 to: NodeDummy { id: "3", sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x7f0d4c004f50, tail_position: 2 }, semaphore: (Semaphore { permits: 8 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.078 TRACE almost_raft::election::test: [node: 3] sending message RequestVote { node_id: "afb7a80f-975e-4448-94ec-61089d21bd70", term: 1 } [INFO] [stdout] Dec 02 01:14:38.078 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] remaining_election_timeout: 8235, remaining_heartbeat_interval: 1000 [INFO] [stdout] Dec 02 01:14:38.078 TRACE almost_raft::election: [node: afb7a80f-975e-4448-94ec-61089d21bd70] setting new timeout to 8235 [INFO] [stdout] Dec 02 01:14:38.078 TRACE almost_raft::election::test: Ok(Some(RequestVote { node_id: "afb7a80f-975e-4448-94ec-61089d21bd70", term: 1 })) [INFO] [stdout] test election::test::test_min_node ... ok [INFO] [stdout] Dec 02 01:14:38.115 DEBUG almost_raft::election: [node: raft-node-1] updating node state to NodeState::Candidate [INFO] [stdout] Dec 02 01:14:38.115 TRACE almost_raft::election: [node: raft-node-1] updating term from 0 to 1 [INFO] [stdout] Dec 02 01:14:38.115 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: 0x7f0d40004790, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.115 TRACE almost_raft::election::test: [node: raft-node-2] sending message RequestVote { node_id: "raft-node-1", term: 1 } [INFO] [stdout] Dec 02 01:14:38.115 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: 0x7f0d40005520, tail_position: 2 }, semaphore: (Semaphore { permits: 10 }, 10), rx_waker: AtomicWaker, tx_count: 4, rx_fields: "..." } } } } [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election::test: [node: raft-node-3] sending message RequestVote { node_id: "raft-node-1", term: 1 } [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 60, remaining_heartbeat_interval: 20 [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 60 [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-2] got message Some(RequestVote { node_id: "raft-node-1", term: 1 }) [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-2] updating term from 0 to 1 [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-2] current term: 1, sending vote to node: raft-node-1, for term: 1 [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election::test: [node: raft-node-1] sending message RequestVoteResponse { term: 1, vote: true } [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-2] remaining_election_timeout: 9, remaining_heartbeat_interval: 20 [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 9 [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-3] got message Some(RequestVote { node_id: "raft-node-1", term: 1 }) [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-3] updating term from 0 to 1 [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-3] current term: 1, sending vote to node: raft-node-1, for term: 1 [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election::test: [node: raft-node-1] sending message RequestVoteResponse { term: 1, vote: true } [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-3] remaining_election_timeout: 19, remaining_heartbeat_interval: 20 [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 19 [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-1] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Dec 02 01:14:38.116 DEBUG almost_raft::election: [node: raft-node-1] updating node state to NodeState::Leader [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election::test: [node: raft-node-2] sending message HeartBeat { leader_node_id: "raft-node-1", term: 1 } [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-1] sent heartbeat [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election::test: [node: raft-node-3] sending message HeartBeat { leader_node_id: "raft-node-1", term: 1 } [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-1] sent heartbeat [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 60, remaining_heartbeat_interval: 20 [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 20 [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-1] got message Some(RequestVoteResponse { term: 1, vote: true }) [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-1] remaining_election_timeout: 60, remaining_heartbeat_interval: 60 [INFO] [stdout] Dec 02 01:14:38.116 TRACE almost_raft::election: [node: raft-node-1] setting new timeout to 60 [INFO] [stdout] Dec 02 01:14:38.117 TRACE almost_raft::election: [node: raft-node-2] got message Some(HeartBeat { leader_node_id: "raft-node-1", term: 1 }) [INFO] [stdout] Dec 02 01:14:38.117 TRACE almost_raft::election: [node: raft-node-2] updating term to 1 [INFO] [stdout] Dec 02 01:14:38.117 DEBUG almost_raft::election: [node: raft-node-2] leader changed to node: raft-node-1 [INFO] [stdout] Dec 02 01:14:38.117 TRACE almost_raft::election: [node: raft-node-2] remaining_election_timeout: 70, remaining_heartbeat_interval: 20 [INFO] [stdout] Dec 02 01:14:38.117 TRACE almost_raft::election: [node: raft-node-2] setting new timeout to 70 [INFO] [stdout] Dec 02 01:14:38.117 TRACE almost_raft::election: [node: raft-node-3] got message Some(HeartBeat { leader_node_id: "raft-node-1", term: 1 }) [INFO] [stdout] Dec 02 01:14:38.117 TRACE almost_raft::election: [node: raft-node-3] updating term to 1 [INFO] [stdout] Dec 02 01:14:38.117 DEBUG almost_raft::election: [node: raft-node-3] leader changed to node: raft-node-1 [INFO] [stdout] Dec 02 01:14:38.117 TRACE almost_raft::election: [node: raft-node-3] remaining_election_timeout: 80, remaining_heartbeat_interval: 20 [INFO] [stdout] Dec 02 01:14:38.117 TRACE almost_raft::election: [node: raft-node-3] setting new timeout to 80 [INFO] [stdout] Dec 02 01:14:38.117 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.16s [INFO] [stdout] [INFO] [stderr] Doc-tests almost-raft [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" "0c3b06dbe2e42a580d481af3c48a4cfb34cce54559ffba473f0ee80b340d33c6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0c3b06dbe2e42a580d481af3c48a4cfb34cce54559ffba473f0ee80b340d33c6", kill_on_drop: false }` [INFO] [stdout] 0c3b06dbe2e42a580d481af3c48a4cfb34cce54559ffba473f0ee80b340d33c6