Skip to content
This repository was archived by the owner on Jan 20, 2026. It is now read-only.

Use peermanager scores for blocksync peers and don't error out on block mismatch#162

Merged
philipsu522 merged 21 commits intomainfrom
block-sync-prio-peers
Oct 31, 2023
Merged

Use peermanager scores for blocksync peers and don't error out on block mismatch#162
philipsu522 merged 21 commits intomainfrom
block-sync-prio-peers

Conversation

@philipsu522
Copy link
Collaborator

@philipsu522 philipsu522 commented Oct 6, 2023

Describe your changes and provide context

Import peermanager scores to blocksync reactor and use that to determine which peers to pick for blocksync. We also don't error out on a mismatch of block height from peer who sent it

Testing performed to validate your change

  • Added unit tests
  • Deploy to autobake, stopped a validator and restarted - verified catch up still works
  • Tested on standalone rpc in pacific-1

@philipsu522 philipsu522 requested a review from yzang2019 October 11, 2023 20:23
"context"
"errors"
"fmt"
"github.com/tendermint/tendermint/internal/p2p"
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: fix lint issue

for _, peer := range pool.peers {
// Generate a sorted list
sortedPeers := pool.getSortedPeers(pool.peers)
fmt.Printf("PSUDEBUG - block sync with sorted peers: %v\n", sortedPeers)
Copy link
Contributor

Choose a reason for hiding this comment

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

Shall we remove this debug log?

fmt.Printf("PSUDEBUG - block sync with sorted peers: %v\n", sortedPeers)
for _, nodeId := range sortedPeers {
peer := pool.peers[nodeId]
pool.peerManager.Score(peer.id)
Copy link
Contributor

Choose a reason for hiding this comment

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

why do we get the score out here without using it?

// Generate a sorted list
sortedPeers := pool.getSortedPeers(pool.peers)
fmt.Printf("PSUDEBUG - block sync with sorted peers: %v\n", sortedPeers)
for _, nodeId := range sortedPeers {
Copy link
Contributor

Choose a reason for hiding this comment

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

A few further optimizations we can do:

  1. We should probably avoid using the low score peers, for example the ones with score 0
  2. We should do some random shuffling so that we don't always targeting the same few top peers

)

var peerTimeout = 15 * time.Second // not const so we can override with tests
var peerTimeout = 3 * time.Second // not const so we can override with tests
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

waiting 15s for timeout is too long given we expect blocks much more frequently

@philipsu522 philipsu522 enabled auto-merge (squash) October 23, 2023 16:48
@philipsu522 philipsu522 changed the title Use peermanager scores for blocksync peers Use peermanager scores for blocksync peers and don't error out on block mismatch Oct 23, 2023
} else {
err := errors.New("requester is different or block already exists")
pool.sendError(err, peerID)
// Original behavior is to error out when there is a mismatch, which shuts down the entire reactor.
Copy link
Contributor

@yzang2019 yzang2019 Oct 23, 2023

Choose a reason for hiding this comment

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

Overall LGTM, one question: do we understand why the original behavior wants to error this out and shutdown the entire reactor? Is there going to be any side effect if we change this behavior?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

let's revert this now, and when the standalone rpc falls behind again (currently it is healthly, and was upgraded to the new version), we can re-apply this patch and see if it helps

@philipsu522 philipsu522 disabled auto-merge October 31, 2023 21:46
@philipsu522 philipsu522 merged commit dd79101 into main Oct 31, 2023
yzang2019 added a commit that referenced this pull request Mar 26, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>
Kbhat1 pushed a commit that referenced this pull request Mar 30, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>
Kbhat1 pushed a commit that referenced this pull request Apr 16, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>
yzang2019 added a commit that referenced this pull request Apr 21, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>

Add logs for blocksync

Add log to debug replay

Fix

Fix setBlock true false

Add more log for dialing

Add more logs

Add logs for missing height

Fix

Fix log

Fix log

Fix log

Fix bpr pool goroutine

Fix bpr pool goroutine

Fix goroutine leak

Fix goroutine leak
yzang2019 added a commit that referenced this pull request Apr 21, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>

Add logs for blocksync

Add log to debug replay

Fix

Fix setBlock true false

Add more log for dialing

Add more logs

Add logs for missing height

Fix

Fix log

Fix log

Fix log

Fix bpr pool goroutine

Fix bpr pool goroutine

Fix goroutine leak

Fix goroutine leak
yzang2019 added a commit that referenced this pull request May 14, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>

Add logs for blocksync

Add log to debug replay

Fix

Fix setBlock true false

Add more log for dialing

Add more logs

Add logs for missing height

Fix

Fix log

Fix log

Fix log

Fix bpr pool goroutine

Fix bpr pool goroutine

Fix goroutine leak

Fix goroutine leak
yzang2019 added a commit that referenced this pull request May 14, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>

Add logs for blocksync

Add log to debug replay

Fix

Fix setBlock true false

Add more log for dialing

Add more logs

Add logs for missing height

Fix

Fix log

Fix log

Fix log

Fix bpr pool goroutine

Fix bpr pool goroutine

Fix goroutine leak

Fix goroutine leak
Kbhat1 pushed a commit that referenced this pull request May 30, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>

Add logs for blocksync

Add log to debug replay

Fix

Fix setBlock true false

Add more log for dialing

Add more logs

Add logs for missing height

Fix

Fix log

Fix log

Fix log

Fix bpr pool goroutine

Fix bpr pool goroutine

Fix goroutine leak

Fix goroutine leak
Kbhat1 pushed a commit that referenced this pull request Jun 9, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>

Add logs for blocksync

Add log to debug replay

Fix

Fix setBlock true false

Add more log for dialing

Add more logs

Add logs for missing height

Fix

Fix log

Fix log

Fix log

Fix bpr pool goroutine

Fix bpr pool goroutine

Fix goroutine leak

Fix goroutine leak
Kbhat1 pushed a commit that referenced this pull request Jun 13, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>

Add logs for blocksync

Add log to debug replay

Fix

Fix setBlock true false

Add more log for dialing

Add more logs

Add logs for missing height

Fix

Fix log

Fix log

Fix log

Fix bpr pool goroutine

Fix bpr pool goroutine

Fix goroutine leak

Fix goroutine leak
Kbhat1 pushed a commit that referenced this pull request Jun 20, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>

Add logs for blocksync

Add log to debug replay

Fix

Fix setBlock true false

Add more log for dialing

Add more logs

Add logs for missing height

Fix

Fix log

Fix log

Fix log

Fix bpr pool goroutine

Fix bpr pool goroutine

Fix goroutine leak

Fix goroutine leak
Kbhat1 pushed a commit that referenced this pull request Jun 30, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>

Add logs for blocksync

Add log to debug replay

Fix

Fix setBlock true false

Add more log for dialing

Add more logs

Add logs for missing height

Fix

Fix log

Fix log

Fix log

Fix bpr pool goroutine

Fix bpr pool goroutine

Fix goroutine leak

Fix goroutine leak
Kbhat1 pushed a commit that referenced this pull request Jul 7, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>

Add logs for blocksync

Add log to debug replay

Fix

Fix setBlock true false

Add more log for dialing

Add more logs

Add logs for missing height

Fix

Fix log

Fix log

Fix log

Fix bpr pool goroutine

Fix bpr pool goroutine

Fix goroutine leak

Fix goroutine leak
Kbhat1 pushed a commit that referenced this pull request Aug 15, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>

Add logs for blocksync

Add log to debug replay

Fix

Fix setBlock true false

Add more log for dialing

Add more logs

Add logs for missing height

Fix

Fix log

Fix log

Fix log

Fix bpr pool goroutine

Fix bpr pool goroutine

Fix goroutine leak

Fix goroutine leak
Kbhat1 pushed a commit that referenced this pull request Aug 23, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>

Add logs for blocksync

Add log to debug replay

Fix

Fix setBlock true false

Add more log for dialing

Add more logs

Add logs for missing height

Fix

Fix log

Fix log

Fix log

Fix bpr pool goroutine

Fix bpr pool goroutine

Fix goroutine leak

Fix goroutine leak
Kbhat1 pushed a commit that referenced this pull request Oct 22, 2025
* Reduce noisy tendermint logs

* Suppress logs for all entering

Use peermanager scores for blocksync peers and don't error out on block mismatch (#162)

* Use peermanager scores for blocksync peers

* Add debug

* Randomize

* debug

* use state to filter

* debug

* debug

* debug

* debug

* add comments

* don't err

* revert timeout

* Add missing param

* Remove flaky test

* fix nil

* debug

* debug

* debug

* debug

---------

Co-authored-by: Yiming Zang <50607998+yzang2019@users.noreply.github.com>

Perf: Increase buffer size for pubsub server to boost performance (#167)

* Increase buffer size for pubsub server

* Add more timeout for test failure

* Add more timeout

* Fix test split scripts

* Fix test split

* Fix unit test

* Unit test

* Unit test

[P2P] Optimize block pool requester retry and peer pick up logic (#170)

* P2P Improvements: Fix block sync reactor and block pool retry logic

Fix block sync auto restart not working as expected (#175)

Fix edge case for blocksync (#178)

Replay events during restart to avoid tx missing (#211)

Add a new config to speed up block sync (#244)

* Never switch to consensus due to timeout

* Add blocksync peer config to speed up block sync rate

* Fix config parsing

* Add some logs

feat: Exclude unconditional peers when connection limit checking (#245)

Improve Peer Score Algorithm (#248)

* feat: improve peer scoring algo

* debug

* debug

* more debug

* debug TryDiaNext

* remove log

* fix score type

* rever block sync logic

* rever block sync logic

* rever block sync logic

* Add block request log

* Add apply block latency

* add processEpeerEvent log back

* update unit test

* update unit test

---------

Co-authored-by: yzang2019 <zymfrank@gmail.com>

Add logs for blocksync

Add log to debug replay

Fix

Fix setBlock true false

Add more log for dialing

Add more logs

Add logs for missing height

Fix

Fix log

Fix log

Fix log

Fix bpr pool goroutine

Fix bpr pool goroutine

Fix goroutine leak

Fix goroutine leak
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants