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

218 commits

Author SHA1 Message Date
SpyCheese
dc26c3be67 Improve validator session stats (#1117)
* Improve validator session stats

* Collator stats: block limits, number of processed external messages
* Collator and validator work time
* Last key block seqno
* Approvers and signers

* End validator session stats
2024-08-28 11:15:23 +03:00
EmelyanenkoK
e985ac0358
Add --fast-state-serializer flag and responding to AdnlMessageCreateChannel with Nop (#1096)
* Add --fast-state-serializer and tools for jemalloc

* Disable fast state serializer by default unless RAM is >= 90GB
* Print jemalloc stats once a minute
* Dump jemalloc profile on request

* Respond to AdnlMessageCreateChannel with Nop

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-08-07 14:25:45 +03:00
EmelyanenkoK
b3828f8eb2
Print oldest celldb snapshot to stats (#1078)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-07-26 22:11:58 +03:00
SpyCheese
1b9372804f
Make block overloaded if dispatch queue processing limit is reached (#1070) 2024-07-23 16:47:28 +03:00
SpyCheese
58ca7b44ff
Add null check in manager.cpp (#1069) 2024-07-23 15:17:36 +03:00
SpyCheese
b9e89d4c66
"getcollatoroptionsjson" command in validator console (#1059)
* "getcollatoroptionsjson" command in validator console

* Improve state serializer

Use previous persistent state to speed up reading
2024-07-17 15:10:55 +03:00
EmelyanenkoK
00cd053dbc
Fix processing dispatch queue (#1057)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-07-13 14:43:04 +03:00
EmelyanenkoK
57f95cc282
Add collator options (#1052)
* Set collator options from validator console

* Fix compilation error in manager-disk

* Defer all messages if out msg queue is too big

* Fix checking queue size in collator

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-07-10 14:58:13 +03:00
SpyCheese
c54f095c1b
Don't use user-provided fees for internal messages (#1050) 2024-07-10 09:17:37 +03:00
tom
fae7763ec7
Fix typos (#998) 2024-06-27 16:46:37 +03:00
EmelyanenkoK
0daee1d887
Merge message dispatch queue (#1030)
* Deferred messages and msg metadata

* Store out msg queue size in state

* Add checks for queue processing

1. Collator must process at least one message from AccountDispatchQueue (unless block is full)
2. The first message from a transaction is not counted, it cannot be deferred (unless AccountDispatchQueue is not empty)

* Return msg metadata from LS in listBlockTransactions[Ext]

* Enable new features by capabilities

* Changes in deferred messages

* Process deferred messages via new_msgs in collator
* Rework setting deferred_lt, bring back check_message_processing_order, check order of deferred_lt in validator

* Use have_unprocessed_account_dispatch_queue_ in collator

* Fix setting transaction lt for deferred messages

* Fix lite-client compilation error

* Changes in process_dispatch_queue, rename deferred_lt -> emitted_lt

* Fix compilation error

* Use uint64 for msg queue size

* Add liteServer.getBlockOutMsgQueueSize

* Fix compilation error

* Fix typos in comments

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-06-27 16:12:23 +03:00
EmelyanenkoK
bd23029d0a
Soft send message validation (#1021)
* check mode on invalid action_send_msg

* Fix random seed generation

* Explicitly skip invalid actions

* Count skipped valid messages, rename cfg option to message_skip_enabled

* Allow unfreeze via external messages

* Detect and handle bounce_on_fail mode for invalid messages

* Fix codestyle

* Adjust doc
2024-06-11 15:08:08 +03:00
EmelyanenkoK
f9b6d21620
Update validator list on each keyblock 2024-06-04 13:09:06 +03:00
EmelyanenkoK
0301e9fbb7
Fix loading key block config in FullNodeImpl (#1013)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-06-04 13:03:58 +03:00
EmelyanenkoK
3d7e85bafd
Rollback celldb default flag values and decrease default TTLs (#1012)
* Rollback celldb default flag values and decrease default TTLs

* Fix description
2024-06-02 13:41:02 +03:00
EmelyanenkoK
74801d00b8
Command to disable state serializer (#1011)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-05-31 20:50:31 +03:00
EmelyanenkoK
8a4d44de1e
Compress block candidate broadcasts (#1007)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-05-29 15:10:42 +03:00
EmelyanenkoK
ceefac74cf
Limit checked external messages per address (#1005)
* Limit checked external messages per address

* Change max_ext_msg_per_addr_time_window; cleanup mempool by timer

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-05-28 13:31:13 +03:00
EmelyanenkoK
539d5dd2de
Add candidates cache (#1000)
* Broadcast shardchain block candidates in private overlays, generate proof links from candidates

* Disable shardchain block broadcasts in private overlays

* Send block candidate broadcasts to custom overlays, allow non-validators to receive candidates

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-05-24 09:58:07 +03:00
EmelyanenkoK
561f342639
Add --celldb-direct-io and --celldb-preload-all (#993)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-05-14 16:05:29 +03:00
EmelyanenkoK
816dd9cf2d
Add option --catchain-max-block-delay (#990)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-05-13 14:55:32 +03:00
EmelyanenkoK
c7fd75ce56
Fix creating rocksdb cache (#989)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-05-13 14:54:57 +03:00
EmelyanenkoK
1433f23eff
Add option --celldb-cache-size (#988)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-05-13 12:48:18 +03:00
EmelyanenkoK
d5c09936cf
Block broadcasts in custom overlays (#986)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-05-10 17:04:49 +03:00
EmelyanenkoK
6fb2019a4f
Improve validator session stats (#982)
* Add list of validators
* Fix producer stats
* Make round and stats timestamps more meaningful

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-05-08 17:41:15 +03:00
EmelyanenkoK
037053fffe
More verbose state serializer logs (#976)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-29 16:33:10 +03:00
EmelyanenkoK
9a543c6b28
Add more info to session stats (#973)
* Improve validator session stats

* Improve validator session stats

Add got_submit_at, collation_cached, validation_cached.
Fix stats cleanup.

* Fix setting timestamp for cached blocks

* Add serialize/deserialize time, serialized size to validator session stats, fix setting is_accepted

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-25 18:47:15 +03:00
EmelyanenkoK
d2b012c883
Add write time stats to celldb/db_stats.txt (#972)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-25 18:45:39 +03:00
EmelyanenkoK
190aa6bd4a
Use shard client timestamp to determine expiration of temp archives (#965)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-15 13:44:12 +03:00
EmelyanenkoK
a2bd695b89
Fix prepare_vm_c7 (#958)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-08 14:29:54 +03:00
EmelyanenkoK
b8111d8b5b
Fix setting due_payment in storage phase (#957)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-08 11:15:52 +03:00
EmelyanenkoK
cc4244f5a4
Fix setting inited_ in FullNodeCustomOverlay (#954)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-03 12:11:07 +03:00
EmelyanenkoK
8390d887d3
Set temp packages ttl to 1h (#953)
This leaves only 3 last temp packages

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-02 11:46:40 +03:00
EmelyanenkoK
f7907bdd58
Rename private ext msg overlays to custom overlays, change interface a bit (#952)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-01 18:24:08 +03:00
EmelyanenkoK
0434eadc1f
Add custom overlays for external messages (#949)
* Private overlay for external messages

* Improve ext msg overlays

* Manage from validator console
* Bypass out queue size limit for high-priority messages
* Shuffle messages in get_external_messages

* Cleanup mempool when creating validator group

* Improve private overlays for externals

1. Allow using validator adnl ids in addition to fullnode ids
2. Set priority per sender, not per overlay
3. Require the same overlay name for all nodes
4. Enable lz4 in private block overlay

* Fix typo, add debug logs

* Enable lz4 in private block overlay by config

Change proto_version for lz4 in catchain overlays to 4

* Add logs for broadcasts in fullnode

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-04-01 16:44:08 +03:00
Marat
46ca0e6014
Check pack_statistics for nullptr (#950) 2024-03-29 22:01:53 +03:00
Marat
10487b1c71
Collect statistics for .pack files (#944)
* Statistics for .pack files

* optimizations

* fix typo

* fix erasing packages
2024-03-27 14:23:11 +03:00
EmelyanenkoK
b07614335c
liteServer.getOutMsgQueueSizes method (#943)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-03-26 15:55:58 +03:00
EmelyanenkoK
0bcebe8a0e
Exp/compress candidates (#942)
* Compress block candidates in validator-session

* Compress blocks in full-node (disabled for now)

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-03-26 14:52:46 +03:00
EmelyanenkoK
9452c367e4
LS queries to nonfinal blocks (#941)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-03-26 14:51:06 +03:00
Marat
0feaaf591c
Mode 644 for db_stats.txt (#938) 2024-03-20 15:57:20 +03:00
Marat
7a6bfa7e7a
Save rocksdb statistics to file every minute (#932)
* Save rocksdb statistics to file every minute

* Add flag to disable collecting rocksdb statistics
2024-03-20 14:21:40 +03:00
EmelyanenkoK
0a82a19313
Don't serialize expired persistent states (#935)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-03-19 15:43:03 +03:00
EmelyanenkoK
f1592641de
Tonlib improvement fixes (#934)
* 3.6. Fix directory traversal in KeyValueDir

* 3.9. Fix buffer_to_hex reversing nibbles

* 3.5. Fix error handling at blocks.getBlockHeader

* 3.11. Fix query.forget

* 3.12. Fix error handling in RemoteRunSmcMethod

* 4.1. Delete unused files

* 3.10. Use named constants instead hardcoded constants

* 3.4. Fix response block header verification

* 3.1. Check proof of blocks.getShards response

* fix td::buffer_to_hex + test

* 3.2. Add proof check for listBlockTransactions response in RunEmulator actor

* 3.8. Add proof checking for getLibraries method

* fix regression tests

* 3.3 Add proof checking for lookupBlock method

* Add publishers to proof of getLibrariesWithProof response  (#25)

* fix missing return, fix requesting mc block

* Fix requesting lookupBlock with client mc blk == mc ref block

* Fix duplicating lib data in proof and data, add mode 2 for not including the data

* Migration of LastBlockStorage with fixed td::buffer_to_hex

---------

Co-authored-by: ms <dungeon666master@protonmail.com>
Co-authored-by: Marat <98183742+dungeon-master-666@users.noreply.github.com>
2024-03-19 15:31:29 +03:00
Marat
69de1cb621
Fix linker error: undefined reference to LiteServerCacheImpl::MAX_CACHE_SIZE (#930)
Co-authored-by: EmelyanenkoK <emelyanenko.kirill@gmail.com>
2024-03-19 15:24:15 +03:00
EmelyanenkoK
fc69377f9c
Fix running VM in liteserver and tonlib (#933)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-03-19 15:23:34 +03:00
EmelyanenkoK
9d05696452
Add infrastructure for precompiled smartcontracts (#927)
* Utils for writing precompiled contracts

* Precompiled contracts in config, override gas_usage for them

* Add base class for precompiled contracts

* Improve utils for precompiled smc

* Implement GETPRECOMPILEDGAS

* Enable precompiles by flag

* Process null data in PrecompiledSmartContract

* Fix ton_block wasm build

* Fix vm::util::store_(u)long

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-03-05 16:54:49 +03:00
EmelyanenkoK
310dd6dec1
Fix fetching mc config for runSmcMethod, fix caching in LS (#915)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-21 16:13:55 +03:00
EmelyanenkoK
c7302bc4a3
Fix checking ext message broadcasts (#912)
Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-19 19:01:50 +03:00
EmelyanenkoK
af71dae31b
Ls run method (#906)
* Improve LS runSmcMethod

* Full c7 and libraries
* Don't request c7 (mode 8) in lite-client
* Prioritize remote result in lite-client runmethod (but not runmethodfull)

* Return simplified c7 from runSmgMethod, add flag to return full

---------

Co-authored-by: SpyCheese <mikle98@yandex.ru>
2024-02-16 16:30:43 +03:00