Skip to content

eth: implement eth/62 synchronization logic#1661

Closed
karalabe wants to merge 16 commits intoethereum:developfrom
karalabe:eth62-downloader
Closed

eth: implement eth/62 synchronization logic#1661
karalabe wants to merge 16 commits intoethereum:developfrom
karalabe:eth62-downloader

Conversation

@karalabe
Copy link
Copy Markdown
Member

This is a WIP PR to track progress and CI. It builds on top of the eth/62 and eth/63 server side PR (#1380), please see that merged first before you check in here.

@robotally
Copy link
Copy Markdown

Vote Count Reviewers
👍 0
👎 0

Updated: Fri Aug 21 07:48:13 UTC 2015

@obscuren obscuren modified the milestone: 1.0.3 Aug 15, 2015
@codecov-io
Copy link
Copy Markdown

Current coverage is 43.32%

Branch #1661 has no coverage reports uploaded yet.

No diff could be generated. No reports for develop found.
Review entire Coverage Diff as of b78a7b9


Uncovered Suggestions

  1. +0.39% via core/vm/jit.go#118...221
  2. +0.36% via rpc/api/parsing.go#184...279
  3. +0.32% via rpc/api/parsing.go#37...120
  4. See 7 more...

Powered by Codecov. Updated on successful CI builds.

@karalabe
Copy link
Copy Markdown
Member Author

There is one issue I encountered and thought I'd note it here so I won't forget it and neither will it be merged without some solution: whenever block bodies arrive, the fetcher picks out whatever works for him. The issue is that some bodies (i.e. no transaction, no uncle) may work for a lot of blocks, so the fetcher may steal a block from the downloader, causing it to detect bad peers. This could be solved by simply not sending back bodies at all for empty blocks, and have the fetcher/dowloader figure it out by themselves (i.e. check against nil content before even requesting such bodies).

Edit: The fetcher was updated to detect empty blocks already at header time and not request bodies for such. This alleviates the problem as the downloader can now keep all the empty transactions and uncles. However, that should still be fixed so that it itself skips pulling empty blocks.

Comment thread eth/protocol.go
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No "Msg" suffix for that guy and the next? Seems unfair ;)

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, good catch :). I just started adding these packages and then saw that there's quite a lot of database side logic missing so I never bothered to finish them up. Will correct nonetheless :)

@karalabe
Copy link
Copy Markdown
Member Author

Closing in favor of a fresh rebased PR #1701.

@karalabe karalabe closed this Aug 21, 2015
tony-ricciardi pushed a commit to tony-ricciardi/go-ethereum that referenced this pull request Jan 20, 2022
### Description

This PR adds the race flag as an option to `build/ci.go` and enables the race flag on the CI's unit-test job.

### Tested
See `circleCI: race` in CI

### Backwards compatibility
Yes
Rampex1 pushed a commit to streamingfast/go-ethereum that referenced this pull request Aug 20, 2025
maoueh pushed a commit to streamingfast/go-ethereum that referenced this pull request Sep 4, 2025
* chore: bump alpine image in release dockerfile (ethereum#1661)

* go mod tidy & comment e2e-test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants