Skip to content
This repository has been archived by the owner on Aug 23, 2020. It is now read-only.

Remove conditions for sending #1863

Closed

Conversation

DyrellC
Copy link
Contributor

@DyrellC DyrellC commented May 20, 2020

Description of change

There is a race condition occurring between the tip requesting, and the broadcast and reply stages. There is a write flag being switched on and off by the various threads that stop the sendQueue from being polled from and sent to neighbours. As a result, we see a large spike in dropped transaction requests, and the node will stop synchronising. Once a node runs into this error the only remedy is to drop and reconnect the neighbour, and even then the problem could resurface any time there's a large amount of transactions being processed simultaneously.

To fix this we can remove the back and forth switching of this write flag.

Type of change

  • Bug fix (a non-breaking change which fixes an issue)

How the change has been tested

Nodes no longer froze when synchronising with neighbours.

Change checklist

  • My code follows the contribution guidelines for this project
  • I have performed a self-review of my own code
  • New and existing unit tests pass locally with my changes

Copy link
Contributor

@GalRogozinski GalRogozinski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unit tests fail

@GalRogozinski GalRogozinski mentioned this pull request May 20, 2020
3 tasks
@GalRogozinski
Copy link
Contributor

closed in favor of #1864

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants