good morning!!!!

Skip to content
Snippets Groups Projects
  1. May 17, 2022
  2. May 16, 2022
  3. May 13, 2022
    • battlmonstr's avatar
      p2p (#4119): treat slow integration tests (#4136) · 7754f533
      battlmonstr authored
      * TestTable_ReadRandomNodesGetAll: refactor to integration and examples
      * TestTable_bumpNoDuplicates: refactor to integration and examples
      * TestUDPv4_smallNetConvergence: speed up from 1.7s to 0.3s by applying the test config
      * TestUPNP_DDWRT: move to integration tests
      * TestFairMix: split in 2, do more iterations in integration tests
      * TestDialSched: speed up from 1s to 0.2s by removing the unexpected dial check,
        (keep the check during the integration tests)
      Unverified
      7754f533
  4. May 12, 2022
    • battlmonstr's avatar
      p2p (#4119): treat slow discover v5 tests (#4122) · 91076141
      battlmonstr authored
      * configure a 50 ms timeout for tests (like v4 tests)
      * use in-memory DB (like v4 tests)
      * TestUDPv5_callTimeoutReset: improve speed from 1.2s to 0.2s
      * TestUDPv5_callTimeoutReset: reduce the likelihood of "RPC timeout"
      * move lookup tests to the "integration" suite
      * log details of unmatched packets and sends to non-existing nodes
      * fix flaky TestUDPv5_findnodeHandling:
      
          Table.nextRevalidateTime was random (from 0 to 10s).
          Sometimes it triggered doRevalidate immediately, and it produced an unexpected ping.
          Configure a high interval to not revalidate during the tests.
      
      Time improved from 1.7s to 0.2s.
      
      Test with:
      
          go test ./p2p/discover -run TestUDPv5 -count 1
      Unverified
      91076141
  5. May 10, 2022
  6. May 07, 2022
  7. May 06, 2022
  8. May 05, 2022
  9. May 03, 2022
    • battlmonstr's avatar
      p2p: TestUDPv4_Lookup - unsolicited reply error (#4056) · a1d0ff32
      battlmonstr authored
      The UDP test must be closed after the serveTestnet exits.
      If it happens before, the serveTestnet encounters this error.
      (it tries to emulate a packet receival after closing the transport)
      
      FindNode triggers a Ping in ensureBond.
      This causes an extra Sleep for "ping back".
      Don't wait for this in tests.
      
      Close v5 tests.
      
      The requests may also timeout if a lot of them queue up in the udpTest.pipe,
      and serveTestnet is slow to process them.
      Increase replyTimeout a bit to prevent that.
      Unverified
      a1d0ff32
    • battlmonstr's avatar
      p2p: improve test TestTable_findnodeByID (#4047) · 2e4947bb
      battlmonstr authored
      * refactor test
      * add a fast fixed examples test for the main suite
      * split slow test for the integration suite
      Unverified
      2e4947bb
  10. Apr 28, 2022
    • battlmonstr's avatar
      p2p: crawler-friendly handshake (#3982) · bc2e9e7b
      battlmonstr authored
      * exchange RLPx Hello even when maxpeers limit is reached
      * bump MaxPendingPeers to increase the default handshake queue
        (and the likelyhood of Hello exchange)
      Unverified
      bc2e9e7b
    • battlmonstr's avatar
      p2p: fix flaky TestUDPv5_lookupE2E (#4020) · 17fb707f
      battlmonstr authored
      The test was flaky, because of the "endpoint prediction".
      The test starts 5 nodes one by one.
      Node 0 is used as a bootstrap node for nodes 1-4.
      When it is about to add, say, node 3, nodes 0 and 1 might already have had a chance to communicate,
      and updateEndpoints() deletes the node 0 UDP port, because fallbackUDP port was not configured.
      
      In this case node 3 would get a bootstrap node 0 without a port and lead to an error:
      
          v5_udp_test.go:110: bad bootstrap node "enr:...": missing UDP port
      
      The problem was reproducible by this command:
      
          go test ./p2p/discover -run TestUDPv5_lookupE2E -count 500
      Unverified
      17fb707f
    • battlmonstr's avatar
      p2p: refactor MaxPendingPeers handling (#3981) · c6649f58
      battlmonstr authored
      * use semaphore instead of a chan struct{}
      * move MaxPendingPeers default value to DefaultConfig.P2P
      * log Error if Accept fails
      * replace quit channel with context
      Unverified
      c6649f58
    • battlmonstr's avatar
      p2p: speed-up TestUDPv4_LookupIterator (#4000) · 7558730a
      battlmonstr authored
      The test was slow, because it was trying to find
      predefined nodeIDs (lookupTestnet) by generating random keys
      and trying to find their neighbours
      until it hits all nodes of the lookupTestnet.
      In addition each FindNode response was waited for 0.5 sec (respTimeout).
      This could take up to 30 sec and fail the test suite.
      
      A fake random key generator is now used during the test.
      It issues the expected keys, and the lookup converges quickly.
      The reply timeout is reduced for the test.
      Now it normally takes less than.1 sec.
      Unverified
      7558730a
  11. Apr 26, 2022
  12. Apr 23, 2022
  13. Apr 22, 2022
  14. Apr 10, 2022
  15. Apr 08, 2022
  16. Mar 31, 2022
  17. Mar 16, 2022
  18. Mar 11, 2022
  19. Mar 10, 2022
    • battlmonstr's avatar
      Discovery: split node records to a sepatate DB table (#3581) (#3667) · 04f07a0f
      battlmonstr authored
      Problem:
      QuerySeeds will poke 150 random entries in the whole node DB and ignore hitting "field" entries.
      In a bootstrap scenario it might hit hundreds of :lastping :lastpong entries,
      and very few true "node record" entries.
      After running for 15 minutes I've got totalEntryCount=1508 nodeRecordCount=114 entries.
      There's a 1/16 chance of hitting a "node record" entry.
      It means finding just about 10 nodes of 114 total on average from 150 attempts.
      
      Solution:
      Split "node record" entries to a separate table such that QuerySeeds doesn't do idle cycle hits.
      Unverified
      04f07a0f
    • battlmonstr's avatar
      Discovery: throttle node DB commits (#3581) (#3656) · ca973254
      battlmonstr authored
      UpdateFindFails/UpdateLastPingReceived/UpdateLastPongReceived events
      are causing bursty DB commits (100 per minute).
      
      This optimization throttles the disk writes to happen at most once in a few seconds,
      because this info doesn't need to be persisted immediately.
      
      This helps on HDD drives.
      Unverified
      ca973254
    • battlmonstr's avatar
      Revert node DB cache (#3581) (#3674) · 42d128e2
      battlmonstr authored
      Revert "Prevent frequent commits to the node DB in sentries (#2505)".
      This reverts commit 65a9a265.
      Unverified
      42d128e2
  20. Mar 03, 2022
  21. Feb 25, 2022
  22. Feb 24, 2022
  23. Feb 23, 2022
  24. Feb 22, 2022
  25. Feb 04, 2022
  26. Jan 14, 2022
    • Dmitry Savonin's avatar
      Full BSC support with validator mode (#3233) · a49d4094
      Dmitry Savonin authored
      
      * migrated consensus and chain config files for bsc support
      
      * migrated more files from bsc
      
      * fixed consensus crashing
      
      * updated erigon lib for parlia snapshot prefix
      
      * added staticpeers for bsc
      
      * [+] added system contracts
      [*] fixed bug with loading snapshot
      [+] enabled gas bailout
      [+] added fix to prevent syncing more than 1000 headers (for testing only)
      [*] fixed bug with crashing sender recover sometimes
      
      * migrated system contract calls
      
      * [*] fixed bug with returning mutable balance object
      [+] migrated lightclient contracts from bsc
      [*] fixed parlia consensus config param
      
      * [*] fixed tendermint deps
      
      * [+] added some logs
      
      * [+] enabled bsc forks
      [*] fixed syscalls from coinbase
      [*] more logging
      
      * Fix call sys contract gas calculation
      
      * [*] fixed executing system transactions
      
      * [*] enabled receipt hash, gas and bloom filter checks
      
      * [-] removed some logging scripts
      [*] set header checkpoint to 10 million blocks (for testing forks)
      
      * [*] fixed bug with commiting dirty inter block state state after system transaction execution
      [-] removed some extra logs and comments
      
      * [+] added chapel and rialto testnet support
      
      * [*] fixed chapel allocs
      
      * [-] removed 6 mil block limit for headers sync
      
      * Fix hardforks on chapel and other testnets
      
      * [*] fixed header sync issue after merge
      
      * [*] tiny code cleanup
      
      * [-] removed some comments
      
      * [*] increased mdbx map size to 4 TB
      
      * [*] increased max chaindata size to 6 tb
      
      * [*] bring more compatibility with origin erigon and some code cleanup
      
      * [+] added support of validator mode for BSC chain
      
      * [*] enable private key load for bsc, rialto and chapel chains
      
      * [*] fixed running BSC validator node
      
      * Fix the branch list
      
      * [*] tiny fixes for linter
      
      * [*] formatted imports for core and parlia packages
      
      * [*] fixed import rules in other files
      
      * Revert "[*] formatted imports for core and parlia packages"
      
      This reverts commit c764b58b34fedc2b14d69458583ba0dad114f227.
      
      * [*] changed import rules in more packages
      
      * [*] fixed type mismatch in hack command
      
      * [*] fixed crash on new epoch, enabled bootstrap flags
      
      * [*] fixed linter errors
      
      * [*] fixed missing err check for syscalls
      
      * [*] now BSC implementation is fully compatible with erigon original sources
      
      * Revert "Add chain config and CLI changes for Binance Smart Chain support (#3131)"
      
      This reverts commit 3d048b7f.
      
      * Revert "Add Parlia consensus engine for Binance Smart Chain support (#3086)"
      
      This reverts commit ee99f17f.
      
      * [*] fixed several issues after merge
      
      * [*] fixed integration compilation
      
      * Revert "Fix the branch list"
      
      This reverts commit 8150ca57e5f2707a84a9f6a1c5b809b7cc84547b.
      
      * [-] removed receipt repair migration
      
      * [*] fixed parlia fork numbers output
      
      * [*] bring more devel compatibility, fixed bsc address list for access list calculation
      
      * [*] fixed bug with commiting state transition for bad blocks in BSC
      
      * [*] fixed bsc changes apply for integration command and updated config print for parlia
      
      * [*] fixed bug with applying bsc forks for chapel and rialto testnet chains
      [*] let's use finalize and assemble for mining to  let consensus know for what it's finalizing block
      
      * Fix compilation errors in hack.go
      
      * Fix lint
      
      * reset changes in erigon-snapshots to devel
      
      * Remove unrelated changes
      
      * Fix embed
      
      * Remove more unrelated changes
      
      * Remove more unrelated changes
      
      * Restore clique and aura miner config
      
      * Refactor interfaces not to use slice pointers
      
      * Refactor parlia functions to return tx and receipt instead of dealing with slices
      
      * Fix for header panic
      
      * Fix lint, restore system contract addresses
      
      * Remove more unrelated changes, unify GatherForks
      
      Co-authored-by: default avatarDmitry Ivanov <convexman18@gmail.com>
      Co-authored-by: default avatarj75689 <j75689@gmail.com>
      Co-authored-by: default avatarAlexey Sharp <alexeysharp@Alexeys-iMac.local>
      Co-authored-by: default avatarAlex Sharp <alexsharp@Alexs-MacBook-Pro.local>
      Unverified
      a49d4094
  27. Dec 05, 2021
  28. Nov 30, 2021
  29. Nov 25, 2021
  30. Nov 22, 2021
  31. Nov 21, 2021
Loading