From 8f7f5324d4bf6e884c20779e608dbb90a1bc48c3 Mon Sep 17 00:00:00 2001 From: Matthew Jaffee Date: Tue, 15 Mar 2022 23:20:39 -0500 Subject: [PATCH] return correct ErrFieldExists so we give an HTTP 409 --- index.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/index.go b/index.go index 21686b04b..04298c7ac 100644 --- a/index.go +++ b/index.go @@ -669,7 +669,9 @@ func (i *Index) persistField(ctx context.Context, cfm *CreateFieldMessage) error if b, err := i.serializer.Marshal(cfm); err != nil { return errors.Wrap(err, "marshaling") - } else if err := i.Schemator.CreateField(ctx, cfm.Index, cfm.Field, b); err != nil { + } else if err := i.Schemator.CreateField(ctx, cfm.Index, cfm.Field, b); errors.Cause(err) == disco.ErrFieldExists { + return ErrFieldExists + } else if err != nil { return errors.Wrapf(err, "writing field to disco: %s/%s", cfm.Index, cfm.Field) } return nil