1
0
Fork 0
mirror of https://github.com/ton-blockchain/ton synced 2025-02-13 19:52:18 +00:00
Commit graph

64 commits

Author SHA1 Message Date
SpyCheese
28699654fb New private block overlays 2024-02-21 18:38:43 +03:00
SpyCheese
a2eb3f3631 Merge branch 'testnet' into block-generation 2024-02-16 16:38:47 +03:00
EmelyanenkoK
eb4831d7d6
Add --archive-preload-period (#904)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-15 12:03:57 +03:00
EmelyanenkoK
12c1b1a2e6
Limit file descriptors num by adding archive slice lru (#892)
* --max-archive-fd option limits open files in archive manager

* Don't close the latest archives + bugfix

* Delete temp packages early

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-07 14:56:37 +03:00
SpyCheese
f4fd3ff3be Merge branch 'testnet' into block-generation 2024-02-01 19:29:25 +03:00
EmelyanenkoK
c8918f0c02
Write config.json using temp file (#839)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-12-27 15:50:09 +03:00
EmelyanenkoK
83efcebad0
Improve CellDb migration (#835)
* Fix deserializing cells
* Use proxy actor
* Add delays
* Print stats every minute

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-12-19 10:39:35 +03:00
EmelyanenkoK
5e6b67ae96
Improve handling outbound message queues (#825)
* Improve handling outbound message queues

* Cleanup queue faster
* Calculate queue sizes in background
* Force or limit split/merge depending on queue size

* Increase validate_ref limit for transaction

* Add all changes of public libraries to block size estimation

* Don't crash on timeout in GC

* Don't import external messages when queue is too big

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-12-13 12:57:34 +03:00
EmelyanenkoK
9b6d699c21
Cache recent block states and adjust timeouts (#823)
* Add parameter --celldb-compress-depth to speed up celldb

* Fix collator timeout

* Add block_state_cache

* Adjust state cache ttl

* Don't merge shards when queue is too big

* Decrease lt limit if previous block is too old

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-12-08 14:20:17 +03:00
SpyCheese
5847897b37
Various changes in TVM, github builds and tests (#793)
* Bugfixes in TVM and node

* Upgrade to C++17

* Improve GitHub builds

* Fix existing tests and partially integrate them into builds

---------

Co-authored-by: neodiX42 <namlem@gmail.com>
Co-authored-by: EmelyanenkoK <emelyanenko.kirill@gmail.com>
2023-11-03 14:43:34 +03:00
SpyCheese
e814973749 Limit query size in importing out queues 2023-07-31 22:56:25 +03:00
SpyCheese
8e85bfa6e6 Merge branch 'testnet' into block-generation 2023-07-14 16:00:39 +03:00
EmelyanenkoK
afb630bf41
--shutdown-at parameter for validator-engine (#745)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-07-14 15:39:03 +03:00
SpyCheese
e4e77c16c5 Merge branch 'testnet' into block-generation 2023-06-02 13:34:00 +03:00
SpyCheese
5abfe2337e
Catchain improvements (#698)
* Fix "sgn" in fift; fix marking infinite loops as noterurn in func

* TON-P1-1: Remove unused catchain queries

* TON-P1-15: Avoid synchronization with self

* TON-P1-3, TON-P1-17: Disallow more than one candidate per src per round (to prevent flood), add checks to process_broadcast

* TON-P1-10: Fix fast/slow attempts

* TON-P1-14: Add named constants

* TON-P1-18, TON-P1-19: Alloc temporary memory in the same way as persistent memory

* TON-P1-20: Add comment to choose_blocks_to_approve

* TON-P1-16: Avoid creating two catchain blocks on need_new_block

* TON-P1-8: Add some validation to validator-engine parameters

* TON-P1-6: Don't allow sending the same block many times

Many requests for the same block are not unusual (however, there's no need to answer them all)

* TON-P1-2: Enable prohibiting dependencies from blamed nodes (2.7.5 in CatChain doc), fix processing blame proofs

* Best practices

bp-6: Fix incorrect warning
bp-7: Remove unused code
bp-8: Bring back PerfWarningTimer logging (only when no callback)
bp-9: Remove unnecessary condition
bp-11: Remove commented-out code
bp-13: Divide code in validator-session-state
Adherence to Specification: Fix typo
2023-05-10 12:57:57 +03:00
SpyCheese
d082ac36b0 Merge branch 'testnet' into block-generation 2023-03-28 16:52:33 +03:00
EmelyanenkoK
47311d6e0e
Improve tweaking for high throughput (#610)
* Option "--disable-ext-msg-broadcast"

* "Get shard out queue size" query

* Move disabling ext msg broadcasts from command-line arguments to config

* Fix compilation error

* Asynchronous store_cell and gc in celldb

* Make GC in celldb work evenly over time

* Increase timeouts for downloading blocks

* Reuse blocks from previous rounds in validator session

* Use Rldp2 in FullNode for downloading persistent states and archives

* Improve logs in download-archive-slice and download-state

* Decrease delay between serializing shards

* Make CellDbIn::load_cell synchronous to avoid interfering with store_cell

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2023-03-15 10:47:35 +03:00
SpyCheese
225f71238b Option for collating masterchain on validators 2023-01-16 19:30:15 +03:00
SpyCheese
d4339b839c Add "delshard", "delcollator" to validator-engine-console 2022-10-17 13:24:59 +03:00
SpyCheese
636348ffc2 Merge branch 'testnet' into block-generation
# Conflicts:
#	overlay/overlay-fec-broadcast.cpp
#	overlay/overlay.hpp
#	tl/generate/scheme/ton_api.tl
#	tl/generate/scheme/ton_api.tlo
#	validator-engine-console/validator-engine-console-query.cpp
#	validator-engine-console/validator-engine-console-query.h
#	validator-engine-console/validator-engine-console.cpp
#	validator-engine/validator-engine.cpp
#	validator-engine/validator-engine.hpp
#	validator/downloaders/wait-block-state.hpp
#	validator/impl/validate-query.cpp
#	validator/validator.h
2022-10-06 13:46:25 +03:00
Ivan Siomash
1464ae0b0a
Remove c++17 structure bindings from GetPerfTimerStats (#460)
* Remove c++17 structure bindings
2022-09-18 16:02:08 +03:00
Ivan Siomash
5b2e96c2fa
Fixes for GetPerfTimerStats (#457)
* getperftimerstatsjson: fix json format

* getperftimerstatsjson: fix td::min ambiguous template parameter
2022-09-15 10:26:17 +03:00
SpyCheese
86250706b8 Change format of specifying shards to monitor 2022-09-13 16:02:55 +03:00
EmelyanenkoK
8329a58994
Add GetPerfTimerStats (#451)
* Add getperfwarningtimeraverage query for validator-engine-console

* Fix for getperfwarningtimeraverage query

* getperftimerstats

* Add history max size: 1 hour

* PerfWarningTimer: move callback instead of copy

* PerfWarningTimer: fix move constructor bug

* PerfWarningTimer: fix bug: lifetime of the callback was greater than lifetime of the local variable 'manager' captured by reference

* Fix validate-query.cpp: 'manager' used after it was moved

* PerfWarningTimer: remove logs

* getperftimerstats: write to json file

* getperftimerstatsjson

Co-authored-by: legaii <jgates.ardux@gmail.com>
Co-authored-by: Ivan Siomash <106972486+legaii@users.noreply.github.com>
2022-09-10 12:57:13 +03:00
SpyCheese
1efd425403 Fix compatibility 2022-08-19 18:24:18 +03:00
SpyCheese
be2169e523 Reload validator options when needed 2022-08-19 18:24:17 +03:00
SpyCheese
910398da92 Improved neighbor choosing in full-node-shard 2022-08-19 18:24:17 +03:00
SpyCheese
7749cbfa1f Change config serialization for compatibility 2022-08-19 18:24:17 +03:00
SpyCheese
5ba2a55716 Add --lite-validator flag, rework is_validator checks 2022-08-19 18:24:17 +03:00
SpyCheese
7241522de2 Remove obsolete interface for importing blocks 2022-08-19 18:24:16 +03:00
SpyCheese
51e6885f2c Update validator config format; partial liteservers and their support in liteclient 2022-08-19 18:24:16 +03:00
SpyCheese
212c07f2f0 Change update_shard_configuration 2022-08-19 18:24:15 +03:00
SpyCheese
7ac60bea7d New shard overlays 2022-08-19 18:24:15 +03:00
SpyCheese
53270a00e6 Add CollatorNode and make validators request blocks from it 2022-08-19 18:24:15 +03:00
SpyCheese
996c23e506 Shardchain validation without monitoring shardchains 2022-08-19 18:24:14 +03:00
SpyCheese
415ace3da9 Exporting and importing candidates using validator-engine-console; lite mode for validator group 2022-08-19 18:24:14 +03:00
SpyCheese
849d995346 Add getvalidatorsessions query to validator-engine-console 2022-08-19 18:24:14 +03:00
SpyCheese
b3e6819f3f Log validator session stats to file 2022-08-18 21:51:57 +03:00
OmicronTau
cb31a20206 Add methods to sign and import certificates 2022-05-06 10:42:49 +03:00
OmicronTau
69d0472510 Add mempool messages cap 2022-05-06 10:33:00 +03:00
OmicronTau
4062466bba Add unsafe-catchain-rotate option to validator engine 2021-08-19 13:16:20 +03:00
sonofmom
e261981c35 Tripple the hardcoded FD limit 2021-04-07 23:44:51 +03:00
Alex Melman
bab4c1637e Automatically integrates git build information into executables.
Usage:
func.exe -V
adnl-pong -V
validator-engine -V
and so on.
Result will be shown in the following format:
Func build information: [ Commit: d8b751d7a5, Date: 2021-02-27 14:34:41 +0200]
2021-02-27 14:34:43 +03:00
Alex Melman
41a3418b7b Adds command line parameter -V that shows build version to the binaries.
Build number controlled in top level CMakeLists.txt file via -DBUILD_VERSION variable.
Usage:
adnl-pong -V
validator-engine -V
and so on.
2021-02-27 14:34:41 +03:00
ton
f064b1047a pow-testgiver support 2020-07-06 17:07:20 +03:00
ton
040df63c98 minor improvements and bugfixes 2020-05-07 10:35:23 +04:00
ton
9f008b129f updated submodules, bugfixes
- added new fift/func code for validator complaint creation
- bugfixes in validator
- updates in tonlib
- new versions of rocksdb/abseil
- hardfork support
2020-04-27 16:01:46 +04:00
ton
be9c34c62d bugfixes 2020-04-10 23:06:01 +04:00
ton
7efb345e3d remove debug checks to improve performance under load on weak validators 2020-04-05 13:56:24 +04:00
ton
b73b057e08 too big catchain workaround 2020-04-04 17:27:19 +04:00