Commit Graph

90 Commits

Author SHA1 Message Date
Jasmina Malicevic
4af43afe6d blocksync: fixed issues after merge 2022-05-11 17:03:25 +02:00
Jasmina Malicevic
6e125e3ea7 Merge remote-tracking branch 'origin/jasmina/4457-blocksync-verification_part1' into jasmina/4457_block_sync_verification 2022-05-11 15:39:39 +02:00
Jasmina Malicevic
3395affe75 blocksync: fixed merge induced error 2022-05-11 13:07:41 +02:00
Jasmina Malicevic
3a476331f1 Merged with #8493
Merge with #8493
2022-05-11 13:05:45 +02:00
Jasmina Malicevic
8b68022d16 Merge remote-tracking branch 'origin' into jasmina/4457-blocksync-verification_part1 2022-05-11 13:05:10 +02:00
Callum Waters
a4c3b5cab4 validate block before we persist it (#8493) 2022-05-10 17:34:53 +02:00
Jasmina Malicevic
753413941f blocksync: fixed behaviour when validation fails; appliead PR comments 2022-05-04 15:45:30 +02:00
Jasmina Malicevic
4b83be646c blocksync: fixed spelling error 2022-05-03 13:54:36 +02:00
Jasmina Malicevic
52bc079225 Merge remote-tracking branch 'origin' into jasmina/4457-blocksync-verification_part1 2022-05-03 12:56:33 +02:00
Thane Thomson
e7451a43e7 blocksync: Honor contexts supplied to BlockPool (#8447)
* Lift condition into for loop

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Honor contexts in BlockPool

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Only stop timers when necessary

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Optimize timers

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Simplify request interval definition

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Remove extraneous timer stop

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Convert switch into if

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Eliminate timers

Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-04-30 14:34:59 -04:00
Sam Kleinman
cf2a00b398 p2p: avoid using p2p.Channel internals (#8444) 2022-04-29 17:21:36 -04:00
Jasmina Malicevic
9a8bcba943 blocksync: comments on missing tests 2022-04-29 12:46:22 +02:00
Jasmina Malicevic
8ddedd157d formatting 2022-04-28 17:10:20 +02:00
Jasmina Malicevic
600f84dae6 blocksync: added test for syncing blocks from different heights 2022-04-28 16:41:55 +02:00
Jasmina Malicevic
3654fc9fae blocksync/pool: reverted to PeekTwoBlocks 2022-04-27 15:34:51 +02:00
Jasmina Malicevic
2a31843f8d blocksync: cleanedup 2022-04-27 15:26:04 +02:00
Jasmina Malicevic
2cdd71a38f blocksync: removed println noise 2022-04-27 15:21:10 +02:00
Jasmina Malicevic
d6cbb05105 blocksync: added support for multiple validators in tests 2022-04-27 15:19:01 +02:00
Jasmina Malicevic
4e6d38030c Removed commented out code 2022-04-26 16:24:38 +02:00
Jasmina Malicevic
abfc780202 Merge remote-tracking branch 'origin' into jasmina/4457-blocksync-verification_part1 2022-04-26 15:45:07 +02:00
Jasmina Malicevic
18523e0927 blocksync: minor edits, witnesses ignored so tests pass 2022-04-20 16:54:11 +02:00
Jasmina Malicevic
38d36b59ec blocksync: witnesses for verification, not fully working yet 2022-04-20 15:23:50 +02:00
Jasmina Malicevic
e227b9ea07 blocksync/pool: initial changes for witness support 2022-04-19 15:58:39 +02:00
Jasmina Malicevic
1c86cec072 Merge remote-tracking branch 'origin' into jasmina/4457_block_sync_verification 2022-04-19 10:48:40 +02:00
Sam Kleinman
efd4f4a40b cleanup: unused parameters (#8372) 2022-04-18 16:45:21 -04:00
Sam Kleinman
c372390fea eventbus: publish without contexts (#8369) 2022-04-18 16:28:31 -04:00
Jasmina Malicevic
d22f4c458f blocksync: separate verification into different file 2022-04-15 16:24:35 +02:00
Jasmina Malicevic
b4f422e413 minor delete 2022-04-14 13:41:27 +02:00
Jasmina Malicevic
a6e0813be5 Merge remote-tracking branch 'origin/master' into jasmina/4457_block_sync_verification 2022-04-14 13:39:45 +02:00
Jasmina Malicevic
60eaa831af blocksync: Verification using LastCommit of block at height H + 2 2022-04-14 13:37:26 +02:00
Sam Kleinman
9d20e06900 statesync+blocksync: move event publications into the sync operations (#8274) 2022-04-07 16:23:36 -04:00
Jasmina Malicevic
4ba3892b03 Merged with master 2022-04-07 14:45:24 +02:00
Jasmina Malicevic
07fac4ccc0 Merge remote-tracking branch 'origin' into jasmina/4457_block_sync_verification 2022-04-07 14:42:57 +02:00
Jasmina Malicevic
09f522b249 blocksync: Initial working commit with adjacent block verification
store: Added functions ot return protobuf objects for block and commit (perf opt)
proto: Added Commit to the BlockResponse message

- WARN: Manual proto files for blocksync
2022-04-07 14:25:09 +02:00
Sam Kleinman
9d1e8eaad4 node: remove channel and peer update initialization from construction (#8238) 2022-04-05 13:26:53 +00:00
Sam Kleinman
97f7021712 statesync: merge channel processing (#8240) 2022-04-04 12:31:15 -04:00
Sam Kleinman
6af23ff757 state: avoid premature genericism (#8224) 2022-03-31 13:10:09 +00:00
William Banfield
e4ae922c33 consensus: update state machine to use the new consensus params (#8181) 2022-03-23 11:26:42 -04:00
Sam Kleinman
0bded371c5 testing: logger cleanup (#8153)
This contains two major changes:

- Remove the legacy test logging method, and just explicitly call the
  noop logger. This is just to make the test logging behavior more
  coherent and clear. 
  
- Move the logging in the light package from the testing.T logger to
  the noop logger. It's really the case that we very rarely need/want
  to consider test logs unless we're doing reproductions and running a
  narrow set of tests.
  
In most cases, I (for one) prefer to run in verbose mode so I can
watch progress of tests, but I basically never need to consider
logs. If I do want to see logs, then I can edit in the testing.T
logger locally (which is what you have to do today, anyway.)
2022-03-18 17:39:38 +00:00
Sam Kleinman
13f7501950 blocksync: remove intermediate channel (#8140)
Based on local testing, I'm now convinced that this is ok, and also I think the fact that the new p2p layer has more caching and queue.
2022-03-17 22:20:59 +00:00
Sam Kleinman
07b46d5a05 blocksync: drop redundant shutdown mechanisms (#8136) 2022-03-17 13:30:13 -04:00
William Banfield
68c624f5de abci++: synchronize PrepareProposal with the newest version of the spec (#8094)
This change implements the logic for the PrepareProposal ABCI++ method call. The main logic for creating and issuing the PrepareProposal request lives in execution.go and is tested in a set of new tests in execution_test.go. This change also updates the mempool mock to use a mockery generated version and removes much of the plumbing for the no longer used ABCIResponses.
2022-03-15 15:37:30 -04:00
JayT106
d9c9675e2a p2p+flowrate: rate control refactor (#7828)
Adding `CurrentTransferRate ` in the flowrate package because only the status of the transfer rate has been used.
2022-03-10 13:48:23 +00:00
Sam Kleinman
c35d6d6e2c node: pass eventbus at construction time (#8084)
* node: pass eventbus at construction time

* remove cruft
2022-03-08 13:04:59 +00:00
Sam Kleinman
8df7b6103f proxy: collapse triforcated abci.Client (#8067) 2022-03-06 18:25:50 -05:00
Sam Kleinman
0167f0d527 node: nodes should fetch state on startup (#8062) 2022-03-04 12:23:57 -05:00
Sam Kleinman
be83ec6664 p2p: pass start time to flowrate and cleanup constructors (#7838)
After poking around #7828, I saw the oppertunity for this cleanup,
which I think is both reasonable on its own, and quite low impact, and
removes the math around process start time.
2022-02-18 13:30:19 +00:00
Sam Kleinman
d187962ec0 blocksync: shutdown cleanup (#7840)
Now that shutdown is handled by contexts in most cases, I think it's
fair to cleanup the way this reactor shuts down. Additionaly there
were a few cases where the `blockSyncOutBridgeCh` was misshandled and
could have lead to a deadlock which I observed in some tests
2022-02-17 20:42:11 +00:00
Sam Kleinman
28d34d635c service: change stop interface (#7816) 2022-02-17 11:23:32 -05:00
M. J. Fromberger
7e09c2ef43 Clean up temp files more thoroughly after testing. (#7815)
Our test cases spew a lot of files and directories around $TMPDIR.  Make more
thorough use of the testing package's TempDir methods to ensure these are
cleaned up.

In a few cases, this required plumbing test contexts through existing helper
code. In a couple places an explicit path was required, to work around cases
where we do global setup during a TestMain function. Those cases probably
deserve more thorough cleansing (preferably with fire), but for now I have just
worked around it to keep focused on the cleanup.
2022-02-14 06:32:07 -08:00