Skip to content

feat: db state sync by merk chunking #461

feat: db state sync by merk chunking

feat: db state sync by merk chunking #461

Triggered via pull request April 30, 2024 08:02
Status Failure
Total duration 6m 51s
Artifacts

grovedb.yml

on: pull_request
Fit to window
Zoom out
Zoom in

Annotations

2 errors and 49 warnings
Tests
Process completed with exit code 101.
Compilation errors
Process completed with exit code 101.
Dependencies security audit
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: styfle/[email protected], actions/checkout@v2, actions-rs/audit-check@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Dependencies security audit
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/[email protected], actions/checkout@v2, actions-rs/audit-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Dependencies security audit
2 warnings found!
Dependencies security audit
Unknown warning kind unsound found, please, file a bug
Formatting
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Formatting
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Formatting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Formatting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Formatting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Formatting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
unused `std::result::Result` that must be used: /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/macros/mod.rs#L644
warning: unused `std::result::Result` that must be used --> grovedb/src/lib.rs:282:13 | 282 | / writeln!( 283 | | f, 284 | | " prefix:{:?} -> path:{:?}\n", 285 | | hex::encode(prefix), 286 | | metadata_path_str 287 | | ); | |_____________^ | = note: this `Result` may be an `Err` variant, which should be handled = note: `#[warn(unused_must_use)]` on by default = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info)
very complex type used. Consider factoring parts into `type` definitions: grovedb/src/lib.rs#L1008
warning: very complex type used. Consider factoring parts into `type` definitions --> grovedb/src/lib.rs:1008:10 | 1008 | ) -> Result<HashMap<Vec<Vec<u8>>, (CryptoHash, CryptoHash, CryptoHash)>, Error> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
very complex type used. Consider factoring parts into `type` definitions: grovedb/src/lib.rs#L938
warning: very complex type used. Consider factoring parts into `type` definitions --> grovedb/src/lib.rs:938:10 | 938 | ) -> Result<HashMap<Vec<Vec<u8>>, (CryptoHash, CryptoHash, CryptoHash)>, Error> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
very complex type used. Consider factoring parts into `type` definitions: grovedb/src/lib.rs#L912
warning: very complex type used. Consider factoring parts into `type` definitions --> grovedb/src/lib.rs:912:10 | 912 | ) -> Result<HashMap<Vec<Vec<u8>>, (CryptoHash, CryptoHash, CryptoHash)>, Error> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity = note: `#[warn(clippy::type_complexity)]` on by default
this function has too many arguments (9/7): grovedb/src/operations/proof/generate.rs#L488
warning: this function has too many arguments (9/7) --> grovedb/src/operations/proof/generate.rs:488:5 | 488 | / fn generate_and_store_merk_proof<'a, S, B>( 489 | | &self, 490 | | path: &SubtreePath<B>, 491 | | subtree: &'a Merk<S>, ... | 497 | | key: &[u8], 498 | | ) -> CostResult<(Option<u16>, Option<u16>), Error> | |______________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/operations/proof/generate.rs#L172
warning: this function has too many arguments (8/7) --> grovedb/src/operations/proof/generate.rs:172:5 | 172 | / fn prove_subqueries( 173 | | &self, 174 | | proofs: &mut Vec<u8>, 175 | | path: Vec<&[u8]>, ... | 180 | | is_verbose: bool, 181 | | ) -> CostResult<(), Error> { | |______________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (11/7): grovedb/src/element/query.rs#L546
warning: this function has too many arguments (11/7) --> grovedb/src/element/query.rs:546:5 | 546 | / fn query_item( 547 | | storage: &RocksDbStorage, 548 | | item: &QueryItem, 549 | | results: &mut Vec<QueryResultElement>, ... | 557 | | add_element_function: fn(PathQueryPushArgs) -> CostResult<(), Error>, 558 | | ) -> CostResult<(), Error> { | |______________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments = note: `#[warn(clippy::too_many_arguments)]` on by default
this `let...else` may be rewritten with the `?` operator: grovedb/src/element/helpers.rs#L319
warning: this `let...else` may be rewritten with the `?` operator --> grovedb/src/element/helpers.rs:319:9 | 319 | / let Some(value_cost) = self.get_specialized_cost().ok() else { 320 | | return None; 321 | | }; | |__________^ help: replace it with: `let value_cost = self.get_specialized_cost().ok()?;` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark = note: `#[warn(clippy::question_mark)]` on by default
writing `&Vec` instead of `&[_]` involves a new object where a slice will do: grovedb/src/element/helpers.rs#L248
warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do --> grovedb/src/element/helpers.rs:248:14 | 248 | key: &Vec<u8>, | ^^^^^^^^ help: change this to: `&[u8]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg = note: `#[warn(clippy::ptr_arg)]` on by default
function `read_proof_version` is never used: grovedb/src/versioning.rs#L12
warning: function `read_proof_version` is never used --> grovedb/src/versioning.rs:12:8 | 12 | pub fn read_proof_version(mut bytes: &[u8]) -> Result<u32, Error> { | ^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
useless use of `vec!`: merk/src/merk/restore.rs#L75
warning: useless use of `vec!` --> merk/src/merk/restore.rs:75:70 | 75 | chunk_id_to_root_hash.insert(traversal_instruction_as_string(&vec![]), expected_root_hash); | ^^^^^^^ help: you can use a slice directly: `&[]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec = note: `#[warn(clippy::useless_vec)]` on by default
this function has too many arguments (8/7): merk/src/tree/mod.rs#L811
warning: this function has too many arguments (8/7) --> merk/src/tree/mod.rs:811:5 | 811 | / pub fn put_value_with_reference_value_hash_and_value_cost( 812 | | mut self, 813 | | value: Vec<u8>, 814 | | value_hash: CryptoHash, ... | 833 | | >, 834 | | ) -> CostResult<Self, Error> { | |________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): merk/src/tree/walk/mod.rs#L344
warning: this function has too many arguments (8/7) --> merk/src/tree/walk/mod.rs:344:5 | 344 | / pub fn put_value_with_reference_value_hash_and_value_cost( 345 | | mut self, 346 | | value: Vec<u8>, 347 | | value_hash: CryptoHash, ... | 366 | | >, 367 | | ) -> CostResult<Self, Error> { | |________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (9/7): merk/src/tree/ops.rs#L718
warning: this function has too many arguments (9/7) --> merk/src/tree/ops.rs:718:5 | 718 | / fn recurse<K: AsRef<[u8]>, C, V, U, R>( 719 | | self, 720 | | batch: &MerkBatch<K>, 721 | | mid: usize, ... | 727 | | section_removal_bytes: &mut R, 728 | | ) -> CostResult<(Option<Self>, KeyUpdates), Error> | |______________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
module has the same name as its containing module: merk/src/proofs/chunk.rs#L33
warning: module has the same name as its containing module --> merk/src/proofs/chunk.rs:33:1 | 33 | pub mod chunk; | ^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception = note: `#[warn(clippy::module_inception)]` on by default
this function has too many arguments (8/7): merk/src/merk/apply.rs#L277
warning: this function has too many arguments (8/7) --> merk/src/merk/apply.rs:277:5 | 277 | / pub fn apply_unchecked<KB, KA, C, V, U, R>( 278 | | &mut self, 279 | | batch: &MerkBatch<KB>, 280 | | aux: &AuxMerkBatch<KA>, ... | 285 | | section_removal_bytes: &mut R, 286 | | ) -> CostResult<(), Error> | |______________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): merk/src/merk/apply.rs#L176
warning: this function has too many arguments (8/7) --> merk/src/merk/apply.rs:176:5 | 176 | / pub fn apply_with_costs_just_in_time_value_update<KB, KA>( 177 | | &mut self, 178 | | batch: &MerkBatch<KB>, 179 | | aux: &AuxMerkBatch<KA>, ... | 198 | | >, 199 | | ) -> CostResult<(), Error> | |______________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments = note: `#[warn(clippy::too_many_arguments)]` on by default
very complex type used. Consider factoring parts into `type` definitions: merk/src/merk/chunks.rs#L376
warning: very complex type used. Consider factoring parts into `type` definitions --> merk/src/merk/chunks.rs:376:33 | 376 | fn next_chunk(&mut self) -> Option<Result<(Vec<Op>, Option<String>), Error>> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity = note: `#[warn(clippy::type_complexity)]` on by default
method `attempt_state_recovery` is never used: merk/src/merk/restore.rs#L387
warning: method `attempt_state_recovery` is never used --> merk/src/merk/restore.rs:387:8 | 66 | impl<'db, S: StorageContext<'db>> Restorer<S> { | --------------------------------------------- method in this implementation ... 387 | fn attempt_state_recovery(&mut self) -> Result<(), Error> { | ^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
value assigned to `chunk_byte_length` is never read: merk/src/merk/chunks.rs#L285
warning: value assigned to `chunk_byte_length` is never read --> merk/src/merk/chunks.rs:285:17 | 285 | let mut chunk_byte_length = 0; | ^^^^^^^^^^^^^^^^^ | = help: maybe it is overwritten before being read? = note: `#[warn(unused_assignments)]` on by default
'test' may be misspelled as 'tests': merk/src/tree/fuzz_tests.rs#L31
warning: 'test' may be misspelled as 'tests' --> merk/src/tree/fuzz_tests.rs:31:8 | 31 | #![cfg(tests)] | ^^^^^ help: did you mean: `test` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#maybe_misused_cfg = note: `#[warn(clippy::maybe_misused_cfg)]` on by default
Linting
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1, actions-rs/clippy-check@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Linting
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Linting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Linting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Linting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Linting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Tests
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Tests
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Compilation errors
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Compilation errors
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Compilation errors
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Compilation errors
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Compilation errors
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Compilation errors
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/