-
Notifications
You must be signed in to change notification settings - Fork 4.5k
removes position field in coding-shred-header #17004
Conversation
CodingShredHeader.position is equal to ShredCommonHeader.index - ShredCommonHeader.fec_set_index and is so redundant. The extra position field can add bugs if not consistent with index and fec_set_index.
Codecov Report
@@ Coverage Diff @@
## master #17004 +/- ##
=======================================
Coverage 82.8% 82.8%
=======================================
Files 416 416
Lines 116948 116946 -2
=======================================
+ Hits 96836 96838 +2
+ Misses 20112 20108 -4 |
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.
Checking the three places where the position
field is used:
- https://github.com/solana-labs/solana/pull/17004/files#diff-01b72272fd1033dcbb8fed13821a6232d35913119af6be20a7c2d1e9c772feb9L1219
- https://github.com/solana-labs/solana/pull/17004/files#diff-01b72272fd1033dcbb8fed13821a6232d35913119af6be20a7c2d1e9c772feb9L1226
- https://github.com/solana-labs/solana/pull/17004/files#diff-01b72272fd1033dcbb8fed13821a6232d35913119af6be20a7c2d1e9c772feb9L1244
I think this should be safe to merge without any gating (i.e. it should be ok for a leader to broadcast position == 0 to validators who haven't upgraded to this change yet)
Thanks for the cleanup!
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.
lgtm, nice
@mvines and @sakridge, fyi saw this nice reminder on compatibility for upgrade/downgrade for mainnet release + master: #17136 (comment) (which I did not account for in @steviez's review, sorry!), and double checked this PR would not break that assumption, specifically the downgrade path. @behzadnouri and I discussed this critical change: https://solanalabs.slack.com/archives/D019TRTQMA7/p1620673230006800 and decided this change should be safe even for downgrade because the 3 places this change would be detected: #17004 (review), should become no-ops with |
solana-labs#17004 removed position field from coding-shred-header because as it stands the field is redundant and unused. However, for upcoming changes to erasure coding schema we need this field to be populated.
solana-labs#17004 removed position field from coding-shred-header because as it stands the field is redundant and unused. However, for upcoming changes to erasure coding schema we need this field to be populated.
solana-labs#17004 removed position field from coding-shred-header because as it stands the field is redundant and unused. However, with upcoming changes to erasure coding schema this field will no longer be redundant and needs to be populated.
solana-labs#17004 removed position field from coding-shred-header because as it stands the field is redundant and unused. However, with the upcoming changes to erasure coding schema this field will no longer be redundant and needs to be populated.
#17004 removed position field from coding-shred-header because as it stands the field is redundant and unused. However, with the upcoming changes to erasure coding schema this field will no longer be redundant and needs to be populated.
#17004 removed position field from coding-shred-header because as it stands the field is redundant and unused. However, with the upcoming changes to erasure coding schema this field will no longer be redundant and needs to be populated. (cherry picked from commit cd17f63) # Conflicts: # core/src/window_service.rs # ledger/src/blockstore.rs # ledger/src/shred.rs
#17004 removed position field from coding-shred-header because as it stands the field is redundant and unused. However, with the upcoming changes to erasure coding schema this field will no longer be redundant and needs to be populated. (cherry picked from commit cd17f63) Co-authored-by: behzad nouri <[email protected]>
…1619) * adds back position field to coding-shred-header (#21600) #17004 removed position field from coding-shred-header because as it stands the field is redundant and unused. However, with the upcoming changes to erasure coding schema this field will no longer be redundant and needs to be populated. (cherry picked from commit cd17f63) # Conflicts: # core/src/window_service.rs # ledger/src/blockstore.rs # ledger/src/shred.rs * removes backport merge conflicts Co-authored-by: behzad nouri <[email protected]>
solana-labs#17004 removed position field from coding-shred-header because as it stands the field is redundant and unused. However, with the upcoming changes to erasure coding schema this field will no longer be redundant and needs to be populated.
Problem
CodingShredHeader.position
is equal toand is so redundant. The extra position field can add bugs if not
consistent with
index
andfec_set_index
.Summary of Changes
Removed position field in coding-shred-header.