Zebra/zebrad/tests/common
teor 343c5e68d4
change(state): Write finalized blocks to the state in a separate thread, to avoid network and RPC hangs (#5134)
* Add a new block commit task and channels, that don't do anything yet

* Add last_block_hash_sent to the state service, to avoid database accesses

* Update last_block_hash_sent regardless of commit errors

* Rename a field to StateService.max_queued_finalized_height

* Commit finalized blocks to the state in a separate task

* Check for panics in the block write task

* Wait for the block commit task in tests, and check for errors

* Always run a proptest that sleeps once

* Add extra debugging to state shutdowns

* Work around a RocksDB shutdown bug

* Close the finalized block channel when we're finished with it

* Only reset state queue once per error

* Update some TODOs

* Add a module doc comment

* Drop channels and check for closed channels in the block commit task

* Close state channels and tasks on drop

* Remove some duplicate fields across StateService and ReadStateService

* Try tweaking the shutdown steps

* Update and clarify some comments

* Clarify another comment

* Don't try to cancel RocksDB background work on drop

* Fix up some comments

* Remove some duplicate code

* Remove redundant workarounds for shutdown issues

* Remode a redundant channel close in the block commit task

* Remove a mistaken `!force` shutdown condition

* Remove duplicate force-shutdown code and explain it better

* Improve RPC error logging

* Wait for chain tip updates in the RPC tests

* Wait 2 seconds for chain tip updates before skipping them

* Remove an unnecessary block_in_place()

* Fix some test error messages that were changed by earlier fixes

* Expand some comments, fix typos

Co-authored-by: Marek <mail@marek.onl>

* Actually drop children of failed blocks

* Explain why we drop descendants of failed blocks

* Clarify a comment

* Wait for chain tip updates in a failing test on macOS

* Clean duplicate finalized blocks when the non-finalized state activates

* Send an error when receiving a duplicate finalized block

* Update checkpoint block behaviour, document its consensus rule

* Wait for chain tip changes in inbound_block_height_lookahead_limit test

* Wait for the genesis block to commit in the fake peer set mempool tests

* Disable unreliable mempool verification check in the send transaction test

* Appease rustfmt

* Use clear_finalized_block_queue() everywhere that blocks are dropped

* Document how Finalized and NonFinalized clones are different

* Use the same check as commit_finalized() for finalized block heights

Co-authored-by: Marek <mail@marek.onl>

Co-authored-by: Marek <mail@marek.onl>
2022-09-28 16:09:56 +00:00
..
configs tests(config): Upgrade config file tests (#5112) 2022-09-08 05:21:43 +00:00
lightwalletd change(state): Write finalized blocks to the state in a separate thread, to avoid network and RPC hangs (#5134) 2022-09-28 16:09:56 +00:00
cached_state.rs add(test): test disabled `lightwalletd` mempool gRPCs via zebrad logs (#5016) 2022-09-06 13:32:33 +00:00
check.rs T0. refactor(test): split zebrad acceptance tests into sub-modules (#3901) 2022-03-18 16:02:22 +00:00
config.rs tests(config): Upgrade config file tests (#5112) 2022-09-08 05:21:43 +00:00
failure_messages.rs fix(ci): test RPCs with zcash/lightwalletd, to fix post-NU5 failures in adityapk00/lightwalletd (#4553) 2022-06-01 07:36:59 -04:00
launch.rs add(test): test disabled `lightwalletd` mempool gRPCs via zebrad logs (#5016) 2022-09-06 13:32:33 +00:00
lightwalletd.rs add(test): test disabled `lightwalletd` mempool gRPCs via zebrad logs (#5016) 2022-09-06 13:32:33 +00:00
mod.rs fix(doc): Fix the syntax of links in comments (#4494) 2022-05-30 20:12:11 +00:00
sync.rs Increase full sync time to 32 hours (#5172) 2022-09-15 14:55:24 +00:00