dependabot[bot]
b618f5b522
build(deps): bump tracing-subscriber from 0.2.16 to 0.2.17
...
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing ) from 0.2.16 to 0.2.17.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.2.16...tracing-subscriber-0.2.17 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-03-14 19:37:24 -04:00
teor
1e1859f5a3
Merge pull request #1887 from ZcashFoundation/revert-1877-revert-1789-large-sync-testnet-disable
...
Revert "Revert "Disable unreliable `sync_large_checkpoints_testnet`""
This disables the failing large testnet sync test.
2021-03-12 12:31:19 +10:00
teor
d494af1e90
Document how the syncer resists memory DoS
2021-03-11 06:24:46 -05:00
teor
c6358b157c
Reduce inbound concurrency to limit memory usage
...
Inbound malicious blocks can use a large amount of RAM when
deserialized. Limit inbound concurrency, so that the total amount
of RAM remains small.
2021-03-11 06:24:46 -05:00
teor
475deaf655
Adjust the crawl interval and acceptance test timeout ( #1878 )
2021-03-11 07:53:37 +10:00
teor
ac4611ffc4
Revert "Disable unreliable `sync_large_checkpoints_testnet` ( #1789 )"
...
This reverts commit bae49e54df .
2021-03-10 02:14:09 -05:00
dependabot[bot]
70327dc9f5
build(deps): bump once_cell from 1.6.0 to 1.7.0
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/matklad/once_cell/releases )
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.6.0...v1.7.0 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-02-25 15:32:03 -05:00
teor
fb6acfaff7
Update the acceptance test port range ( #1812 )
...
Windows can reserve or use ports up to 53500.
Windows and macOS sequentially allocate ephemeral ports,
starting at 41952.
2021-02-25 09:27:56 +10:00
dependabot[bot]
dab65b33eb
build(deps): bump once_cell from 1.5.2 to 1.6.0
...
Bumps [once_cell](https://github.com/matklad/once_cell ) from 1.5.2 to 1.6.0.
- [Release notes](https://github.com/matklad/once_cell/releases )
- [Changelog](https://github.com/matklad/once_cell/blob/master/CHANGELOG.md )
- [Commits](https://github.com/matklad/once_cell/compare/v1.5.2...v1.6.0 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-02-23 10:59:40 -05:00
teor
7558f74c78
Bump versions for zebrad 1.0.0-alpha.3
2021-02-23 10:39:13 -05:00
dependabot[bot]
304d7682f5
build(deps): bump tracing-subscriber from 0.2.15 to 0.2.16
...
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing ) from 0.2.15 to 0.2.16.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.2.15...tracing-subscriber-0.2.16 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-02-22 01:38:42 -05:00
Alfredo Garcia
bae49e54df
Disable unreliable `sync_large_checkpoints_testnet` ( #1789 )
...
* delete `sync_large_checkpoints_testnet`
2021-02-19 21:40:01 +00:00
teor
b0bc4a79c9
Disable conflict failure cleanup on macOS
2021-02-20 06:22:11 +10:00
teor
af12f20732
Re-enable macOS conflict tests
...
We disabled these tests pending #1613 . But the comment incorrectly said
we were waiting for #1631 .
2021-02-20 06:22:11 +10:00
teor
c51fd688ee
Skip node2.is_running() on Windows
...
`node2.is_running()` can return `true` on Windows, even though `node2`
has logged a panic. This cleanup code only runs if `node2` fails to panic
and exit as expected. So it's ok for us to skip it.
See #1781 for details.
2021-02-19 18:03:07 +10:00
teor
631fe22422
Fix conflict test node termination
...
On Windows, if a process is killed after it is dead, it returns `true`
for `was_killed`. Instead, check if the process is running before killing
it.
Also make the section where processes are running as short as possible,
and include context for both processes in every error.
2021-02-19 18:03:07 +10:00
teor
bcb9cead88
Kill running acceptance test nodes on error ( #1770 )
...
And show the output from those nodes.
These changes help us diagnose errors that happen while one or more
acceptance test nodes are running.
2021-02-19 06:46:27 +10:00
teor
e61b5e50a2
Diagnostics for CI port conflict failures ( #1766 )
...
Log a "Trying..." message before each listener opens, to see if the
delay is inside Zebra, or in the test harness or OS.
Also report the configured and actual ports where possible, for better
diagnostics.
2021-02-18 12:15:09 -03:00
teor
972103d797
Fix tracing macro syntax
2021-02-17 11:09:22 -05:00
teor
253d1c02b3
Make sync logging a bit less verbose
...
And tweak some log content
2021-02-17 11:09:22 -05:00
teor
cc7d5bd2ad
Update comments for the inbound service ( #1740 )
2021-02-16 06:14:40 +10:00
teor
372a432179
Update the call_all comment in Inbound ( #1737 )
2021-02-16 06:14:16 +10:00
teor
e8d8a49f41
Increase the conflict acceptance test launch delay ( #1736 )
...
* Increase the conflict acceptance test launch delay
Also rename the tests - the listener is for the Zcash protocol,
but the state, metrics, and tracing are Zebra-specific.
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2021-02-16 05:52:30 +10:00
dependabot[bot]
af11cc4815
build(deps): bump vergen from 3.1.0 to 3.2.0
...
Bumps [vergen](https://github.com/rustyhorde/vergen ) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/rustyhorde/vergen/releases )
- [Commits](https://github.com/rustyhorde/vergen/compare/v3.1.0...v3.2.0 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-02-10 21:36:03 -05:00
teor
0b76352468
Document a state_contains bug ( #1715 )
...
* Document a state_contains bug in the syncer and Inbound
2021-02-10 09:05:14 +10:00
Deirdre Connolly
0c5daa8410
Bump versions for zebrad 1.0.0-alpha.2
...
Including tower-batch bump to 0.2.0, tower-fallback to 0.2.0, zebra-script to 1.0.0-alpha.3
2021-02-09 16:14:29 -05:00
teor
dce11358d7
Log when the syncer awaits peer readiness ( #1714 )
2021-02-10 07:09:27 +10:00
Alfredo Garcia
d7c40af2a8
Fix shutdown panics ( #1637 )
...
* add a shutdown flag in zebra_chain::shutdown
* fix network panic on shutdown
* fix checkpoint panic on shutdown
2021-02-03 19:03:28 +10:00
teor
6679a124e3
Require Inbound setup handlers to provide a result
...
Rather than having them default to `Ok(())`, which is incorrect
for some error handlers.
2021-02-03 08:32:10 +10:00
teor
09c8c89462
Make sure FailedInit never escapes Inbound::poll_ready
2021-02-03 08:32:10 +10:00
teor
134a5e78bd
Consistently use `network_setup` for the Inbound Setup
2021-02-03 08:32:10 +10:00
teor
1c8362fe01
Remove unused imports
2021-02-03 08:32:10 +10:00
Jane Lusby
4cf331562c
combine network setup into an exhaustive match
2021-02-03 08:32:10 +10:00
Jane Lusby
4d6ef89248
avoid using async blocks to avoid lifetime bug with generators
2021-02-03 08:32:10 +10:00
Jane Lusby
685a592399
Add clonable wrapper around TryRecvError
2021-02-03 08:32:10 +10:00
teor
6ffeb670ed
Log the failed response in an unreachable panic
2021-02-03 08:32:10 +10:00
teor
eac4fd181a
Add a Setup enum to manage Inbound network setup internal state
...
This change encodes a bunch of invariants in the type system,
and adds explicit failure states for:
* a closed oneshot,
* bugs in the initialization code.
2021-02-03 08:32:10 +10:00
teor
32b032204a
Consistently return Response::Nil during setup
...
And log an info-level message as a diagnostic, in case setup takes a
long time.
2021-02-03 08:32:10 +10:00
teor
94eb91305b
Stop using ServiceExt::call_all due to buffer bugs
...
ServiceExt::call_all leaks Tower::Buffer reservations, so we can't use
it in Zebra.
Instead, use a loop in the returned future.
See #1593 for details.
2021-02-03 08:32:10 +10:00
teor
64bc45cd2e
Fix state readiness hangs for Inbound
...
Use `ServiceExt::oneshot` to perform state requests.
Explain that `ServiceExt::call_all` calls `poll_ready` internally.
Document a state service invariant imposed by `ServiceExt::call_all`.
2021-02-03 08:32:10 +10:00
teor
4d1a2fd02e
Make the Inbound invariant clearer
2021-02-03 08:32:10 +10:00
teor
2a25b9ee72
Remove services that are never `call`ed from Inbound
...
Uses the `ServiceExt::oneshot` design pattern from #1593 .
2021-02-03 08:32:10 +10:00
Alfredo Garcia
4b34482264
Add hints to port conflict and lock file panics ( #1535 )
...
* add hint for port error
* add issue filter for port panic
* add lock file hint
* add metrics endpoint port conflict hint
* add hint for tracing endpoint port conflict
* add acceptance test for resource conflics
* Split out common conflict test code into a function
* Add state, metrics, and tracing conflict tests
* Add a full set of stderr acceptance test functions
This change makes the stdout and stderr acceptance test interfaces
identical.
* move Zcash listener opening
* add todo about hint for disk full
* add constant for lock file
* match path in state cache
* don't match windows cache path
* Use Display for state path logs
Avoids weird escaping on Windows when using Debug
* Add Windows conflict error messages
* Turn PORT_IN_USE_ERROR into a regex
And add another alternative Windows-specific port error
Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Jane Lusby <jane@zfnd.org>
2021-01-29 22:36:33 +10:00
teor
24f1b9bad1
Document the Inbound service in the start module ( #1653 )
2021-01-29 22:19:06 +10:00
teor
21b0360114
Limit concurrent inbound gossipped block requests
...
Uses the "load shed directly" design pattern from #1618 .
2021-01-29 11:02:26 +10:00
teor
3d9888f736
Rewrite a sync comment
2021-01-29 11:02:26 +10:00
Deirdre Connolly
1b09538277
Bump versions for zebrad 1.0.0-alpha.1 ( #1646 )
...
* Bump versions where appropriate
Tested with cargo install --locked --path etc
* Remove fixed panics from 'Known Issues'
* Change to alpha release series in the README
Co-authored-by: teor <teor@riseup.net>
2021-01-27 20:31:39 -05:00
teor
391c53aa60
Move BoxError to zebrad's lib.rs
...
For consistency with other crates.
2021-01-27 12:14:27 -08:00
teor
494a5130c1
Fix clippy "unnecessary Vec::push" lints
2021-01-22 11:51:30 -08:00
teor
00c3ad5d8e
Fix clippy "unnecessary Ok" lints
2021-01-22 11:51:30 -08:00