Closed tawmaz closed 2 years ago
Added commit d456b1cb396f2b91b6b77e2c9310c531168e760b to increase the version
It is necessary to make sure before the release that this block will not roll back https://github.com/pocketnetteam/pocketnet.core/blob/d456b1cb396f2b91b6b77e2c9310c531168e760b/src/chainparams.cpp#L123
Updated at the moment d456b1cb396f2b91b6b77e2c9310c531168e760b
test.pocketnet.app
test.1.pocketnet.app
Awaiting update 0.21
test.2.pocketnet.app
All unit tests pass however bench tests will not build due to this issue: https://github.com/pocketnetteam/pocketnet.core/issues/226
Bench results:
| ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 11,887,383.00 | 84.12 | 23.6% | 0.12 | :wavy_dash: `AssembleBlock` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
| 2,697.43 | 370,723.39 | 0.4% | 0.01 | `Base58CheckEncode`
| 1,322.47 | 756,158.34 | 4.3% | 0.01 | `Base58Decode`
| 1,568.08 | 637,720.92 | 1.7% | 0.01 | `Base58Encode`
| 487.50 | 2,051,280.94 | 0.7% | 0.01 | `Bech32Decode`
| 633.69 | 1,578,063.46 | 2.1% | 0.01 | `Bech32Encode`
| 1,130,742.00 | 884.38 | 13.3% | 0.01 | :wavy_dash: `BenchLockedPool` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
| ns/block | block/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 727,435.00 | 1,374.69 | 19.6% | 0.01 | :wavy_dash: `CCheckQueueSpeedPrevectorJob` (Unstable with ~1.2 iters. Increase `minEpochIterations` to e.g. 12)
| ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 6,161.26 | 162,304.43 | 4.2% | 0.01 | `CCoinsCaching`
| ns/elem | elem/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 224.09 | 4,462,409.11 | 6.4% | 0.03 | :wavy_dash: `ConstructGCSFilter` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
| ns/block | block/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 244,923.00 | 4,082.92 | 7.2% | 0.01 | :wavy_dash: `DeserializeAndCheckBlockTest` (Unstable with ~3.9 iters. Increase `minEpochIterations` to e.g. 39)
| 71,659.40 | 13,954.90 | 5.0% | 0.01 | `DeserializeBlockTest`
| ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 2.18 | 459,519,682.16 | 3.0% | 0.01 | `FastRandom_1bit`
| 11.40 | 87,684,239.60 | 0.9% | 0.01 | `FastRandom_32bit`
| ns/elem | elem/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 31,530.97 | 31,714.85 | 1.0% | 0.01 | `MatchGCSFilter`
| ns/block | block/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 25,207.85 | 39,670.18 | 17.1% | 0.01 | :wavy_dash: `MempoolEviction` (Unstable with ~46.3 iters. Increase `minEpochIterations` to e.g. 463)
| ns/leaf | leaf/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 203.98 | 4,902,468.06 | 6.9% | 0.02 | :wavy_dash: `MerkleRoot` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
| ns/byte | byte/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 3.24 | 309,046,024.37 | 4.1% | 0.04 | `RIPEMD160`
| ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 1,048.07 | 954,136.88 | 42.6% | 0.01 | :wavy_dash: `RollingBloom` (Unstable with ~480.7 iters. Increase `minEpochIterations` to e.g. 4807)
| ns/byte | byte/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 2.68 | 373,712,467.12 | 10.1% | 0.03 | :wavy_dash: `SHA1_test` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
| 2.50 | 400,339,643.62 | 1.5% | 0.01 | `SHA256D64_1024`
| 8.99 | 111,217,863.08 | 3.4% | 0.01 | `SHA256_32b`
| 4.06 | 246,287,887.39 | 5.0% | 0.05 | `SHA256_test`
| 3.88 | 257,591,743.88 | 5.1% | 0.04 | :wavy_dash: `SHA512_test` (Unstable with ~1.0 iters. Increase `minEpochIterations` to e.g. 10)
| ns/op | op/s | err% | total | benchmark
|--------------------:|--------------------:|--------:|----------:|:----------
| 34.15 | 29,282,818.48 | 0.2% | 0.01 | `SipHash_32b`
| 231,141.25 | 4,326.36 | 10.3% | 0.01 | :wavy_dash: `VerifyScriptBench` (Unstable with ~4.1 iters. Increase `minEpochIterations` to e.g. 41)
My testnet node has stopped syncing at block 289521 with v0.20.19. Are other testnet nodes healthy?
Running into the following error when trying to sync on testnet at block 454224:
2022-03-02T18:40:59Z Warning: SocialConsensus check type:200 failed with result:21 for tx:8bc939ffdba75311155bd5452f5da2ce7511b9f06662402b9bc2a63f3a21d9d4 in blk:9db8608d4f2f92727ceea128cba65bfeb6835731535fa0b643e63fedf854e194 at height:454224
Running into the following error when trying to sync on testnet at block 454224:
2022-03-02T18:40:59Z Warning: SocialConsensus check type:200 failed with result:21 for tx:8bc939ffdba75311155bd5452f5da2ce7511b9f06662402b9bc2a63f3a21d9d4 in blk:9db8608d4f2f92727ceea128cba65bfeb6835731535fa0b643e63fedf854e194 at height:454224
I am facing this problem at completely different heights. I found out that some transactions come with an incomplete payload. I assume that there is a node in the test network that incorrectly serializes transactions for transmission to the network. I am testing this hypothesis and thinking about a mechanism for rejecting such data for further attempts to download them from another node.
@tawmaz @lostystyg I think I found the reason.
there is a fix in this branch: https://github.com/pocketnetteam/pocketnet.core/tree/fix/list_transactions
I think this function does not always write or lose data: https://github.com/pocketnetteam/pocketnet.core/blob/44ac6d2b343348c43935e0ef59bb458bb6e93ba2/src/pocketdb/repositories/TransactionRepository.cpp#L120-L125
I also think it makes sense to mark the header of the block that failed the check - this will trigger a mechanism for reloading the block. https://github.com/pocketnetteam/pocketnet.core/blob/f55ad47de416d32232ac7242c988a6381bf740f6/src/validation.cpp#L4634-L4641
Added new tag v0.20.19-beta2 and restarting testing from that tag.
All unit tests pass on the tag v0.20.19-beta2
Added RPC API fixes in v0.20.19-beta3
My testnet node was able to fully sync without issue on v0.20.19-beta2. Switching over to tag v0.20.19-beta3.
Running full sync test on mainnet from node at IP 35.87.194.183. It is just past block 1000000 and should be completed in a few more days.
Syncing is blocked at block 1044030, hash 66ee85eb70d58c50611521b803d938891a6d52ba25635cdf05464a2263754f59. Here is the error message from the log:
2022-03-06T16:09:41Z WARNING: SocialConsensus validating failed with result 6 for block 66ee85eb70d58c50611521b803d938891a6d52ba25635cdf05464a2263754f59 2022-03-06T16:09:41Z ERROR: ConnectTip: ConnectBlock 66ee85eb70d58c50611521b803d938891a6d52ba25635cdf05464a2263754f59 failed, failed-validate-social-consensus (code 96)
Added some fixes in v0.20.19-beta4
All unit tests pass with v0.20.19-beta4 Upgrade was successful on testnet and mainnet. Restarting block sync test on both networks.
Sync test against mainnet is at block 1513778 and should finish today. I will try to get upgrade and client performance tests kicked off today or early tomorrow.
Sync completed on mainnet, and upgrade succeeded on one of my staking nodes. I'll run perf tests tomorrow.
Staking node looks good and was able to successfully stake 10+ times. I ran the load test which shows 150kops per 5 minute period. This is with 2 i5 8GB systems connected in a client server setup over a 1GbE switch.
2 VCPU
4 GB RAM
SSD
threads=10
workqueue=100
duration 1 hour
Test # | Threads / TX per sec |
Count | Time AVG (ms) | Time MAX (ms) | Time MIN (ms) | RPC Pool exceeded |
---|---|---|---|---|---|---|
1 | 4 / 2 | 6654 | 132 | 1734 | 93 | 0 |
2 | 8 / 1 | 20710 | 362 | 28790 | 94 | 15 |
3 | 16 / 0.5 | 49934 | 626 | 82275 | 92 | 3257 |
4 | 32 / 0.25 | 69941 | 1256 | 132139 | 91 | 34260 |
The method of generating a transaction in the test network - pocketdb/web/PocketTransactionRpc.h::GenerateTransaction
The following types of transactions were used in equal proportions:
Comment
Post
Rating
Subscription
Tracking issue for 0.20.19 release. Fixes contained in this release: