Commit Graph

111 Commits

Author SHA1 Message Date
Andrew Ashikhmin
b810bb6ee0
Update interfaces (#733)
Pick up https://github.com/ledgerwatch/interfaces/pull/131
2022-11-11 16:36:22 +01:00
Max Revitt
ad300d8d66
Send Message - Peer Count (#726)
Adds peer count to SendMessageByMinBlock to allow sending requests to
multiple peers.

Also takes in change to update SnapshotsReply to use only Files slice of
string.
2022-11-03 15:14:11 +00:00
Alex Sharov
45647a5e42
revert_o2 changes (#706) 2022-10-26 15:18:21 +07:00
Alex Sharov
b671d1a645
revert last mdbx change - because some suspicious bug-report (#705)
for https://github.com/ledgerwatch/erigon/issues/5863
2022-10-26 14:04:28 +07:00
Alex Sharov
bfdf6d80c0
up some deps (#702) 2022-10-25 09:27:40 +07:00
Alex Sharov
231fb52d21
E3: par logs (#699) 2022-10-23 15:30:27 +07:00
Alex Sharov
2466e4e4a7
up grpc and log deps (#688) 2022-10-19 09:31:10 +07:00
Alex Sharov
0eab2a3dd1
e3: prevent files ranges overlap (kill -9 during merge handle) (#674) 2022-10-12 10:18:51 +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
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
dac8c207fc
clean deps (#649) 2022-09-22 14:08:56 +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
Alex Sharov
bf836996ed
uint 256 lib up (#635) 2022-09-12 10:53:59 +07:00
ledgerwatch
d9648b4c69
Cleanup interfaces (#617)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-09-01 14:41:00 +01:00
ledgerwatch
0263814f92
Cleanup interfaces (#615)
* Cleanup interfaces

* Add PendingBlock

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-08-31 14:41:33 +01:00
Alex Sharov
22beae4579
mdbx more metrics (#613) 2022-08-31 10:04:53 +07:00
alex.sharov
0d63496706 save 2022-08-24 11:45:32 +07:00
Alex Sharov
3f6d59cb7d
up_metrics version (#575) 2022-08-10 18:39:19 +07:00
Alex Sharov
01585ae2a0
go modules instead of git-subtree (#563)
* save

* save
2022-08-03 11:54:34 +07:00
Alex Sharov
ea2d29332c
mdbx: better error msg (#561) 2022-08-01 11:13:58 +07:00
Alex Sharov
b552ed4386
fix 64kb pageSize page_full corner case #557 (#557) 2022-08-01 10:54:35 +07:00
Alex Sharov
fd0e2d5c4d
kv.Snapshots() grpc method (#549)
* Remove interfaces for replacement

* Squashed 'interfaces/' content from commit 041a3b20

git-subtree-dir: interfaces
git-subtree-split: 041a3b204cceee5348d54bfa683dec6c7cf30d14

* save

* save
2022-07-26 09:28:10 +07:00
Andrew Ashikhmin
114da7eca3
Fix MDBX compilation on macOS (#535) 2022-07-20 12:59:45 +02:00
Alex Sharov
801970abbd
Mdbx: GC BigFoot (#496) 2022-07-19 16:53:13 +07:00
Alex Sharov
1afc78507e
Grpc up v48 #532 2022-07-19 13:45:47 +07:00
Max Revitt
d629e31df7
fix(#4543): BeginRo use semaphore (#520) 2022-07-13 14:37:45 +02:00
Alex Sharov
a86baf3e81
TxPool: btree with generics (#514) 2022-07-07 11:07:43 +06:00
Alex Sharov
5574d68a87
save (#499) 2022-06-19 06:35:29 +01:00
ledgerwatch
a450f5c341
MDBX patch for txid to try to reduce GC work on commit (#490)
* MDBX patch for txid to try to reduce GC work on commit

* Update to mdbx-go master

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-06-14 11:42:14 +01:00
Alex Sharov
7e00e77ae5
match roaring version with erigon #475 2022-05-30 09:17:47 +07:00
ledgerwatch
37d9944da9
[erigon2] State domains (move functionality out of aggregator) (#436)
* Domain

* First functions

* change year

* More on domain

* More to test

* More on test

* More on domains

* buildFiles

* More on domains

* Collation test

* Fix collate

* Add test for decompressors

* Restructure history tables

* Split history into 2 tables

* Fix lint

* Check index files in the test

* Close files

* Add file scanning

* Fix lint

* Fix lint

* Add readFromFiles

* Add ef history idx file

* Start cleanup

* More to cleanup, test for ef history

* More test

* Add prune to test

* Test for prune and fix

* Start history access

* History test

* Test for LastDup

* Fix one lint

* Workaround

* History tests

* Debug

* Fix

* Fix in history

* Fix lint

Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@alexs-macbook-pro.home>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alex Sharp <alexsharp@alexs-mbp.lan>
2022-05-24 18:59:57 +01:00
Alex Sharov
26e4d01d16
save (#462) 2022-05-23 14:47:49 +07:00
Alex Sharov
91f7d84e60
Generic sort of slices (no allocs, inlinable) (#449)
* save

* save
2022-05-16 08:23:43 +01:00
Alex Sharov
d882a11c67
up linter version (#443)
* save

* save

* save

* save
2022-05-10 10:14:02 +07:00
Alex Sharov
da133c2d97
save (#440) 2022-05-07 12:39:03 +01:00
Alex Sharov
14f53eefaf
Downloader: calc stat inside, add --torrent.download.slots and limit downloads inside (#432)
* Remove interfaces for replacement

* Squashed 'interfaces/' content from commit cb09f4f

git-subtree-dir: interfaces
git-subtree-split: cb09f4fd4eb9caccf7ece5b5ba05b380a4ce9e33

* save

* save

* Squashed 'interfaces/' content from commit f4847ba

git-subtree-dir: interfaces
git-subtree-split: f4847baccf2c5e35e955f14cbee428f90111dfbf

* save

* save

* Squashed 'interfaces/' content from commit 17196d5

git-subtree-dir: interfaces
git-subtree-split: 17196d54cff8233b1c0c5eadc2f806ac260c2e9d

* save
2022-04-28 09:08:26 +07:00
Alex Sharov
6a4882ac98
Min requirement to go 1.18 (#423) 2022-04-22 10:56:29 +07:00
Alex Sharov
fcb49c713a
linter: add rules.go from erigon #418 Open 2022-04-17 09:12:09 +07:00
Alex Sharov
308e04a47b
mdbx: fix assert (#415) 2022-04-12 09:57:21 +07:00
Alex Sharov
338fe7895a
grpc up (#411) 2022-04-07 11:29:32 +07:00
Alex Sharov
54629aaf7c
Mdbx fix after v0.11.6 (#398)
* save

* save
2022-03-27 07:23:35 +01:00
Alex Sharov
8ffada811a
save (#394) 2022-03-25 08:46:18 +00:00
alex.sharov
d57ac60832 mocks go1.18 compatible 2022-03-23 09:20:59 +07:00
ledgerwatch
71751426bc
Fix windows CI for go1.18 (#383)
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-03-19 12:37:03 +00:00
Alex Sharov
05b59ea524
use same version of golang.org/x/crypto with erigon #368 2022-03-16 11:30:33 +07:00
battlmonstr
f54e4c7eae
kv: use SetSyncPeriod from mdbx-go v0.22.16 (#358) 2022-03-10 13:04:08 +01:00
Alex Sharov
ebfbf92936
mdbx_v0.11.5 (#351) 2022-02-25 07:42:48 +00:00
Alex Sharov
e3e108c6c4
logger version up (#347) 2022-02-24 15:14:37 +07:00
Alex Sharov
c1c45b94bf
last version of kanzi-go dep (#337) 2022-02-18 10:11:29 +07:00