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

only fetch unapplied transactions if we need them #5131

Merged

Conversation

wanderingbort
Copy link
Contributor

In sync and real-time scenarios under moderate to heavy traffic load there can be a large backlog of unapplied transactions. Fetching the unapplied transactions has a cost associated due to the container conversion implied. However, that map of transactions is only useful if we are:

  • an RPC node that wants to persist incoming transactions state mutations until they get into a block or expire and need to determine the intersection of the persisted and unapplied transactions
  • OR we are a producer trying to apply transactions learned but not yet applied

In all other cases, we can avoid the cost of fetching the unapplied transactions outright

In sync and real-time scenarios under moderate to heavy traffic load there can be a large backlog of unapplied transactions.  Fetching the unapplied transactions has a cost associated due to the container conversion implied.  However, that map of transactions is only useful if we are:

* an RPC node that wants to persist incoming transactions state mutations until they get into a block or expire and need to determine the intersection of the persisted and unapplied transactions
* OR we are a producer trying to apply transactions learned but not yet applied

In all other cases, we can avoid the cost of fetching the unapplied transactions outright
@wanderingbort wanderingbort requested a review from heifner August 9, 2018 13:29
@heifner heifner merged commit 0d63eb9 into EOSIO:develop Aug 10, 2018
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.

3 participants