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

transactionWatch: Remove the broadcast event #134

Merged
merged 2 commits into from
Feb 14, 2024
Merged

Conversation

lexnv
Copy link
Contributor

@lexnv lexnv commented Feb 13, 2024

This PR removes the Broadcasted event from the transactionWatch and the broadcasted field from the Dropped event.

The Broadcasted event was introduced to inform users about the transaction process.
However, the number of peers it contains does not offer any strong guarantees about the uniqueness of those peers; or if the transaction could be later included in the chain by those peers.
Further, the Broadcasted event is hard to enforce by load balancers; in cases where the server goes down without sending a Broadcasted event first.

I would love to get your thoughts on this

Closes #132.

cc @paritytech/subxt-team

@lexnv lexnv self-assigned this Feb 13, 2024
Copy link
Contributor

@josepot josepot left a comment

Choose a reason for hiding this comment

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

Thanks @lexnv !

@jsdw jsdw merged commit 6a0261a into main Feb 14, 2024
3 checks passed
@jsdw jsdw deleted the lexnv/remove-broadcast-event branch February 14, 2024 09:42
github-merge-queue bot pushed a commit to paritytech/polkadot-sdk that referenced this pull request Feb 21, 2024
…h` (#3321)

This PR backports the changes from the rpc-v2 spec:
paritytech/json-rpc-interface-spec#134

The `Broadcasted` event has been removed:
- it is hard to enforce a `Dropped { broadcasted: bool }` event in cases
of a load-balancer being placed in front of an RPC server
- when the server exists, it is impossible to guarantee this field if
the server did not previously send a `Broadcasted` event
- the number of peers reported by this event does not guarantee that
peers are unique
- the same peer can disconnect and reconnect, increasing this metric
number
- the number of peers that receive this transaction offers no guarantee
about the transaction being included in the chain at a later time


cc @paritytech/subxt-team

---------

Signed-off-by: Alexandru Vasile <[email protected]>
Co-authored-by: James Wilson <[email protected]>
bgallois pushed a commit to duniter/duniter-polkadot-sdk that referenced this pull request Mar 25, 2024
…h` (paritytech#3321)

This PR backports the changes from the rpc-v2 spec:
paritytech/json-rpc-interface-spec#134

The `Broadcasted` event has been removed:
- it is hard to enforce a `Dropped { broadcasted: bool }` event in cases
of a load-balancer being placed in front of an RPC server
- when the server exists, it is impossible to guarantee this field if
the server did not previously send a `Broadcasted` event
- the number of peers reported by this event does not guarantee that
peers are unique
- the same peer can disconnect and reconnect, increasing this metric
number
- the number of peers that receive this transaction offers no guarantee
about the transaction being included in the chain at a later time


cc @paritytech/subxt-team

---------

Signed-off-by: Alexandru Vasile <[email protected]>
Co-authored-by: James Wilson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

broadcasted field of dropped event of transactionsWatch hard to enforce
4 participants