-
Notifications
You must be signed in to change notification settings - Fork 4.4k
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
v1.1: Always enable nonce slot/owner-in-hash #10166
Conversation
32ea6e8
to
a8efaa9
Compare
💔 Unable to automerge due to CI failure |
💔 Unable to automerge due to CI failure |
@@ -1330,10 +1330,8 @@ impl AccountsDB { | |||
hasher.result() | |||
} | |||
|
|||
pub fn include_owner_in_hash(slot: Slot) -> bool { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mvines Well, I've found we can't remove this gating until the cluster is over an epoch after eager rent collection is enabled.
That's because this slot
is the slot a given account is updated at, not the slot when the bank hash is calculated for the bank at.... And accounts are at various slots. And accounts last updated older than 14_000_000 must be calculated with old hashing method (ie, don't include owner).
So we must wait to remove this for tds until eager rent collection updates all accounts...
This also means for mainnet-beta, we need similar gating still for the 1.1 branch for the cluster...
Maybe that's reason #10163 is occurring too; we need this logic for master to consume tds snapshots.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, ok cool. Happy to let this PR sit until Monday. I was just trying to get ahead of things for the v1.0 -> v1.1 mainnet-beta upgrade
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh sure. The trick is that we're starting to run out of time. Here's what the release timeline looks like for the next week:
- master branch forks into the v1.2 branch today
- release v1.2.0 probably on Tuesday the 26th
- upgrade devnet to v1.2.0 ideally
- by the 29th, upgrade mainnet-beta to v1.1
- by the 29th, upgrade testnet to v1.2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I'll adjust the transition plan accordingly. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I filed #10227 to track this change for a little later
hey @ryoqun, any idea why |
@mvines Yeah, I'm aware of it. This is intended but too subtle....: We just need to change this line to |
Codecov Report
@@ Coverage Diff @@
## v1.1 #10166 +/- ##
======================================
Coverage 80.6% 80.6%
======================================
Files 288 288
Lines 66085 66084 -1
======================================
+ Hits 53308 53315 +7
+ Misses 12777 12769 -8 |
@@ -50,7 +50,7 @@ pub const SIZE_OF_NONCE_DATA_SHRED_PAYLOAD: usize = | |||
pub const OFFSET_OF_SHRED_SLOT: usize = SIZE_OF_SIGNATURE + SIZE_OF_SHRED_TYPE; | |||
pub const OFFSET_OF_SHRED_INDEX: usize = OFFSET_OF_SHRED_SLOT + SIZE_OF_SHRED_SLOT; | |||
pub const NONCE_SHRED_PAYLOAD_SIZE: usize = PACKET_DATA_SIZE - SIZE_OF_NONCE; | |||
pub const UNLOCK_NONCE_SLOT: Slot = 14_780_256; | |||
pub const UNLOCK_NONCE_SLOT: Slot = 5_000_000; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I moved this change into #10223
With these two rolling updates now active on testnet, they should be always enabled on the v1.1 line in support of the v1.0 -> v1.1 migration of mainnet-beta