diff --git a/rest/model.go b/rest/model.go index 59dbf9b..9db8563 100644 --- a/rest/model.go +++ b/rest/model.go @@ -269,8 +269,15 @@ func (rest *REST) setModelLabelToStableHandler(w http.ResponseWriter, r *http.Re return } - writeJSONSuccessResponse(w, r, http.StatusOK, fmt.Sprintf("model[%s-%s-%s] label '%s' changed from version [%d] to [%d]", - lChangedResp.Team, lChangedResp.Project, lChangedResp.Name, lChangedResp.Label, lChangedResp.PreviousVersion, lChangedResp.NewVersion)) + if lChangedResp.PreviousVersion != 0 { + writeJSONSuccessResponse(w, r, http.StatusOK, fmt.Sprintf("model[%s-%s-%s] label '%s' changed from version [%d] to [%d]", + lChangedResp.Team, lChangedResp.Project, lChangedResp.Name, lChangedResp.Label, lChangedResp.PreviousVersion, lChangedResp.NewVersion)) + return + } + + writeJSONSuccessResponse(w, r, http.StatusOK, fmt.Sprintf("model[%s-%s-%s] label '%s' version set to [%d]", + lChangedResp.Team, lChangedResp.Project, lChangedResp.Name, lChangedResp.Label, lChangedResp.NewVersion)) + } func (rest *REST) setModelLabelHandler(w http.ResponseWriter, r *http.Request) { diff --git a/service/model.go b/service/model.go index c71a2bd..8efe919 100644 --- a/service/model.go +++ b/service/model.go @@ -164,7 +164,7 @@ func (s *ModelsService) SetLabel(ctx context.Context, model app.ModelID) (*app.L return nil, err } - if model.Label == app.StableLabel { + if model.Label == app.StableLabel && prevVersion != 0 { lastStableModel := app.ModelID{ServableID: model.ServableID, Version: prevVersion, Label: app.PrevStableLabel} if err := s.metadata.ChangeLabel(ctx, app.ModelData{ModelID: lastStableModel, Status: app.StatusReady}); err != nil { logging.ErrorWithStack(ctx, exterr.WrapWithFrame(err))