Closed andyoknen closed 2 years ago
@tawmaz
I will setup some nodes to test this over the weekend.
All unit tests pass on the v0.20.18-beta1 branch: https://github.com/pocketnetteam/pocketnet.core/runs/4974926186
I will setup some nodes to test this over the weekend.
Will you perform a full sync test? I checked -reindex=1 for the test network - successfully. I will also check for disconnect blocks over the weekend.
Windows node syncing with testnet got stuck the following error:
2022-01-29T23:43:58Z Error: ProcessNewBlock (b3de18fa8901561845f14e0d215c040314f8e1bc1c800e11d2db9d2222e8fd7a) - InsertTransactions: device or resource busy: device or resource busy
This was built with cmake, I will try running it again with mingw32 cross-compiled build.
I am seeing some issues with windows. The pocketcoin-qt app compiled under mingw32 crashes without error soon after starting when running with the -testnet parameter.
I have the issue root caused. Basically if pocketcoin-qt is started without the -server command, g_socket is null and pocketcoin-qt attempts to reference g_socket to get the list or RPC commands, causing a crash because it is null. I think this is also the root cause of the other segmentation fault issue with pocketcoin-qt. I think we need to set -server=1 to enabled by default for pocketcoin-qt. In current state pocketcoin-qt crashes if it is not enabled, and without it a lot of basic functionality like getblockcount and getpeerinfo causes the program to crash.
Hotfix for pocketcoin-qt: https://github.com/pocketnetteam/pocketnet.core/pull/176
Hotfix for pocketcoin-qt: https://github.com/pocketnetteam/pocketnet.core/pull/176
Merged. This issue closed automatically after merged PR..)
I applied new tag v0.20.18-beta2 where I will be testing from
Current test status:
I plan to add the tag 0.20.18-beta3 after accepting two PR (#179 & #180) - one for the test network, the other for the extension of the API Explorer.
I suggest skipping synchronization tests for these edits and limiting ourselves to RPC tests.
Full sync test passed with tag 0.20.18-beta2 tag. I will post the amount of time it took to sync compared to 0.20.17 later on. Upgraded node has also been running and staking without errors.
0.20.18 was able to sync to block 1500000 in 54 hours using default settings.
0.20.17 synced to block 1400000 in 83 hours which is more variance than I would expect. It may have not been connected to enough fast peers, and I was syncing another node at the same time on the same subnet which may have been a factor. However I do have a fully synced node on the same subnet for both tests.
I think we will not be able to get comparable synchronization time figures using standard mechanisms. To do this, we need benchmark tests
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 | 6627 | 142 | 2315 | 80 | 0 |
2 | 8 / 1 | 23345 | 201 | 21554 | 76 | 0 |
3 | 16 / 0.5 | 55316 | 479 | 38297 | 76 | 533 |
4 | 32 / 0.25 | 67567 | 1422 | 116446 | 72 | 39337 |
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