-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
go 1.19 causes different checksums in TestMultistoreSnapshot_Checksum #13373
Comments
For ref, here are the release notes for GO 1.19 https://tip.golang.org/doc/go1.19 We should look at |
I can confirm @mmsqe's finding. The Go commit that triggers the difference is golang/go@2719b1a. The underlying issue is that // Close implements io.Closer interface
func (sw *StreamWriter) Close() error {
if err := sw.protoWriter.Close(); err != nil {
sw.chunkWriter.CloseWithError(err)
return err
}
if err := sw.zWriter.Close(); err != nil {
sw.chunkWriter.CloseWithError(err)
return err
}
if err := sw.bufWriter.Flush(); err != nil {
sw.chunkWriter.CloseWithError(err)
return err
}
return sw.chunkWriter.Close()
} Note that func (this *varintWriter) Close() error {
if closer, ok := this.w.(io.Closer); ok {
return closer.Close()
}
return nil
} too. A double-close before Go 1.19 would result in the In any case, this issue is fixed as a side-effect of #13371. |
Thanks for the explanation!
|
Summary of Bug
with go 1.19 we witnessed a different hash being produced in TestMultistoreSnapshot_Checksum. We should identify and fix this if possible otherwise report it to the go team.
@odeke-em do you have any ideas?
The text was updated successfully, but these errors were encountered: