From 89db55320457d2cc7e226ed7fa30cec4b495acc3 Mon Sep 17 00:00:00 2001 From: Anis Elleuch Date: Wed, 7 Jul 2021 16:18:01 +0100 Subject: [PATCH] Support rolling update for storage API (#12634) --- cmd/storage-rest-common.go | 2 +- cmd/storage-rest-server.go | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/cmd/storage-rest-common.go b/cmd/storage-rest-common.go index 597d8222f..2032def0a 100644 --- a/cmd/storage-rest-common.go +++ b/cmd/storage-rest-common.go @@ -17,7 +17,7 @@ package cmd const ( - storageRESTVersion = "v22" // WalkVersions to throttle for healing + storageRESTVersion = "v21" // Add checkDataDir in ReadVersion API storageRESTVersionPrefix = SlashSeparator + storageRESTVersion storageRESTPrefix = minioReservedBucketPath + "/storage" ) diff --git a/cmd/storage-rest-server.go b/cmd/storage-rest-server.go index 344d3ddf2..f2d4f071f 100644 --- a/cmd/storage-rest-server.go +++ b/cmd/storage-rest-server.go @@ -560,10 +560,14 @@ func (s *storageRESTServer) WalkVersionsHandler(w http.ResponseWriter, r *http.R s.writeErrorResponse(w, err) return } - healing, err := strconv.ParseBool(vars[storageRESTHealing]) - if err != nil { - s.writeErrorResponse(w, err) - return + + healing := false + if healingParam := r.URL.Query().Get(storageRESTHealing); healingParam != "" { + healing, err = strconv.ParseBool(healingParam) + if err != nil { + s.writeErrorResponse(w, err) + return + } } setEventStreamHeaders(w) @@ -1112,7 +1116,7 @@ func registerStorageRESTHandlers(router *mux.Router, endpointServerSets Endpoint subrouter.Methods(http.MethodPost).Path(storageRESTVersionPrefix + storageRESTMethodWalkSplunk).HandlerFunc(httpTraceHdrs(server.WalkSplunkHandler)). Queries(restQueries(storageRESTVolume, storageRESTDirPath, storageRESTMarkerPath)...) subrouter.Methods(http.MethodPost).Path(storageRESTVersionPrefix + storageRESTMethodWalkVersions).HandlerFunc(httpTraceHdrs(server.WalkVersionsHandler)). - Queries(restQueries(storageRESTVolume, storageRESTDirPath, storageRESTMarkerPath, storageRESTRecursive, storageRESTHealing)...) + Queries(restQueries(storageRESTVolume, storageRESTDirPath, storageRESTMarkerPath, storageRESTRecursive)...) subrouter.Methods(http.MethodPost).Path(storageRESTVersionPrefix + storageRESTMethodDeleteVersions).HandlerFunc(httpTraceHdrs(server.DeleteVersionsHandler)). Queries(restQueries(storageRESTVolume, storageRESTTotalVersions)...)