Alfredo Garcia
5ec05e91e1
update version strings for v1.0.0-alpha.6
2021-04-08 18:48:34 -04:00
teor
5bf0a2954e
Update a test comment
2021-04-07 19:25:31 +10:00
teor
bb3147dd1e
Update an outdated comment
2021-04-07 19:23:48 +10:00
teor
306fa88214
Document the correctness of Poll::Pending wakeups
2021-03-27 08:55:49 -04:00
teor
829a6f11c5
Document the behaviour of the `select!` macro
2021-03-27 08:55:49 -04:00
Deirdre Connolly
7efc700aca
Merge pull request #1713 from ZcashFoundation/use-groth16-batch-math
...
Use batch optimizations, load params in groth16::Verifier, verify Spend & Output descriptions in transaction verifier
2021-03-24 12:28:25 -04:00
Deirdre Connolly
ca1d2de87d
Bump versions for v1.0.0-alpha.5 ( #1932 )
...
Zebra's latest alpha checkpoints on Canopy activation, continues our work on NU5, and fixes a security issue.
Some notable changes include:
## Added
- Log address book metrics when PeerSet or CandidateSet don't have many peers (#1906 )
- Document test coverage workflow (#1919 )
- Add a final job to CI, so we can easily require all the CI jobs to pass (#1927 )
## Changed
- Zebra has moved its mandatory checkpoint from Sapling to Canopy (#1898 , #1926 )
- This is a breaking change for users that depend on the exact height of the mandatory checkpoint.
## Fixed
- tower-batch: wake waiting workers on close to avoid hangs (#1908 )
- Assert that pre-Canopy blocks use checkpointing (#1909 )
- Fix CI disk space usage by disabling incremental compilation in coverage builds (#1923 )
## Security
- Stop relying on unchecked length fields when preallocating vectors (#1925 )
2021-03-22 22:05:01 -04:00
teor
74cc30c307
Change the cached sync tests to canopy
...
This change requires a cached state rebuild. The rebuilt state will be
significantly larger.
2021-03-18 10:13:47 +10:00
Alfredo Garcia
d49eaab68e
Bump versions for zebrad 1.0.0-alpha.4 ( #1913 )
...
* Bump versions for zebrad 1.0.0-alpha.4
* add Cargo.lock
2021-03-16 21:12:37 -03:00
Jack Grigg
bae9a7ecd5
Expose binary data in metrics
...
This enables slicing and aggregating metrics based on zebrad version:
https://www.robustperception.io/exposing-the-software-version-to-prometheus
2021-03-17 09:38:07 +10:00
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