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

Feature Gate: set rent_epoch to Epoch::MAX for rent-exempt accounts #28683

Open
jeffwashington opened this issue Oct 31, 2022 · 0 comments
Open
Labels
feature-gate Pull Request adds or modifies a runtime feature gate

Comments

@jeffwashington
Copy link
Contributor

jeffwashington commented Oct 31, 2022

Description

#26509 got activated on mnb.
we can no longer create rent paying accounts.
rent_epoch will become meaningless once there are no longer rent paying accounts.
#26509 causes us to 'freeze' rent_epoch where it is when rewrites occur.
It would be helpful to freeze rent_epoch at a known sentinel value which is consistent for all rent exempt accounts.
Epoch::MAX is such a sentinel value.
0 is already used at various times, but we could re-use it. There will be complications because we have special case code for 0 right now.
Before we stop doing rewrites (which is 1.15 at best), we need to have stabilized on the final value for rent_epoch for rent exempt accounts. Since each account's hash is dependent on rent_epoch, and we hope to stop storing account hash values in append vecs, we need the hash to be stabilized, using this constant, frozen value.

Also, once almost all accounts have a rent_epoch field of the same value, we can ultimately eliminate this field from append vecs and thus, snapshots, in-memory mmaps, the write cache, and all in-memory representations of an account. This is a step towards being able to remove this field completely.

Feature ID

5wAGiy15X1Jb2hkHnPDCM8oB9V42VNA9ftNVFK84dEgv

Activation Method

Single Core Contributor

Minimum Beta Version

No response

Minimum Stable Version

No response

Testnet Activation Epoch

No response

Devnet Activation Epoch

No response

Mainnet-Beta Activation Epoch

No response

@jeffwashington jeffwashington added the feature-gate Pull Request adds or modifies a runtime feature gate label Oct 31, 2022
@jeffwashington jeffwashington changed the title Feature Gate: set rent_epoch to Slot::MAX for rent-exempt accounts Feature Gate: set rent_epoch to Epoch::MAX for rent-exempt accounts Oct 31, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-gate Pull Request adds or modifies a runtime feature gate
Projects
None yet
Development

No branches or pull requests

1 participant