Commit Graph

1195 Commits

Author SHA1 Message Date
Alex Sharov
ea2db04e93
add fileName to decompressor panic (#689) 2022-10-20 12:51:12 +07:00
Alex Sharov
2466e4e4a7
up grpc and log deps (#688) 2022-10-19 09:31:10 +07:00
Alex Sharov
37cdd12e5b
e3: nil writer fix (#687) 2022-10-18 11:38:14 +07:00
Alex Sharov
5f9bd992a1
e3: nil writer fix (#686) 2022-10-18 11:09:05 +07:00
Alex Sharov
95433c2151
e3: write history and indices to etl (#683) 2022-10-15 08:21:15 +07:00
ledgerwatch
51b120abdd
[txpool] Best function to accept onTopOf argument and indicate whenever it is too early to gather tx for a block (#685)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-10-14 23:11:37 +01:00
J1ang
7e68f20838
feat: implement eliasfano32.Min() (#682)
feat: implement eliasfano32.Min()
feature:
1. implement eliasfano32.Min() by calculating lower/upper bits.

refactor:
1. fix miscalculate of `superQSize` Annotation

relevant Issue in erigon:
https://github.com/ledgerwatch/erigon/issues/5623
2022-10-14 13:46:24 +07:00
Alex Sharov
980cf42504
e3: BuildMissedIndices parallel (#680) 2022-10-13 09:46:24 +07:00
ledgerwatch
cfd89757db
Fix the calculation of minFeeCap in txpool (#679) 2022-10-12 19:36:32 +01:00
Alex Sharov
06cacb67a0
some fail-fast asserts about merge files (#678) 2022-10-12 17:23:34 +07:00
Andrew Ashikhmin
5ec6f1359d
Remove (almost) unused TmpDirName (#677) 2022-10-12 10:45:32 +02:00
Alex Sharov
0eab2a3dd1
e3: prevent files ranges overlap (kill -9 during merge handle) (#674) 2022-10-12 10:18:51 +07:00
Andrew Ashikhmin
a09e268abe
Configurable temporary directory for in-memory DB (#676)
See https://github.com/ledgerwatch/erigon/pull/5702
2022-10-11 16:57:32 +02:00
awskii
d0efd3c1ca
E3/4 restore state and commitment fix (#670)
- Fixed commitment issues both erigon3/erigon4
- get back update-based commitments approach
- partially fixed state seeking
2022-10-11 07:24:25 +01:00
Alex Sharov
a63b054c1c
e3: prune limited amount before commit (#675) 2022-10-11 11:25:08 +07:00
Alex Sharov
91cc20a34b
erigon3: cli command to force merge snapshots (#672) 2022-10-10 09:47:05 +07:00
Alex Sharov
1ce5610eea
e3: agg atomic (#671) 2022-10-09 20:16:26 +07:00
alex.sharov
77d3a90936 Revert "save"
This reverts commit f24d3231ac.
2022-10-09 18:51:13 +07:00
alex.sharov
f24d3231ac save 2022-10-09 18:50:51 +07:00
alex.sharov
bbfa220cb1 save 2022-10-06 15:51:40 +07:00
Alex Sharov
2204990464
e3: fix close nil ptr (#669) 2022-10-06 12:20:28 +07:00
Alex Sharov
b683ed435c
Compress params change (#651)
Main Target: reduce RAM usage of huffman tables. If possible - improve
decompression speed. Compression speed not so important.

Experiments on 74Gb uncompressed file (bsc
012500-013000-transactions.seg)
Ram - needed just to open compressed file (Huff tables, etc...)
dec_speed - loop with `word, _ = g.Next(word[:0])`
skip_speed - loop with `g.Skip()` 
```
| DictSize | Ram  | file_size | dec_speed | skip_speed |
| -------- | ---- | --------- | --------- | ---------- |
| 1M       | 70Mb | 35871Mb   | 4m06s     | 1m58s      |
| 512K     | 42Mb | 36496Mb   | 3m49s     | 1m51s      |
| 256K     | 21Mb | 37100Mb   | 3m44s     | 1m48s      |
| 128K     | 11Mb | 37782Mb   | 3m25s     | 1m44s      |
| 64K      | 7Mb  | 38597Mb   | 3m16s     | 1m34s      |
| 32K      | 5Mb  | 39626Mb   | 3m0s      | 1m29s      |
```
 
Also about small sampling: skip superstrings if superstringNumber % 4 !=
0 does reduce compression ratio by 1% - checked on big BSC file and
small (1gb) goerli file.

so, I feel it's not so bad idea to use:
maxDictPatterns=64k
samplingFactor=4

Tradeoffs: sacrify 5% compression ratio to 4x compression speedup (i
think even more), 30% decompression speedup, 10x RAM reduction

Release: I will not change existing snapshots - now will focus on
releasing new block snapshots and releasing new history snapshots
(Erigon3). If have time will re-compress existing snapshots later.
2022-10-05 17:54:48 +07:00
Alex Sharov
746b31def2
agg22 madv helpers (#668) 2022-10-05 13:17:23 +07:00
Alex Sharov
0d6bc2eca4
Madv helpers (#667) 2022-10-04 10:51:51 +01:00
Alex Sharov
980eeacbd0
eliasfano32.Max() method on serialized bytes (#664) 2022-10-04 10:51:34 +01:00
Alex Sharov
9860f845fe
mdbx mergeThreshold option #665 2022-10-03 16:53:23 +07:00
Alex Sharov
ca2ebac0f9
erigon3: step toward background snapshots build #663 2022-10-02 10:03:49 +07:00
Alex Sharov
8d5cf0170a
agg print stats at startup #662 2022-10-01 09:25:59 +07:00
Alex Sharov
2ef023e5f0
ef revert to unsafe.pointer use #661 2022-09-30 13:59:04 +07:00
Alex Sharov
784b6cc904
erigon3: build .vi after downloading (#659) 2022-09-29 12:14:45 +07:00
Alex Sharov
ec49625cd9
erigon3: allow set workers amount for history compress and merge #657 2022-09-28 14:31:28 +07:00
Alex Sharov
6c929b7771
erigon3: simplify history reader (fixing edge case of reading history from files) (#658) 2022-09-28 13:48:13 +07:00
awskii
e1860348b2
reverted minHeap at elias-fano merge (#655)
* reverted minHeap at elias-fano merge

* skip ef merge test for now
2022-09-27 11:54:29 +01:00
Artem Tsebrovskiy
4f5232504f
E3 agg commitment (#647)
* added commitment to aggregator

* added commitment evaluation by updates, fixed mainnet roothash mismatch

* added ability to change starting state of hph

* replayable erigon23 with commitment

* possible fix for eliasfano index read after close

* fixed db pruning and restart

* Initial fixes

* Debug

* clear downHashedLen for branch nodes

* Fix key length, cleanup

* Cleanup

* Cleanup

* picked aggregator updates

* fixed empty cell hash for ProcessUpdate evaluation

* hashBuffer moved from Cell to HexPatriciaHashed

* fixed codeHash incorrect renewal

* lint

* removed valuemergefn from history

* fixed lint

* fixed test

* rewritten fuzz test on hph

* fix for Win tests - do not remove tmp dir after test

* win

* fixup after merge

* close aggregator after test

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2022-09-26 15:59:24 +01:00
Alex Sharov
7790688724
erigon3: build .efi after download #654 2022-09-26 15:26:58 +07:00
Alex Sharov
417cea6485
erigon22: non-pointer btree (#653) 2022-09-26 09:42:44 +07:00
Enrique Jose Avila Asapche
183d2718ca
allow mem-mutation to create buckets (#650) 2022-09-25 16:35:30 +07:00
Enrique Jose Avila Asapche
eaad0d0a4a
changed baseFeeCap from uint64 -> uint256 (#646)
* changed baseFeeCap from uint64 -> uint256

* fixed test

* ops

* no overflow

* tmp var

* difference

* ops difference

* adding proper rlp with feecap
2022-09-23 12:47:01 +02:00
giuliorebuffo
f38bce356d added verkle tree buckets 2022-09-22 18:05:02 +02:00
Alex Sharov
dac8c207fc
clean deps (#649) 2022-09-22 14:08:56 +07:00
Alex Sharov
ad0e8d47e9
remove sequential compressor #648 2022-09-22 13:59:22 +07:00
Alex Sharov
cd20a6862f
tests: one-liner to create tx (#644) 2022-09-20 13:18:30 +07:00
Alex Sharov
f05cd214bd
aggregator22: read dir without idx (#638) 2022-09-18 17:38:43 +07:00
Alex Sharov
153bec3177
remove libmdbx git-submodule, make db-tools work on vendored to mdbx-go .c code (after "make dist") #5392 #643 2022-09-18 17:37:17 +07:00
ledgerwatch
10a15edebc
[erigon22] not to overwrite files after state reconstitution (#642)
* Print

* Skip finishTx

* Correct skip

* Fix

* Fix

* Remove print

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-09-16 08:34:11 +01:00
hexoscott
547ac03eeb
ensure kv semaphore has at least 1 count (#641) 2022-09-15 22:14:10 +02:00
Andrew Ashikhmin
ef693175fe
Bump map size of in-memory MDBX (#640) 2022-09-15 13:18:08 +02:00
hexoscott
6f6b03d7f0
semaphore for remote kv and reduce semaphore max count (#639) 2022-09-15 08:49:12 +07:00
Alex Sharov
aad257bc0c
erigon22: skip tmp files by regexp (#637) 2022-09-13 16:01:41 +07:00
Alex Sharov
1b5dd96e17
remove file by extension (#636) 2022-09-12 12:37:53 +07:00