erigon-pulse/p2p/enode
battlmonstr 04f07a0f08
Discovery: split node records to a sepatate DB table (#3581) (#3667)
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.
2022-03-10 14:57:25 +01:00
..
idscheme_test.go rename (#1978) 2021-05-20 19:25:53 +01:00
idscheme.go Discovery: refactor public key to node ID conversions. (#3634) 2022-03-03 21:58:31 +07:00
iter_test.go rename (#1978) 2021-05-20 19:25:53 +01:00
iter.go hide file exists err (#2218) 2021-06-22 11:09:45 +01:00
localnode_test.go rename (#1978) 2021-05-20 19:25:53 +01:00
localnode.go Clean up DEBUG category logs (#2776) 2021-10-05 08:14:04 +07:00
node_test.go rename (#1978) 2021-05-20 19:25:53 +01:00
node.go rename (#1978) 2021-05-20 19:25:53 +01:00
nodedb_test.go Genesis sync from existing snapshots (#3087) 2021-12-05 09:03:08 +07:00
nodedb.go Discovery: split node records to a sepatate DB table (#3581) (#3667) 2022-03-10 14:57:25 +01:00
urlv4_test.go rename (#1978) 2021-05-20 19:25:53 +01:00
urlv4.go Discovery: refactor public key to node ID conversions. (#3634) 2022-03-03 21:58:31 +07:00