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

Map origin neighbours in solidification queue #1701

Open
2 tasks
DyrellC opened this issue Dec 30, 2019 · 0 comments
Open
2 tasks

Map origin neighbours in solidification queue #1701

DyrellC opened this issue Dec 30, 2019 · 0 comments

Comments

@DyrellC
Copy link
Contributor

DyrellC commented Dec 30, 2019

Description

In PR #1646 the TransactionSolidifier uses a queue of hashes with no reference to the originating neighbour. When the transactions make it through the solidification processing, they are broadcast, but since we do not know the source of the milestone transaction, we broadcast to all neighbours, including the one that sent the transaction in the first place. These transfers to the originating node serve no purpose and use up bandwidth.

As all transactions placed into the queue are added through the milestone solidification process, there is no originating source for the neighbour information to be drawn from and passed forward through the pipeline. This changes with the introduction of the milestone stage in PR #1696. With this stage we would be placing milestones into the solidification process directly from the TransactionProcessingPipeline. From here we could map the transactions to the originating neighbour and avoid broadcasting the milestones and all subsequently solidified transactions to the originating source of the milestone.

Motivation

Stop broadcasting transactions to neighbours that sent them in the first place after they have been solidified.

Requirements

  • Transactions placed into the TransactionSolidifier are mapped to their originating neighbour
  • Transactions processed through the TransactionSolidifier do not broadcast to the originating neighbour

Am I planning to do it myself with a PR?

Yes. I believe this should be a part of #1696

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

No branches or pull requests

2 participants