Skip to content

Commit 3abfe9f

Browse files
committed
Query: Fix (*exemplarsStream).receive/(*metricMetadataStream).receive/(*targetsStreamStream).receive infinite loop when target response Unimplemented error (thanos-io#4676)
Signed-off-by: hanjm <[email protected]>
1 parent a641207 commit 3abfe9f

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

pkg/exemplars/proxy.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -191,8 +191,8 @@ func (stream *exemplarsStream) receive(ctx context.Context) error {
191191
if err := stream.server.Send(exemplarspb.NewWarningExemplarsResponse(err)); err != nil {
192192
return errors.Wrapf(err, "sending exemplars error to server %v", stream.server)
193193
}
194-
195-
continue
194+
// Not an error if response strategy is warning.
195+
return nil
196196
}
197197

198198
if w := exemplar.GetWarning(); w != "" {

pkg/metadata/proxy.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,8 @@ func (stream *metricMetadataStream) receive(ctx context.Context) error {
135135
return errors.Wrapf(err, "sending metadata error to server %v", stream.server)
136136
}
137137

138-
continue
138+
// Not an error if response strategy is warning.
139+
return nil
139140
}
140141

141142
if w := resp.GetWarning(); w != "" {

pkg/targets/proxy.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ func (stream *targetsStream) receive(ctx context.Context) error {
119119
if err := stream.server.Send(targetspb.NewWarningTargetsResponse(err)); err != nil {
120120
return errors.Wrapf(err, "sending targets error to server %v", stream.server)
121121
}
122-
123-
continue
122+
// Not an error if response strategy is warning.
123+
return nil
124124
}
125125

126126
if w := target.GetWarning(); w != "" {

0 commit comments

Comments
 (0)