[INFO] fetching crate kotoba-db-cluster 0.1.21... [INFO] testing kotoba-db-cluster-0.1.21 against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145330-1 [INFO] extracting crate kotoba-db-cluster 0.1.21 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate kotoba-db-cluster 0.1.21 [INFO] finished tweaking crates.io crate kotoba-db-cluster 0.1.21 [INFO] tweaked toml for crates.io crate kotoba-db-cluster 0.1.21 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate kotoba-db-cluster 0.1.21 on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate kotoba-db-cluster 0.1.21 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded prost-build v0.11.9 [INFO] [stderr] Downloaded prost-derive v0.11.9 [INFO] [stderr] Downloaded prost v0.11.9 [INFO] [stderr] Downloaded tempfile v3.22.0 [INFO] [stderr] Downloaded prost-types v0.11.9 [INFO] [stderr] Downloaded tonic-build v0.9.2 [INFO] [stderr] Downloaded prettyplease v0.1.25 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ea98924f11326e2a0af50db06c7cc5757d4c3bc424f54d654b8fffbe0f18b608 [INFO] running `Command { std: "docker" "start" "-a" "ea98924f11326e2a0af50db06c7cc5757d4c3bc424f54d654b8fffbe0f18b608", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ea98924f11326e2a0af50db06c7cc5757d4c3bc424f54d654b8fffbe0f18b608", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ea98924f11326e2a0af50db06c7cc5757d4c3bc424f54d654b8fffbe0f18b608", kill_on_drop: false }` [INFO] [stdout] ea98924f11326e2a0af50db06c7cc5757d4c3bc424f54d654b8fffbe0f18b608 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "RUSTDOCFLAGS=--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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 68baf16123c71480ddfcaf6b9954accbd178bf962e6c4c3902c8741ec932fa42 [INFO] running `Command { std: "docker" "start" "-a" "68baf16123c71480ddfcaf6b9954accbd178bf962e6c4c3902c8741ec932fa42", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling libc v0.2.175 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling prettyplease v0.1.25 [INFO] [stderr] Compiling hashbrown v0.16.0 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling home v0.5.11 [INFO] [stderr] Compiling fixedbitset v0.4.2 [INFO] [stderr] Compiling log v0.4.28 [INFO] [stderr] Compiling serde_core v1.0.225 [INFO] [stderr] Compiling multimap v0.8.3 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling serde v1.0.225 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling dashmap v5.5.3 [INFO] [stderr] Compiling uuid v1.18.1 [INFO] [stderr] Compiling indexmap v2.11.4 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling tempfile v3.22.0 [INFO] [stderr] Compiling petgraph v0.6.5 [INFO] [stderr] Compiling regex-automata v0.4.10 [INFO] [stderr] Compiling which v4.4.2 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling regex v1.11.2 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.225 [INFO] [stderr] Compiling thiserror-impl v2.0.16 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling thiserror v2.0.16 [INFO] [stderr] Compiling prost-derive v0.11.9 [INFO] [stderr] Compiling prost v0.11.9 [INFO] [stderr] Compiling prost-types v0.11.9 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling prost-build v0.11.9 [INFO] [stderr] Compiling tonic-build v0.9.2 [INFO] [stderr] Compiling kotoba-db-cluster v0.1.21 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition value: `full` [INFO] [stdout] --> src/lib.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | #[cfg(feature = "full")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` [INFO] [stdout] = help: consider adding `full` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/consensus.rs:9:27 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/membership.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/consensus.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | let mut votes = 1; // Vote for ourselves [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:212:47 [INFO] [stdout] | [INFO] [stdout] 212 | async fn add_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:219:50 [INFO] [stdout] | [INFO] [stdout] 219 | async fn remove_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:244:63 [INFO] [stdout] | [INFO] [stdout] 244 | async fn handle_vote_request(&self, request: VoteRequest, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:285:82 [INFO] [stdout] | [INFO] [stdout] 285 | ...AppendEntriesRequest, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/membership.rs:190:45 [INFO] [stdout] | [INFO] [stdout] 190 | async fn start_heartbeat_monitor(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender src/membership.rs:224:44 [INFO] [stdout] | [INFO] [stdout] 224 | async fn start_failure_detector(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender src/replication.rs:150:42 [INFO] [stdout] | [INFO] [stdout] 150 | async fn start_status_monitor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/replication.rs:195:43 [INFO] [stdout] | [INFO] [stdout] 195 | async fn start_queue_processor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/replication.rs:261:9 [INFO] [stdout] | [INFO] [stdout] 261 | item: &ReplicationItem, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/replication.rs:235:42 [INFO] [stdout] | [INFO] [stdout] 235 | async fn start_sync_scheduler(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_id` [INFO] [stdout] --> src/replication.rs:429:48 [INFO] [stdout] | [INFO] [stdout] 429 | pub fn record_operation_failure(&mut self, node_id: &NodeId) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `election_timeout`, `heartbeat_interval`, and `command_rx` are never read [INFO] [stdout] --> src/consensus.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct RaftConsensus { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | election_timeout: (Duration, Duration), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | /// Heartbeat interval [INFO] [stdout] 20 | heartbeat_interval: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/consensus.rs:51:14 [INFO] [stdout] | [INFO] [stdout] 28 | impl RaftConsensus { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | async fn start_election_timer(&self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | async fn start_heartbeat_timer(&self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | async fn start_command_processor(&mut self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | fn random_election_timeout(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | async fn start_election(&self, state: &mut ConsensusState, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | async fn send_heartbeats(&self, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | async fn propose_operation(&self, operation: Operation, cluster_state: &ClusterState) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | async fn add_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | async fn remove_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config`, `membership_rx`, and `command_rx` are never read [INFO] [stdout] --> src/membership.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct MembershipManager { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | config: MembershipConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | membership_rx: broadcast::Receiver, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `start_heartbeat_monitor`, `start_failure_detector`, and `start_command_processor` are never used [INFO] [stdout] --> src/membership.rs:190:14 [INFO] [stdout] | [INFO] [stdout] 29 | impl MembershipManager { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 190 | async fn start_heartbeat_monitor(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender, membership_tx: tokio::sync::broadcast::Sender, _command_tx: tokio::sync::mpsc::Sender,... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config` and `command_rx` are never read [INFO] [stdout] --> src/replication.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct ReplicationManager { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | config: ReplicationConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `start_status_monitor`, `start_queue_processor`, `start_sync_scheduler`, and `replicate_item_to_node` are never used [INFO] [stdout] --> src/replication.rs:150:14 [INFO] [stdout] | [INFO] [stdout] 28 | impl ReplicationManager { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 150 | async fn start_status_monitor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | async fn start_queue_processor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | async fn start_sync_scheduler(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | async fn replicate_item_to_node( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.33s [INFO] running `Command { std: "docker" "inspect" "68baf16123c71480ddfcaf6b9954accbd178bf962e6c4c3902c8741ec932fa42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "68baf16123c71480ddfcaf6b9954accbd178bf962e6c4c3902c8741ec932fa42", kill_on_drop: false }` [INFO] [stdout] 68baf16123c71480ddfcaf6b9954accbd178bf962e6c4c3902c8741ec932fa42 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "RUSTDOCFLAGS=--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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b1e20909e7f7ccba32f9ae072ad962ddf52e98b2c68571e87e2f6cee363f2e73 [INFO] running `Command { std: "docker" "start" "-a" "b1e20909e7f7ccba32f9ae072ad962ddf52e98b2c68571e87e2f6cee363f2e73", kill_on_drop: false }` [INFO] [stdout] warning: unexpected `cfg` condition value: `full` [INFO] [stdout] --> src/lib.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | #[cfg(feature = "full")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` [INFO] [stdout] = help: consider adding `full` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/consensus.rs:9:27 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/membership.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/consensus.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | let mut votes = 1; // Vote for ourselves [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:212:47 [INFO] [stdout] | [INFO] [stdout] 212 | async fn add_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:219:50 [INFO] [stdout] | [INFO] [stdout] 219 | async fn remove_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:244:63 [INFO] [stdout] | [INFO] [stdout] 244 | async fn handle_vote_request(&self, request: VoteRequest, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:285:82 [INFO] [stdout] | [INFO] [stdout] 285 | ...AppendEntriesRequest, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/membership.rs:190:45 [INFO] [stdout] | [INFO] [stdout] 190 | async fn start_heartbeat_monitor(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender src/membership.rs:224:44 [INFO] [stdout] | [INFO] [stdout] 224 | async fn start_failure_detector(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender src/replication.rs:150:42 [INFO] [stdout] | [INFO] [stdout] 150 | async fn start_status_monitor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/replication.rs:195:43 [INFO] [stdout] | [INFO] [stdout] 195 | async fn start_queue_processor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/replication.rs:261:9 [INFO] [stdout] | [INFO] [stdout] 261 | item: &ReplicationItem, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/replication.rs:235:42 [INFO] [stdout] | [INFO] [stdout] 235 | async fn start_sync_scheduler(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_id` [INFO] [stdout] --> src/replication.rs:429:48 [INFO] [stdout] | [INFO] [stdout] 429 | pub fn record_operation_failure(&mut self, node_id: &NodeId) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `election_timeout`, `heartbeat_interval`, and `command_rx` are never read [INFO] [stdout] --> src/consensus.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct RaftConsensus { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | election_timeout: (Duration, Duration), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | /// Heartbeat interval [INFO] [stdout] 20 | heartbeat_interval: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/consensus.rs:51:14 [INFO] [stdout] | [INFO] [stdout] 28 | impl RaftConsensus { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | async fn start_election_timer(&self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | async fn start_heartbeat_timer(&self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | async fn start_command_processor(&mut self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | fn random_election_timeout(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | async fn start_election(&self, state: &mut ConsensusState, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | async fn send_heartbeats(&self, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | async fn propose_operation(&self, operation: Operation, cluster_state: &ClusterState) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | async fn add_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | async fn remove_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config`, `membership_rx`, and `command_rx` are never read [INFO] [stdout] --> src/membership.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct MembershipManager { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | config: MembershipConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | membership_rx: broadcast::Receiver, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `start_heartbeat_monitor`, `start_failure_detector`, and `start_command_processor` are never used [INFO] [stdout] --> src/membership.rs:190:14 [INFO] [stdout] | [INFO] [stdout] 29 | impl MembershipManager { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 190 | async fn start_heartbeat_monitor(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender, membership_tx: tokio::sync::broadcast::Sender, _command_tx: tokio::sync::mpsc::Sender,... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config` and `command_rx` are never read [INFO] [stdout] --> src/replication.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct ReplicationManager { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | config: ReplicationConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `start_status_monitor`, `start_queue_processor`, `start_sync_scheduler`, and `replicate_item_to_node` are never used [INFO] [stdout] --> src/replication.rs:150:14 [INFO] [stdout] | [INFO] [stdout] 28 | impl ReplicationManager { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 150 | async fn start_status_monitor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | async fn start_queue_processor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | async fn start_sync_scheduler(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | async fn replicate_item_to_node( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling kotoba-db-cluster v0.1.21 (/opt/rustwide/workdir) [INFO] [stdout] warning: unexpected `cfg` condition value: `full` [INFO] [stdout] --> src/lib.rs:19:7 [INFO] [stdout] | [INFO] [stdout] 19 | #[cfg(feature = "full")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `default` [INFO] [stdout] = help: consider adding `full` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Instant` [INFO] [stdout] --> src/consensus.rs:9:27 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/membership.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/consensus.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | let mut votes = 1; // Vote for ourselves [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:212:47 [INFO] [stdout] | [INFO] [stdout] 212 | async fn add_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:219:50 [INFO] [stdout] | [INFO] [stdout] 219 | async fn remove_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:244:63 [INFO] [stdout] | [INFO] [stdout] 244 | async fn handle_vote_request(&self, request: VoteRequest, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/consensus.rs:285:82 [INFO] [stdout] | [INFO] [stdout] 285 | ...AppendEntriesRequest, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/membership.rs:190:45 [INFO] [stdout] | [INFO] [stdout] 190 | async fn start_heartbeat_monitor(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender src/membership.rs:224:44 [INFO] [stdout] | [INFO] [stdout] 224 | async fn start_failure_detector(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender src/replication.rs:150:42 [INFO] [stdout] | [INFO] [stdout] 150 | async fn start_status_monitor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/replication.rs:195:43 [INFO] [stdout] | [INFO] [stdout] 195 | async fn start_queue_processor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `item` [INFO] [stdout] --> src/replication.rs:261:9 [INFO] [stdout] | [INFO] [stdout] 261 | item: &ReplicationItem, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cluster_state` [INFO] [stdout] --> src/replication.rs:235:42 [INFO] [stdout] | [INFO] [stdout] 235 | async fn start_sync_scheduler(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `node_id` [INFO] [stdout] --> src/replication.rs:429:48 [INFO] [stdout] | [INFO] [stdout] 429 | pub fn record_operation_failure(&mut self, node_id: &NodeId) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `election_timeout`, `heartbeat_interval`, and `command_rx` are never read [INFO] [stdout] --> src/consensus.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct RaftConsensus { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | election_timeout: (Duration, Duration), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 19 | /// Heartbeat interval [INFO] [stdout] 20 | heartbeat_interval: Duration, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/consensus.rs:51:14 [INFO] [stdout] | [INFO] [stdout] 28 | impl RaftConsensus { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | async fn start_election_timer(&self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | async fn start_heartbeat_timer(&self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | async fn start_command_processor(&mut self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | fn random_election_timeout(&self) -> Duration { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | async fn start_election(&self, state: &mut ConsensusState, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | async fn send_heartbeats(&self, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | async fn propose_operation(&self, operation: Operation, cluster_state: &ClusterState) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | async fn add_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | async fn remove_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config`, `membership_rx`, and `command_rx` are never read [INFO] [stdout] --> src/membership.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct MembershipManager { [INFO] [stdout] | ----------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | config: MembershipConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | membership_rx: broadcast::Receiver, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `start_heartbeat_monitor`, `start_failure_detector`, and `start_command_processor` are never used [INFO] [stdout] --> src/membership.rs:190:14 [INFO] [stdout] | [INFO] [stdout] 29 | impl MembershipManager { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 190 | async fn start_heartbeat_monitor(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender, membership_tx: tokio::sync::broadcast::Sender, _command_tx: tokio::sync::mpsc::Sender,... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config` and `command_rx` are never read [INFO] [stdout] --> src/replication.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct ReplicationManager { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 18 | config: ReplicationConfig, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | command_rx: mpsc::Receiver, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `start_status_monitor`, `start_queue_processor`, `start_sync_scheduler`, and `replicate_item_to_node` are never used [INFO] [stdout] --> src/replication.rs:150:14 [INFO] [stdout] | [INFO] [stdout] 28 | impl ReplicationManager { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 150 | async fn start_status_monitor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | async fn start_queue_processor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | async fn start_sync_scheduler(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | async fn replicate_item_to_node( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2.68s [INFO] running `Command { std: "docker" "inspect" "b1e20909e7f7ccba32f9ae072ad962ddf52e98b2c68571e87e2f6cee363f2e73", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b1e20909e7f7ccba32f9ae072ad962ddf52e98b2c68571e87e2f6cee363f2e73", kill_on_drop: false }` [INFO] [stdout] b1e20909e7f7ccba32f9ae072ad962ddf52e98b2c68571e87e2f6cee363f2e73 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "RUSTDOCFLAGS=--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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 64deb11147ca2c4a5cf04d8190e82ffec7f19c40c764e9a0b03ae89de0eb564c [INFO] running `Command { std: "docker" "start" "-a" "64deb11147ca2c4a5cf04d8190e82ffec7f19c40c764e9a0b03ae89de0eb564c", kill_on_drop: false }` [INFO] [stderr] warning: unexpected `cfg` condition value: `full` [INFO] [stderr] --> src/lib.rs:19:7 [INFO] [stderr] | [INFO] [stderr] 19 | #[cfg(feature = "full")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `default` [INFO] [stderr] = help: consider adding `full` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Instant` [INFO] [stderr] --> src/consensus.rs:9:27 [INFO] [stderr] | [INFO] [stderr] 9 | use std::time::{Duration, Instant}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `HashSet` [INFO] [stderr] --> src/membership.rs:7:33 [INFO] [stderr] | [INFO] [stderr] 7 | use std::collections::{HashMap, HashSet}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/consensus.rs:133:13 [INFO] [stderr] | [INFO] [stderr] 133 | let mut votes = 1; // Vote for ourselves [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cluster_state` [INFO] [stderr] --> src/consensus.rs:212:47 [INFO] [stderr] | [INFO] [stderr] 212 | async fn add_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cluster_state` [INFO] [stderr] --> src/consensus.rs:219:50 [INFO] [stderr] | [INFO] [stderr] 219 | async fn remove_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cluster_state` [INFO] [stderr] --> src/consensus.rs:244:63 [INFO] [stderr] | [INFO] [stderr] 244 | async fn handle_vote_request(&self, request: VoteRequest, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cluster_state` [INFO] [stderr] --> src/consensus.rs:285:82 [INFO] [stderr] | [INFO] [stderr] 285 | ...AppendEntriesRequest, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cluster_state` [INFO] [stderr] --> src/membership.rs:190:45 [INFO] [stderr] | [INFO] [stderr] 190 | async fn start_heartbeat_monitor(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender src/membership.rs:224:44 [INFO] [stderr] | [INFO] [stderr] 224 | async fn start_failure_detector(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender src/replication.rs:150:42 [INFO] [stderr] | [INFO] [stderr] 150 | async fn start_status_monitor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cluster_state` [INFO] [stderr] --> src/replication.rs:195:43 [INFO] [stderr] | [INFO] [stderr] 195 | async fn start_queue_processor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `item` [INFO] [stderr] --> src/replication.rs:261:9 [INFO] [stderr] | [INFO] [stderr] 261 | item: &ReplicationItem, [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_item` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cluster_state` [INFO] [stderr] --> src/replication.rs:235:42 [INFO] [stderr] | [INFO] [stderr] 235 | async fn start_sync_scheduler(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stderr] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cluster_state` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `node_id` [INFO] [stderr] --> src/replication.rs:429:48 [INFO] [stderr] | [INFO] [stderr] 429 | pub fn record_operation_failure(&mut self, node_id: &NodeId) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id` [INFO] [stderr] [INFO] [stderr] warning: fields `election_timeout`, `heartbeat_interval`, and `command_rx` are never read [INFO] [stderr] --> src/consensus.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub struct RaftConsensus { [INFO] [stderr] | ------------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 18 | election_timeout: (Duration, Duration), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] 19 | /// Heartbeat interval [INFO] [stderr] 20 | heartbeat_interval: Duration, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 25 | command_rx: mpsc::Receiver, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/consensus.rs:51:14 [INFO] [stderr] | [INFO] [stderr] 28 | impl RaftConsensus { [INFO] [stderr] | ------------------ methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 51 | async fn start_election_timer(&self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 68 | async fn start_heartbeat_timer(&self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 87 | async fn start_command_processor(&mut self, cluster_state: Arc) -> Result<(), ConsensusError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 109 | fn random_election_timeout(&self) -> Duration { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 117 | async fn start_election(&self, state: &mut ConsensusState, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 157 | async fn send_heartbeats(&self, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 180 | async fn propose_operation(&self, operation: Operation, cluster_state: &ClusterState) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 212 | async fn add_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 219 | async fn remove_node(&self, node_id: NodeId, cluster_state: &ClusterState) -> Result<(), ConsensusError> { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `config`, `membership_rx`, and `command_rx` are never read [INFO] [stderr] --> src/membership.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub struct MembershipManager { [INFO] [stderr] | ----------------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 18 | config: MembershipConfig, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 23 | membership_rx: broadcast::Receiver, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 26 | command_rx: mpsc::Receiver, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `start_heartbeat_monitor`, `start_failure_detector`, and `start_command_processor` are never used [INFO] [stderr] --> src/membership.rs:190:14 [INFO] [stderr] | [INFO] [stderr] 29 | impl MembershipManager { [INFO] [stderr] | ---------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 190 | async fn start_heartbeat_monitor(&self, cluster_state: Arc, membership_tx: tokio::sync::broadcast::Sender, membership_tx: tokio::sync::broadcast::Sender, _command_tx: tokio::sync::mpsc::Sender,... [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `config` and `command_rx` are never read [INFO] [stderr] --> src/replication.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 14 | pub struct ReplicationManager { [INFO] [stderr] | ------------------ fields in this struct [INFO] [stderr] ... [INFO] [stderr] 18 | config: ReplicationConfig, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 25 | command_rx: mpsc::Receiver, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `start_status_monitor`, `start_queue_processor`, `start_sync_scheduler`, and `replicate_item_to_node` are never used [INFO] [stderr] --> src/replication.rs:150:14 [INFO] [stderr] | [INFO] [stderr] 28 | impl ReplicationManager { [INFO] [stderr] | ----------------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 150 | async fn start_status_monitor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 195 | async fn start_queue_processor(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 235 | async fn start_sync_scheduler(&self, cluster_state: Arc) -> Result<(), ReplicationError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 260 | async fn replicate_item_to_node( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `kotoba-db-cluster` (lib) generated 21 warnings (run `cargo fix --lib -p kotoba-db-cluster` to apply 3 suggestions) [INFO] [stderr] warning: `kotoba-db-cluster` (lib test) generated 21 warnings (21 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kotoba_db_cluster-e94aa74d8aae0e4e) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test membership::tests::test_add_remove_node ... ok [INFO] [stdout] test membership::tests::test_cluster_stats ... ok [INFO] [stdout] test membership::tests::test_heartbeat_info ... ok [INFO] [stdout] test partitioning::tests::test_key_range ... ok [INFO] [stdout] test membership::tests::test_membership_manager_creation ... ok [INFO] [stdout] test replication::tests::test_replication_queue ... ok [INFO] [stdout] test tests::test_partition_assignment ... ok [INFO] [stdout] test replication::tests::test_replication_manager_creation ... ok [INFO] [stdout] test tests::test_cluster_state_creation ... ok [INFO] [stdout] test replication::tests::test_replication_status ... ok [INFO] [stdout] test partitioning::tests::test_partition_stats ... ok [INFO] [stdout] test partitioning::tests::test_partition_assignment ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Doc-tests kotoba_db_cluster [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "64deb11147ca2c4a5cf04d8190e82ffec7f19c40c764e9a0b03ae89de0eb564c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "64deb11147ca2c4a5cf04d8190e82ffec7f19c40c764e9a0b03ae89de0eb564c", kill_on_drop: false }` [INFO] [stdout] 64deb11147ca2c4a5cf04d8190e82ffec7f19c40c764e9a0b03ae89de0eb564c