Ludo Galabru
|
6efb5beec4
|
refactor: interrupt with error
|
2021-04-05 14:19:50 -04:00 |
|
Ludo Galabru
|
02e48713d2
|
Merge branch 'develop' into fix/graceful-term-at-boot
# Conflicts:
# testnet/stacks-node/src/run_loop/neon.rs
# testnet/stacks-node/src/syncctl.rs
|
2021-04-05 14:14:14 -04:00 |
|
Ludo Galabru
|
58da66c898
|
chore: some refactoring
|
2021-04-05 14:07:46 -04:00 |
|
Jude Nelson
|
badd252586
|
Merge pull request #2549 from blockstack/fix/2407-net
Fix/2407
|
2021-04-05 17:44:29 +00:00 |
|
Jude Nelson
|
a85cba9595
|
Merge branch 'develop' into fix/2407-net
|
2021-04-05 11:51:44 -04:00 |
|
Aaron Blankstein
|
b568634377
|
Merge pull request #2561 from blockstack/feat/docs-bns-reveal
Docs: bns contract reveal-namespace
|
2021-04-05 08:37:55 -05:00 |
|
Reed Rosenbluth
|
a58416f957
|
docs: add info about namespace price functions
|
2021-04-02 14:41:07 -04:00 |
|
Jude Nelson
|
d3e4698d82
|
fix failing unit tests
|
2021-04-01 02:51:30 -04:00 |
|
Jude Nelson
|
06f98ffd8c
|
expose last time we did an antientropy push (so other tests can read it)
|
2021-04-01 02:51:13 -04:00 |
|
Jude Nelson
|
d35dc2c603
|
do full rescans on blocks when scheduled, even if not in ibd
|
2021-04-01 02:50:52 -04:00 |
|
Jude Nelson
|
d4532459c2
|
set ibd in sync comms even if we don't at first know the burnchain tip height
|
2021-04-01 00:16:50 -04:00 |
|
Jude Nelson
|
efbe5ce272
|
address feedback
|
2021-03-31 23:51:47 -04:00 |
|
Jude Nelson
|
accf238834
|
update anti-entropy test to test new behavior (namely, burnchain advances aren't required to drive it)
|
2021-03-31 23:49:20 -04:00 |
|
Jude Nelson
|
4becd173bf
|
remove dead code
|
2021-03-31 23:48:44 -04:00 |
|
Jude Nelson
|
51e725e510
|
until we know the true burnchain height, assume ibd
|
2021-03-31 23:48:19 -04:00 |
|
Jude Nelson
|
05625eaa1b
|
make the anti-entropy protocol a little less aggressive -- only consider pushing a block or microblock stream after the sortition that produced it has passed. Also, use a timeout, not a change in burnchain block height, to trigger a pass.
|
2021-03-31 23:47:25 -04:00 |
|
Jude Nelson
|
78870d8b42
|
don't do anti-entropy stuff until after IBD
|
2021-03-31 02:12:40 -04:00 |
|
Jude Nelson
|
338be137a9
|
fix failing test
|
2021-03-31 01:19:37 -04:00 |
|
Jude Nelson
|
40e82c4025
|
run anti-entropy stress test
|
2021-03-30 23:32:10 -04:00 |
|
Jude Nelson
|
74aa78d6f7
|
add a stress-test for running the anti-entropy protocol across multiple reward cycles. verify that a follower can be booted entirely by the anti-entropy protocol from its bootstrap node
|
2021-03-30 23:30:28 -04:00 |
|
Jude Nelson
|
17c9c1ab38
|
expose antientropy_public and disable_block_download in the config file, to stress-test anti-entropy protocols
|
2021-03-30 23:29:37 -04:00 |
|
Jude Nelson
|
a5c756d898
|
reform/enhance the anti-entropy protocol so that it only considers O(1) reward cycles each time it's run, but it cycles through all reward cycles nevertheless. Also, fix a bug that would prevent the anti-entropy protocol from re-trying a block more than once.
|
2021-03-30 23:28:49 -04:00 |
|
Jude Nelson
|
a63782bf9e
|
a NACK from a peer that doesn't recognize our consensus hash should be treated as "diverged" not "broken"
|
2021-03-30 23:28:27 -04:00 |
|
Jude Nelson
|
c1b63b63b3
|
run anti-entropy once an hour, and run it for non-NAT'ed nodes
|
2021-03-30 23:27:58 -04:00 |
|
Jude Nelson
|
43bca90482
|
on second thought, bound the depth of the anti-entropy protocol to whatever the inv-sync depth is
fix-2407-net
|
2021-03-30 03:10:18 -04:00 |
|
Jude Nelson
|
88f48f9371
|
fix another compiler error
|
2021-03-30 02:44:16 -04:00 |
|
Jude Nelson
|
52381180b4
|
remove compiler warning
|
2021-03-30 02:40:08 -04:00 |
|
Jude Nelson
|
e45293152c
|
cargo fmt
|
2021-03-30 02:38:10 -04:00 |
|
Jude Nelson
|
26d7420938
|
remove optimistic concurrency control that drops downloaded blocks/microblocks if the PoX bit vector happens to change (this appears to be causing problems in corner cases when the node is nearly done with its ibd)
|
2021-03-30 02:37:10 -04:00 |
|
Jude Nelson
|
4007a2c665
|
always continue to use the last-inv-sortition-height hint when setting up for block downloads; update the anti-entropy protocol to use the last-inv-sortition-height as well (since it can take a long, long time to run on testnet)
|
2021-03-30 02:36:22 -04:00 |
|
Jude Nelson
|
fa3ae6185a
|
look to the inv state machine to know the first sortition height at which to start a download scan
|
2021-03-29 22:23:51 -04:00 |
|
Jude Nelson
|
e0dbca00bb
|
if in ibd, and we do an inv sync, tell the downloader to start sync'ing at the inv sync state machine's starting sortition height
|
2021-03-29 21:57:55 -04:00 |
|
Jude Nelson
|
6e647cde13
|
remember which sortition height the node began its inv-sync at, and use that to inform the downloader where to download when in ibd
|
2021-03-29 21:57:29 -04:00 |
|
Jude Nelson
|
20e4372f55
|
better debug log
|
2021-03-29 21:57:05 -04:00 |
|
Jude Nelson
|
af4410af2b
|
if there are no sortitions in a reward cycle, don't do any waiting
|
2021-03-29 18:45:03 -04:00 |
|
Jude Nelson
|
ddd69f4212
|
track the number of non-empty sortitions per cycle, and use that to inform the pox watchdog on how to do timeouts
|
2021-03-29 18:44:35 -04:00 |
|
Jude Nelson
|
4d1795b57f
|
in neighbor walks, if sign_for_peer fails (unlikely), clear the event so it will become prunable
|
2021-03-29 18:23:01 -04:00 |
|
Jude Nelson
|
4506ffe2db
|
clear the full-inv sync flag once it is attempted. Only keep attempting a full-inv sync if in an initial block download, and if no always-allowed peers finished the full-sync
|
2021-03-29 18:22:01 -04:00 |
|
Ludo Galabru
|
b1ca7df18b
|
fix: lov level
|
2021-03-29 13:29:01 -04:00 |
|
Ludo Galabru
|
f1f47c0026
|
fix: ability to interrupt bulk block download
|
2021-03-26 15:57:52 -04:00 |
|
Ludo Galabru
|
7a726d61dd
|
chore: cargo fmt
|
2021-03-26 14:47:10 -04:00 |
|
Ludo Galabru
|
bca0026143
|
fix: new attempt
|
2021-03-26 14:14:18 -04:00 |
|
Jude Nelson
|
938bdbb50f
|
if we diverge during a block inv sync during initial block download, then do a full rescan
|
2021-03-26 02:28:09 -04:00 |
|
Jude Nelson
|
9af3f81e60
|
cargo fmt
|
2021-03-26 02:08:51 -04:00 |
|
Jude Nelson
|
5841212f57
|
fix build errors
|
2021-03-26 02:03:53 -04:00 |
|
Jude Nelson
|
0d78b12387
|
use the safer get_inventory_reward_cycles() method for PoxId; bump default inv window to 6 reward cycles; if we're in IBD and we diverge, do a full inv rescan on the spot
|
2021-03-26 01:59:54 -04:00 |
|
Jude Nelson
|
7278a0cacf
|
cargo fmt
|
2021-03-25 22:04:07 -04:00 |
|
Jude Nelson
|
907c1b2645
|
make it 6 reward cycles per inv sync for testnet, and 3 for mainnet (since its reward cycles are much, much longer)
|
2021-03-25 22:03:00 -04:00 |
|
Jude Nelson
|
965b339538
|
make it 6 invs by default
|
2021-03-25 21:54:21 -04:00 |
|
Jude Nelson
|
5be844278d
|
scan only the last 3 reward cycles most of the time, but every so often (e.g. every 12 hours), scan all of them
|
2021-03-25 19:45:42 -04:00 |
|