From 4a84e86f4c90a04c92fc279ec686efd033382123 Mon Sep 17 00:00:00 2001 From: Todd Gruben Date: Thu, 16 Feb 2023 09:31:41 -0600 Subject: [PATCH 1/2] use primary as source for FieldTranslate backup data --- internal_client.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/internal_client.go b/internal_client.go index 21ba3fba3..e57607715 100644 --- a/internal_client.go +++ b/internal_client.go @@ -2259,9 +2259,23 @@ func (c *InternalClient) IndexTranslateDataReader(ctx context.Context, index str func (c *InternalClient) FieldTranslateDataReader(ctx context.Context, index, field string) (io.ReadCloser, error) { span, ctx := tracing.StartSpanFromContext(ctx, "InternalClient.FieldTranslateDataReader") defer span.Finish() + nodes, err := c.Nodes(ctx) + if err != nil { + return nil, err + } + var primary *disco.Node + for _, node := range nodes { + if node.IsPrimary { + primary = node + break + } + } + if primary == nil { + return nil, errors.New("no primary") + } // Execute request against the host. - u := fmt.Sprintf("%s%s/internal/translate/data?index=%s&field=%s", c.defaultURI, c.prefix(), url.QueryEscape(index), url.QueryEscape(field)) + u := fmt.Sprintf("%s%s/internal/translate/data?index=%s&field=%s", primary.URI, c.prefix(), url.QueryEscape(index), url.QueryEscape(field)) // Build request. req, err := http.NewRequest("GET", u, nil) From 24a4040d317701cb2b442b25fbc46a42f8c4307c Mon Sep 17 00:00:00 2001 From: Todd Gruben Date: Thu, 16 Feb 2023 11:13:31 -0600 Subject: [PATCH 2/2] use existing function :( --- internal_client.go | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/internal_client.go b/internal_client.go index e57607715..9470892d8 100644 --- a/internal_client.go +++ b/internal_client.go @@ -2264,13 +2264,7 @@ func (c *InternalClient) FieldTranslateDataReader(ctx context.Context, index, fi return nil, err } - var primary *disco.Node - for _, node := range nodes { - if node.IsPrimary { - primary = node - break - } - } + primary := getPrimaryNode(nodes) if primary == nil { return nil, errors.New("no primary") }