diff --git a/imperatives/imperatives.go b/imperatives/imperatives.go index 6c268070..680d5b18 100644 --- a/imperatives/imperatives.go +++ b/imperatives/imperatives.go @@ -152,6 +152,7 @@ var errFmtAddDest = errors.New("addDest ") // not implemented y var errFmtAddRewriter = errors.New("addRewriter ") var errFmtModDest = errors.New("modDest ") // one or more can be specified at once var errFmtModRoute = errors.New("modRoute ") // one or more can be specified at once +var errOrgId0 = errors.New("orgId must be a number > 0") type Table interface { AddAggregator(agg *aggregator.Aggregator) @@ -527,6 +528,9 @@ func readAddRouteGrafanaNet(s *toki.Scanner, table Table) error { if err != nil { return err } + if orgId < 1 { + return errOrgId0 + } } else { return errFmtAddRouteGrafanaNet } @@ -598,6 +602,9 @@ func readAddRouteKafkaMdm(s *toki.Scanner, table Table) error { if err != nil { return errFmtAddRouteKafkaMdm } + if orgId < 1 { + return errOrgId0 + } var bufSize = int(1e7) // since a message is typically around 100B this is 1GB var flushMaxNum = 10000 // number of metrics diff --git a/route/schemas.go b/route/schemas.go index 5b548530..65763dfc 100644 --- a/route/schemas.go +++ b/route/schemas.go @@ -1,6 +1,7 @@ package route import ( + "errors" "fmt" "sort" "strconv" @@ -23,6 +24,11 @@ func getSchemas(file string) (persister.WhisperSchemas, error) { if len(schema.Retentions) == 0 { return nil, fmt.Errorf("retention setting cannot be empty") } + for _, ret := range schema.Retentions { + if ret.SecondsPerPoint() == 0 { + return nil, errors.New("cannot have interval 0") + } + } } if !defaultFound { // good graphite health (not sure what graphite does if there's no .*