aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzemul <zemul@foxmail.com>2023-03-03 00:26:55 +0800
committerGitHub <noreply@github.com>2023-03-02 08:26:55 -0800
commitbd6f2716d3c11da36643b07a66a521b01e4c54e9 (patch)
tree0e7a13796712045978eae42f9eb078366ddf96f6
parent0bf56298d5f2e106760c0f44c4ccb9a3d2a78ca6 (diff)
downloadseaweedfs-bd6f2716d3c11da36643b07a66a521b01e4c54e9.tar.xz
seaweedfs-bd6f2716d3c11da36643b07a66a521b01e4c54e9.zip
fix_read_tomb_needle_meta (#4263)
Co-authored-by: zemul <zhouzemiao@ihuman.com>
-rw-r--r--weed/storage/needle/needle_read_page.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/weed/storage/needle/needle_read_page.go b/weed/storage/needle/needle_read_page.go
index 2459e618b..36ddc3320 100644
--- a/weed/storage/needle/needle_read_page.go
+++ b/weed/storage/needle/needle_read_page.go
@@ -66,8 +66,12 @@ func (n *Needle) ReadNeedleMeta(r backend.BackendStorageFile, offset int64, size
if err != nil {
return err
}
+
var index int
- index, err = n.readNeedleDataVersion2NonData(metaSlice)
+ if size.IsValid() {
+ index, err = n.readNeedleDataVersion2NonData(metaSlice)
+ }
+
n.Checksum = CRC(util.BytesToUint32(metaSlice[index : index+NeedleChecksumSize]))
if version == Version3 {
n.AppendAtNs = util.BytesToUint64(metaSlice[index+NeedleChecksumSize : index+NeedleChecksumSize+TimestampSize])