[BUG] [performance] Different block heights on different peers
OS and Environment
linux, k8s
GIT commit hash
0eb7fabb2051ed9182fc350887e4438f5b7276a4
Minimum working example / Steps to reproduce
the problem is observed when applying a load at 8.5 RPS, the problem is not always reproduced
performance generator the load is supplied from 7 generators with identical hardware parameters
hostnames:
- s2.tst.iroha2.iroha.tech
- s3.tst.iroha2.iroha.tech
- s4.tst.iroha2.iroha.tech
- s1.dev.iroha2.iroha.tech
- s2.dev.iroha2.iroha.tech
- s3.dev.iroha2.iroha.tech
- s4.dev.iroha2.iroha.tech
CPU
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 39 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Vendor ID: GenuineIntel
Model name: Intel(R) Xeon(R) E-2278G CPU @ 3.40GHz
CPU family: 6
Model: 158
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 1
Memory
RANGE SIZE STATE REMOVABLE BLOCK
0x0000000000000000-0x000000008fffffff 2.3G online yes 0-17
0x0000000100000000-0x000000086fffffff 29.8G online yes 32-269
Memory block size: 128M
Total online memory: 32G
Total offline memory: 0B
Link to analysis performance tests
stopping the test to try to synchronize containers
try to retest
Actual result
timestamp Nov 29, 2023 @ 16:38:20.781
iroha2-2
logdata: consensus: iroha_core::sumeragi::main_loop: Other peer send irrelevant or outdated block to the peer (it's neither `peer_height` nor `peer_height + 1`). addr=0.0.0.0:1337 role=ProxyTail block_hash=812824c2972382b9a180379d11cb51dcb522dde79fc7019883e19083c1b88907 block_height=1979 peer_height=1975
**timestamp Nov 29, 2023 @ 16:38:20.779
iroha2-2**
consensus: iroha_core::sumeragi::main_loop: Block not valid. addr=0.0.0.0:1337 role=ProxyTail block_hash=7d4e3a1ec366b945d607f9d1e53b7ba21a703e564c9fd55b070557835a815917 error=LatestBlockHashMismatch { expected: Some({ iroha_crypto::hash::HashOf<iroha_data_model::block::SignedBlock> 13af76ac7f341e2e72abf113ef09030b6f65c6d3bd74fa8a8bc9c3f1bf6db377 }), actual: Some({ iroha_crypto::hash::HashOf<iroha_data_model::block::SignedBlock> 7af53f4601ab769a62f3f3c57dbfbf20e13eaacdf3a3c400aae6983408148add }) }
--
**timestamp Nov 29, 2023 @ 16:38:20.781
iroha2-2**
consensus: iroha_core::sumeragi::main_loop: Other peer send irrelevant or outdated block to the peer (it's neither `peer_height` nor `peer_height + 1`). addr=0.0.0.0:1337 role=ProxyTail block_hash=812824c2972382b9a180379d11cb51dcb522dde79fc7019883e19083c1b88907 block_height=1979 peer_height=1975
**timestamp Nov 29, 2023 @ 16:38:20.359
iroha2-2**
iroha_core::block_sync::message: Block hash not found previous_hash=Some({ iroha_crypto::hash::HashOf<iroha_data_model::block::SignedBlock> 3ad7fb9307c165b9cbb44ceb6081c7358c5eed44babc7809fe5a6f909cf7282b })
Expected result
Stable work
Logs in JSON format
Log contents
link to logs in Steps to reproduce section
Who can help to reproduce?
@timofeevmd
Notes
No response
After discussing the problem with @Aentich, the idea arose to confirm or refute possible errors in the smart contract, and therefore we decided to disable it
commit from which you need to make a branch
verify with rc21
work for rc 21