diff options
| author | Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.com> | 2024-01-17 20:46:37 +0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-01-17 07:46:37 -0800 |
| commit | 4e9ea1e628a4d2105a758d12673efdeebe43ebaa (patch) | |
| tree | 32b6501acb21bd1f6a76fda9aa0a0e50557d9265 /weed/server/filer_server_handlers.go | |
| parent | f9cf13fada9ca6f99a87dc474959748c41f67ac7 (diff) | |
| download | seaweedfs-4e9ea1e628a4d2105a758d12673efdeebe43ebaa.tar.xz seaweedfs-4e9ea1e628a4d2105a758d12673efdeebe43ebaa.zip | |
chore: filer healthz handler check filer store (#5208)
Diffstat (limited to 'weed/server/filer_server_handlers.go')
| -rw-r--r-- | weed/server/filer_server_handlers.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/weed/server/filer_server_handlers.go b/weed/server/filer_server_handlers.go index c1b883f38..b5e070fb2 100644 --- a/weed/server/filer_server_handlers.go +++ b/weed/server/filer_server_handlers.go @@ -1,6 +1,7 @@ package weed_server import ( + "context" "errors" "net/http" "os" @@ -9,7 +10,9 @@ import ( "sync/atomic" "time" + "github.com/seaweedfs/seaweedfs/weed/filer" "github.com/seaweedfs/seaweedfs/weed/glog" + "github.com/seaweedfs/seaweedfs/weed/pb/filer_pb" "github.com/seaweedfs/seaweedfs/weed/security" "github.com/seaweedfs/seaweedfs/weed/util" @@ -220,5 +223,10 @@ func (fs *FilerServer) maybeCheckJwtAuthorization(r *http.Request, isWrite bool) func (fs *FilerServer) filerHealthzHandler(w http.ResponseWriter, r *http.Request) { w.Header().Set("Server", "SeaweedFS Filer "+util.VERSION) - w.WriteHeader(http.StatusOK) + if _, err := fs.filer.Store.FindEntry(context.Background(), filer.TopicsDir); err != nil && err != filer_pb.ErrNotFound { + glog.Warningf("filerHealthzHandler FindEntry: %+v", err) + w.WriteHeader(http.StatusServiceUnavailable) + } else { + w.WriteHeader(http.StatusOK) + } } |
