ReplayStage owning the pool allows for subsequent work to configure
the size of the pool; configuring the size of the pool inside of the
lazy_static would have been a little messy
In a previous change, we removed the threadpool used to fetch entries
in parallel in favor of combining all fetches into a single rocksdb
multi_get() call.
This change does the same thing, except for a threadpool that was used
to fetch entries when we needed them to purge the transaction status
and address signatures columns.
This reduces the maximum penalty for voting after the grace period by
roughly 50%. This new value was derived from looking at the effects
that TVC at max credits 8 would have for recent epochs (500+) and
noting that the effect was a bit extreme, up to and exceeding 10%
"bonus" for faster voters. This change reduces that maximum bonus by
roughly half.
In addition, the TVC feature key has been changed.
RuntimeConfig doesn't use anything SVM specific and logically belongs
in program runtime rather than SVM. This change moves the definition
of RuntimeConfig struct from the SVM crate to program-runtime and
adjusts `use` statements accordingly.
* Combine builtin and BPF execution cost into programs_execution_cost since VM has started to consume CUs uniformly
* update tests
* apply suggestions from code review
#### Problem
TieredStorage stores account hash as an optional field inside its HotStorage.
However, the field isn't used and we have already decided to deprecate
the account hash.
#### Summary of Changes
Remove account-hash from the tiered-storage.
#### Test Plan
Existing tiered-storage tests.
Running validators w/ tiered-storage in mainnet-beta w/o storing account-hash.
* Add new script to patch spl in anchor downstream
* Only specify major version for token-2022
* Add update for ahash
* Patch spl in anchor
* Remove dex and metadata features for now
* Simplify vote-authority display
* Add handling for new vote authority
* Add proper None handling, because unit test (shouldn't happen IRL, though)
* Unwrap->expect
* ci: add upload-gcs-artifact
* ci: publish release binaries to GCS
* ci: redirect github repo to anza-xyz
* ci: publish windows binaries to GCS
* replace release.solana.com with release.anza.xyz
* use a explicit name for credential
* blockstore: atomize slot clearing, relax parent slot meta check
clear_unconfirmed_slot can leave blockstore in an irrecoverable state
if it panics in the middle. write batch this function, so that any
errors can be recovered after restart.
additionally relax the constraint that the parent slot meta must exist,
as it could have been cleaned up if outdated.
* pr feedback: use PurgeType, don't pass slot_meta
* pr feedback: add unit test
* pr feedback: refactor into separate function
* pr feedback: add special columns to helper, err msg, comments
* pr feedback: reword comments and write batch error message
* pr feedback: bubble write_batch error to caller
* pr feedback: reword comments
Co-authored-by: steviez <stevecz@umich.edu>
---------
Co-authored-by: steviez <stevecz@umich.edu>
* Fixes test_feature_activation_loaded_programs_recompilation_phase() to trigger the recompilation phase before the epoch boundary.
* Adds a direct check of the cached entries around recompilation.