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

SVM: Group transaction processing environment #1650

Merged
merged 5 commits into from
Jun 14, 2024

Conversation

buffalojoec
Copy link

Problem

The TransactionBatchProcessorCallbacks trait is required for callers who wish
to use the TransactionBatchProcessor. It provides the batch processor with a
means for loading accounts, as well as retrieving information about the runtime
environment.

The TransactionBatchProcessor already requires a handful of runtime
configurations in its global config, as well as as inputs to
load_and_execute_sanitized_transactions.

It would be easier for downstream users of the transaction batch processor if we
coalesced runtime environment configurations.

Summary of Changes

First introduce the TransactionProcessingEnvironment as a required input to
the transaction batch processor.

Then, remove environment-related callbacks from
TransactionBatchProcessorCallbacks in favor of the provided environment
object.

@buffalojoec buffalojoec force-pushed the svm-processing-env branch from a73fb17 to 1d88262 Compare June 7, 2024 21:17
@buffalojoec buffalojoec marked this pull request as ready for review June 12, 2024 19:58
@pgarg66
Copy link

pgarg66 commented Jun 12, 2024

@buffalojoec could you run a node against MNB with this PR? I don't suspect this change to cause any divergence, but it's modifying some part of the transaction processing. So it'll be great to have some coverage there.

@buffalojoec
Copy link
Author

@buffalojoec could you run a node against MNB with this PR? I don't suspect this change to cause any divergence, but it's modifying some part of the transaction processing. So it'll be great to have some coverage there.

Yep, no problem. I'll spin up a node right now and let it run overnight.

@buffalojoec
Copy link
Author

buffalojoec commented Jun 13, 2024

Node seems to be still running healthy for ~16 hours. ID: Fso4CLF3Tzn4EZrm5Pokf59WCxsLdw3oe3wMuzVNmWVg

I'll continue running another >14 hours to cross the next epoch boundary.

@buffalojoec
Copy link
Author

Node continues to hum along through the epoch boundary!

@buffalojoec buffalojoec merged commit a108498 into anza-xyz:master Jun 14, 2024
40 checks passed
samkim-crypto pushed a commit to samkim-crypto/agave that referenced this pull request Jul 31, 2024
* SVM: introduce `TransactionProcessingEnvironment`

* SVM: fold `blockhash` and `lamports_per_signature` into env

* SVM: fold `rent_collector` into env

* SVM: fold `feature_set` into env

* SVM: fold `epoch_stake` into env
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.

2 participants