-
Notifications
You must be signed in to change notification settings - Fork 338
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
feat: redundancy retrieve api #4529
Conversation
ccb89ca
to
aefd316
Compare
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.
all in all seems good for me though the tests fails.
if levels == 1 { | ||
forget = 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.
I don't understand this part. why is it 2?
for j := 2; j < levels; j++ { | ||
gap *= shardCnt | ||
} |
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.
at line 209 you define only {1, 2, 3}
for levels, so this basically takes into action for 3
only. I also do not really understand why it is necessary.
|
||
// GetLevelFromContext is a helper function to extract the redundancy level from the context | ||
func GetLevelFromContext(ctx context.Context) Level { | ||
rlevel := PARANOID |
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.
this only regards to the dispersed replica lookup, maybe its documentation could be amended.
pkg/util/ioutil/pseudorand/reader.go
Outdated
// New creates a new pseudorandom reader seeded with the given seed. | ||
func NewReader(seed []byte, l int) *Reader { | ||
r := &Reader{len: l} | ||
_ = copy(r.buf[8:], seed) |
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.
why is the first 8 byte left out?
pkg/util/ioutil/pseudorand/reader.go
Outdated
} | ||
bufSegments := bufSize / 32 | ||
start := r.cur / bufSegments | ||
rem := (r.cur % bufSize) / 32 |
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.
first it is devided by 32 then you multiply it by that. it is not necessary
Co-authored-by: nugaon <[email protected]>
Co-authored-by: Gyorgy Barabas <[email protected]>
1e0b0e9
to
218fe7e
Compare
Overall, I think we should keep some pre-fetching mechanism for case when the data is not erasure coded. Without that, data retrieval may be really slow. |
…kahead via header
3660deb
to
3a47dc6
Compare
dcb5ae6
to
56754cb
Compare
56754cb
to
969a134
Compare
the final push of non-local redundancy.
contains extensive joiner and bzz api tests to demonstrate the correctness of the various decoder prefetching strategies and to test header-based setting of paramater values.
The PR also contains many fixes:
remove langos and not use prebuffering on endointsUPDATE: the final push contains the following improvements: