diff options
| author | Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.com> | 2022-10-24 02:00:28 +0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-23 14:00:28 -0700 |
| commit | 452202f35b9e16bf00cdaf995a6e347eda367ce2 (patch) | |
| tree | e2f188a7a8173c0d891ffa742daba294d206c386 | |
| parent | e3ea544d40bf4ad86fce6e5911a3902c66b040b8 (diff) | |
| download | seaweedfs-452202f35b9e16bf00cdaf995a6e347eda367ce2.tar.xz seaweedfs-452202f35b9e16bf00cdaf995a6e347eda367ce2.zip | |
ReadNeedleMeta recovery panic occurred (#3883)
ReadNeedleMeta panic occurred
https://github.com/seaweedfs/seaweedfs/issues/3882
| -rw-r--r-- | weed/storage/needle/needle_read_page.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/weed/storage/needle/needle_read_page.go b/weed/storage/needle/needle_read_page.go index 4e7edfb31..8dde43701 100644 --- a/weed/storage/needle/needle_read_page.go +++ b/weed/storage/needle/needle_read_page.go @@ -1,6 +1,7 @@ package needle import ( + "fmt" "github.com/seaweedfs/seaweedfs/weed/glog" "github.com/seaweedfs/seaweedfs/weed/storage/backend" . "github.com/seaweedfs/seaweedfs/weed/storage/types" @@ -30,6 +31,11 @@ func (n *Needle) ReadNeedleData(r backend.BackendStorageFile, volumeOffset int64 // ReadNeedleMeta fills all metadata except the n.Data func (n *Needle) ReadNeedleMeta(r backend.BackendStorageFile, offset int64, size Size, version Version) (err error) { + defer func() { + if r := recover(); r != nil { + err = fmt.Errorf("panic occurred: %+v", r) + } + }() bytes := make([]byte, NeedleHeaderSize+DataSizeSize) |
