Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mempool view is different across nodes #3115

Closed
hansieodendaal opened this issue Jul 20, 2021 · 3 comments
Closed

Mempool view is different across nodes #3115

hansieodendaal opened this issue Jul 20, 2021 · 3 comments
Assignees

Comments

@hansieodendaal
Copy link
Contributor

Describe the bug
With a recent stress test, the mempool view was different across nodes, resulting in many transactions not being mined.

To Reproduce
Steps to reproduce the behaviour:

  1. Run a 36,000 transaction stress test from 6 sending wallets to 10 receiving wallets, with each wallet connected to its own base node.

Expected behaviour
The mempool view should be fairly consistent across base nodes for the stress test duration, i.e. until all transactions are mined.

Screenshots
n/a

Desktop (please complete the following information):

  • OSX, Windows

Smartphone (please complete the following information):

  • n/a

Additional context
Add any other context about the problem here.

@SWvheerden SWvheerden moved this to Verify in stress test in Tari Esme Testnet Aug 15, 2022
@stringhandler stringhandler moved this from Verify in stress test to In Progress in Tari Esme Testnet Sep 9, 2022
@hansieodendaal
Copy link
Contributor Author

This behaviour was reproduced in recent smaller stress tests - 20,000 transactions from 2x sender wallets to 2x receiver wallets.

  • Restarting base node does not help
  • Restarting wallet does not help
  • Repointing the wallet to a different base node gets the wallet to resubmit its missing transactions to the new base node, thus improving the mempool view across different nodes

@hansieodendaal
Copy link
Contributor Author

Some results about mempool sync behaviour during 2x consecutive stress tests. There were 2x sender and 2x receiver wallets with their own base nodes on one computer, and a base node + SHA3 miner + XMRig miner together with 3x monitor nodes on another computer. A total of 20,000 negotiated transactions were sent.

The primary setting under investigation was [base_node.mempool] service.initial_sync_num_peers
All nodes continued to run throughout the test, nothing was restarted.

[base_node.mempool] service.initial_sync_num_peers = 2

Both the sender and receiver nodes had virtually the same mempool stats throughout due to the connected wallets

Image

[base_node.mempool] service.initial_sync_num_peers = 5

In the 2nd test the rest of the network was much more in tune, which is the behaviour we want, although it does not make sense that [base_node.mempool] service.initial_sync_num_peers can have that influence.

Image

@hansieodendaal
Copy link
Contributor Author

Using v0.38.5 I performed a stress test with interactive transactions to peer wallets, 3x senders (16,000 transactions each) on one computer to 4x receivers (12,000 transactions each) on another computer (48,000 transactions in total).

The latest changes seemed to solve all issues. All 8x base nodes I monitored were configured to sync mempools from 5x peers and re-sync when 5 blocks behind; none of the base nodes lagged with chain sync for any type of extended period, they always caught up again.

Repository owner moved this from Under observation to Done in Tari Esme Testnet Oct 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

2 participants