Commit Graph

252 Commits

Author SHA1 Message Date
ledgerwatch
2dec76123c
Use decompressor from erigon-lib and experiments with tx lookup (#2824)
* Use decompressor

* Use decompressor

* Close compressor

* Upgrade to latest erigon-lib

* Fix compile errors

* Fix lint

* Remove count from files

* Remove count from files

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-10-16 22:19:13 +01:00
Alex Sharov
f345aba680
Mdbx v0.10.5 (#2828) 2021-10-15 09:43:30 +07:00
Alex Sharov
a470da8c2c
enable London in mining, fix pre-london gasPool in mining (#2821) 2021-10-13 11:04:59 +07:00
Alex Sharov
04f8ecb0ae
RemoteRPC: add --state.cache=keys_amount cli parameter (#2816) 2021-10-12 16:27:47 +07:00
Alex Sharov
da00e949c4
RemoteRPC: coherentCache for kv.Code; LocalRPC: enable small blocksLRU (#2815) 2021-10-12 12:04:04 +07:00
ledgerwatch
21d024b06a
More mature experiments with the state and transaction compression (#2811)
* Change to use Patten inside patricia tree

* Huffman codes for compression

* Huffman coding of positions, generate tx files to test compression

* Split state into 3 files, relative positions, average decoding time

* Small optimisations of decompression

* Optimise intermediate compression

* Update erigon-lib ref

* Fix lint

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-10-11 21:05:45 +01:00
Alex Sharov
64178ff80d
Checkpoint challenge timeout: remove td check after handshake (#2807)
* remove td check after handshake

* save
2021-10-10 22:14:50 +07:00
Alex Sharov
6561c48ffe
Pool: use cumulativeBalanceDistance and nonceDistance to compare txs quality (#2810) 2021-10-10 18:59:52 +07:00
Alex Sharov
5ca558c667
Move lengths to erigon-lib other packages depend on it (#2799)
* move lengths to erigon-lib

* move lengths to erigon-lib
2021-10-08 10:20:45 +07:00
ledgerwatch
7e4996bb09
Reworkings of state compression experiments (#2790)
* Changes

* Progress

* Another way

* More

* More

* Produce encoding

* Add uncoded characters

* cleanup

* Add sortdict

* Fixes

* Use patricia from erigon-lib

* Cleanup

* Switch to dynamic programming, optimise allocations in FindMatches

* Optimise allocations

* Reduce allocations

* Switch to main branch of erigon-lib, reduce allocations further

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-10-06 19:58:12 +01:00
Alex Sharov
e27d66b042
RemoteDB: don't spend time to close cursors on end of tx - server will cleanup everything well (#2786) 2021-10-06 15:15:02 +07:00
Alex Sharov
2e93434a94
Enable "State stream" by default (#2780) 2021-10-05 16:06:45 +07:00
Alex Sharov
21785780bf
IntermediateHash stage - switch from incremental to re-generate mode - if jump > 100K blocks (#2781) 2021-10-05 15:32:18 +07:00
Alex Sharov
b890e973db
Dockerfile: switch to go1.17 and alpine3.14 (#2766) 2021-10-04 08:04:38 +07:00
Alex Sharov
83555c2255
Pool v2: --txpool.accountslots flag support (#2765) 2021-10-03 13:27:37 +07:00
Alex Sharov
d61a9ad073
Pool v2: --txpool.pricelimit support (#2763) 2021-10-02 17:34:57 +07:00
Alex Sharov
c86851a0a0
downgrade mdbx to v0.10.1 (#2745) 2021-09-30 10:14:26 +07:00
Alex Sharov
17abe11cc0
Remote RPC: add state cache (#2738) 2021-09-29 08:36:25 +07:00
ledgerwatch
0d34a5b9c5
[State sync experiment] Building dictionary for state file compression (#2721)
* Kasai experiments

* Use divsufsort instead of standard lib

* Refactor experiments, split dictionary building into chunks

* Fixes

* Estimate compression, sample

* More stats

* Parallelise

* Fix lint

* dictionary aggregator

* Actual replacement

* Fixes, separate dictionary processing

* Test file

* More correct dictionary, decompression

* Use dynamic programming to reduce dictionary

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-09-27 21:32:53 +01:00
Alex Sharov
bf5bde0a09
Pool: break data-dependency between effectiveTip and other fields (#2735) 2021-09-27 21:26:53 +07:00
Alex Sharov
3dcc226b8b
--mdbx.augment.limit (#2734) 2021-09-27 18:43:24 +07:00
Alex Sharov
a148e71d9d
Pool: switch to pendingBaseFee (#2732) 2021-09-26 23:09:36 +07:00
Alexandr Borodulin
d7159cd8bd
More convenient pruning for non-PoW consensus: add --prune.*.before flags (#2714) 2021-09-23 09:13:19 +07:00
Alex Sharov
0b776eead4
flag --txpool.v2 to enable --state.stream flag (#2718) 2021-09-22 15:39:51 +07:00
Alex Sharov
133eec0c7e
Pool: correct new pending txs notifications (#2715) 2021-09-21 17:35:28 +07:00
ledgerwatch
a9e4cbc83e
Recsplit experiments (#2706)
* Only do 2m

* Optimisation

* Flexible count

* Count properly

* count

* Bijection check

* Add keys

* Print bucket info

* Collision map

* Collision map

* Add tracing

* Tracing

* Fix split

* No trace, print lookup time

* Not override count if block=0

* fix count

* Go mod tidy

* Fix lint

* Measurements

* Cleanup

* Latest erigon-lib

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-09-21 07:53:22 +01:00
Alex Sharov
a0321e2f3a
Pool: return lost error, fix race of 2 sentries, more friendly logs (#2707) 2021-09-20 20:16:50 +07:00
Alex Sharov
1f8937fdd1
Pool: discard reasons, lru, start pool even if no --mine flag (#2704) 2021-09-20 13:20:50 +07:00
Alex Sharp
c519b04551 Revert "state mphf experiment"
This reverts commit b0182d7834.
2021-09-19 11:41:51 +01:00
Alex Sharp
b0182d7834 state mphf experiment 2021-09-19 11:40:23 +01:00
Alex Sharov
8d9e058eb7
Pool: chain config, non-mainnet (#2702) 2021-09-18 20:58:23 +07:00
Alex Sharov
b30ccd2ddf
Revert "Add prune before parameters" (#2701)
This reverts commit 49a98ad4b6.
2021-09-18 08:37:39 +07:00
Alexandr Borodulin
49a98ad4b6
Add prune before parameters 2021-09-17 19:01:15 +07:00
Alex Sharov
400c71b7ce
Pool: txID-based cache (#2697) 2021-09-17 10:31:20 +07:00
Alex Sharov
896bf5edf5
Pool: up to last version (#2689) 2021-09-15 20:16:49 +07:00
alex.sharov
f4969876ad suppress rlp parse warnings 2021-09-15 20:06:18 +07:00
alex.sharov
74df0a9516 suppress rlp parse warnings 2021-09-15 20:04:57 +07:00
Alex Sharov
76dd448c70
Pool: switch cache to tx.ID(), add blockNum to tx info to drop from full pool old txs first (#2688) 2021-09-15 19:34:05 +07:00
Alex Sharov
ad1682cf40
Expose mdbx's txID to remote_kv (#2686) 2021-09-15 14:22:57 +07:00
Alex Sharov
ec14cba611
Remote Pool: add mining rpc, test pending txs stream (#2685) 2021-09-15 09:09:19 +07:00
Alex Sharov
77db993cfc
Pool: add coherent cache (#2678) 2021-09-13 14:58:25 +07:00
ledgerwatch
15b4095718
Move ETL to erigon-lib (#2667)
* Move ETL to erigon-lib

* Update link in the readme

* go mod tidy

* Use common/chan.go from erigon-lib

* Clean up

* Fix lint

* Fix test

* Fix compilation

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-09-12 08:50:17 +01:00
Alex Sharov
798c2d64a4
Pool: no state presistance (#2646) 2021-09-08 19:33:14 +07:00
Alex Sharov
2d8941a845
Pool: built-in v2 (#2643) 2021-09-08 12:31:51 +07:00
Alex Sharov
873ef75f39
Pool: grafana board (#2625) 2021-09-03 14:16:27 +07:00
Alex Sharov
28480a36ec
Pool: add --txpool.v2 flag to rpcdaemon (#2624) 2021-09-03 11:19:35 +07:00
Alex Sharov
4c1dbdf50e
Pool: add --txpool.v2 flag to erigon (it just disabling existing machinery for now) (#2620) 2021-09-02 17:04:30 +07:00
Alex Sharov
daf945dc13
Rpcdaemon: handle "WaitGroup is reused before previous Wait has returned" panic on shutdown (#2619) 2021-09-02 16:36:56 +07:00
Alex Sharov
953f348d1e
Pool: add grpc server (#2615) 2021-09-02 12:55:04 +07:00
Alex Sharov
9e1fc980a7
Pool: batch incoming p2p transactions (but preserve "don't recover sender twice" property) (#2608) 2021-09-01 16:10:00 +07:00