Merge pull request #249 from ClusterCockpit/hotfix

Hotfix
This commit is contained in:
Jan Eitzinger 2024-03-19 16:21:47 +01:00 committed by GitHub
commit e45ecbdef7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 35 additions and 14 deletions

View File

@ -114,12 +114,11 @@ type UpdateUserApiResponse struct {
// StopJobApiRequest model // StopJobApiRequest model
type StopJobApiRequest struct { type StopJobApiRequest struct {
// Stop Time of job as epoch JobId *int64 `json:"jobId" example:"123000"`
Cluster *string `json:"cluster" example:"fritz"`
StartTime *int64 `json:"startTime" example:"1649723812"`
State schema.JobState `json:"jobState" validate:"required" example:"completed"`
StopTime int64 `json:"stopTime" validate:"required" example:"1649763839"` StopTime int64 `json:"stopTime" validate:"required" example:"1649763839"`
State schema.JobState `json:"jobState" validate:"required" example:"completed"` // Final job state
JobId *int64 `json:"jobId" example:"123000"` // Cluster Job ID of job
Cluster *string `json:"cluster" example:"fritz"` // Cluster of job
StartTime *int64 `json:"startTime" example:"1649723812"` // Start Time of job as epoch
} }
// DeleteJobApiRequest model // DeleteJobApiRequest model
@ -176,9 +175,9 @@ type GetCompleteJobApiResponse struct {
} }
type JobMetricWithName struct { type JobMetricWithName struct {
Metric *schema.JobMetric `json:"metric"`
Name string `json:"name"` Name string `json:"name"`
Scope schema.MetricScope `json:"scope"` Scope schema.MetricScope `json:"scope"`
Metric *schema.JobMetric `json:"metric"`
} }
type ApiReturnedUser struct { type ApiReturnedUser struct {
@ -482,6 +481,18 @@ func (api *RestApi) getCompleteJobById(rw http.ResponseWriter, r *http.Request)
return return
} }
job.Tags, err = api.JobRepository.GetTags(&job.ID)
if err != nil {
handleError(err, http.StatusInternalServerError, rw)
return
}
if _, err = api.JobRepository.FetchMetadata(job); err != nil {
handleError(err, http.StatusInternalServerError, rw)
return
}
var scopes []schema.MetricScope var scopes []schema.MetricScope
if job.NumNodes == 1 { if job.NumNodes == 1 {
@ -492,7 +503,7 @@ func (api *RestApi) getCompleteJobById(rw http.ResponseWriter, r *http.Request)
var data schema.JobData var data schema.JobData
if r.URL.Query().Has("all-metrics") { if r.URL.Query().Get("all-metrics") == "true" {
data, err = metricdata.LoadData(job, nil, scopes, r.Context()) data, err = metricdata.LoadData(job, nil, scopes, r.Context())
if err != nil { if err != nil {
log.Warn("Error while loading job data") log.Warn("Error while loading job data")
@ -564,6 +575,18 @@ func (api *RestApi) getJobById(rw http.ResponseWriter, r *http.Request) {
return return
} }
job.Tags, err = api.JobRepository.GetTags(&job.ID)
if err != nil {
handleError(err, http.StatusInternalServerError, rw)
return
}
if _, err = api.JobRepository.FetchMetadata(job); err != nil {
handleError(err, http.StatusInternalServerError, rw)
return
}
var metrics GetJobApiRequest var metrics GetJobApiRequest
if err = decode(r.Body, &metrics); err != nil { if err = decode(r.Body, &metrics); err != nil {
http.Error(rw, err.Error(), http.StatusBadRequest) http.Error(rw, err.Error(), http.StatusBadRequest)
@ -1218,7 +1241,7 @@ func (api *RestApi) createUser(rw http.ResponseWriter, r *http.Request) {
return return
} }
rw.Write([]byte(fmt.Sprintf("User %v successfully created!\n", username))) fmt.Fprintf(rw, "User %v successfully created!\n", username)
} }
// deleteUser godoc // deleteUser godoc

View File

@ -31,12 +31,10 @@ var (
type JobRepository struct { type JobRepository struct {
DB *sqlx.DB DB *sqlx.DB
driver string
stmtCache *sq.StmtCache stmtCache *sq.StmtCache
cache *lrucache.Cache cache *lrucache.Cache
archiveChannel chan *schema.Job archiveChannel chan *schema.Job
driver string
archivePending sync.WaitGroup archivePending sync.WaitGroup
} }