diff --git a/dbrp/http_server_dbrp_test.go b/dbrp/http_server_dbrp_test.go index 44d18e1132..f73fdd6732 100644 --- a/dbrp/http_server_dbrp_test.go +++ b/dbrp/http_server_dbrp_test.go @@ -148,6 +148,9 @@ func Test_handlePostDBRP(t *testing.T) { t.Fatalf("expected orgid %s got %s", tt.ExpectedDBRP.OrganizationID, dbrp.OrganizationID) } + if !dbrp.Default { + t.Fatalf("expected dbrp to be marked as default") + } }) } } diff --git a/dbrp/service.go b/dbrp/service.go index 81f1fe7a12..ec40af2ccc 100644 --- a/dbrp/service.go +++ b/dbrp/service.go @@ -370,19 +370,12 @@ func (s *Service) Create(ctx context.Context, dbrp *influxdb.DBRPMappingV2) erro if err != nil { return ErrInvalidDBRPID } - b, err := json.Marshal(dbrp) - if err != nil { - return ErrInternalService(err) - } return s.store.Update(ctx, func(tx kv.Tx) error { bucket, err := tx.Bucket(bucket) if err != nil { return ErrInternalService(err) } - if err := bucket.Put(encodedID, b); err != nil { - return ErrInternalService(err) - } compKey := indexForeignKey(*dbrp) if err := s.byOrgAndDatabase.Insert(tx, compKey, encodedID); err != nil { return err @@ -394,6 +387,15 @@ func (s *Service) Create(ctx context.Context, dbrp *influxdb.DBRPMappingV2) erro if !defSet { dbrp.Default = true } + + b, err := json.Marshal(dbrp) + if err != nil { + return ErrInternalService(err) + } + if err := bucket.Put(encodedID, b); err != nil { + return ErrInternalService(err) + } + if dbrp.Default { if err := s.setAsDefault(tx, compKey, encodedID); err != nil { return err