@@ -34,6 +34,8 @@ import (
34
34
"github.com/prometheus/prometheus/model/labels"
35
35
"google.golang.org/grpc/health/grpc_health_v1"
36
36
37
+ server_util "github.com/grafana/loki/v3/pkg/util/server"
38
+
37
39
"github.com/grafana/loki/v3/pkg/analytics"
38
40
"github.com/grafana/loki/v3/pkg/chunkenc"
39
41
"github.com/grafana/loki/v3/pkg/distributor/writefailures"
@@ -1041,6 +1043,13 @@ func (i *Ingester) asyncStoreMaxLookBack() time.Duration {
1041
1043
1042
1044
// GetChunkIDs is meant to be used only when using an async store like boltdb-shipper or tsdb.
1043
1045
func (i * Ingester ) GetChunkIDs (ctx context.Context , req * logproto.GetChunkIDsRequest ) (* logproto.GetChunkIDsResponse , error ) {
1046
+ gcr , err := i .getChunkIDs (ctx , req )
1047
+ err = server_util .ClientGrpcStatusAndError (err )
1048
+ return gcr , err
1049
+ }
1050
+
1051
+ // GetChunkIDs is meant to be used only when using an async store like boltdb-shipper or tsdb.
1052
+ func (i * Ingester ) getChunkIDs (ctx context.Context , req * logproto.GetChunkIDsRequest ) (* logproto.GetChunkIDsResponse , error ) {
1044
1053
orgID , err := tenant .TenantID (ctx )
1045
1054
if err != nil {
1046
1055
return nil , err
@@ -1168,6 +1177,12 @@ func (i *Ingester) Label(ctx context.Context, req *logproto.LabelRequest) (*logp
1168
1177
1169
1178
// Series queries the ingester for log stream identifiers (label sets) matching a set of matchers
1170
1179
func (i * Ingester ) Series (ctx context.Context , req * logproto.SeriesRequest ) (* logproto.SeriesResponse , error ) {
1180
+ sr , err := i .series (ctx , req )
1181
+ err = server_util .ClientGrpcStatusAndError (err )
1182
+ return sr , err
1183
+ }
1184
+
1185
+ func (i * Ingester ) series (ctx context.Context , req * logproto.SeriesRequest ) (* logproto.SeriesResponse , error ) {
1171
1186
instanceID , err := tenant .TenantID (ctx )
1172
1187
if err != nil {
1173
1188
return nil , err
@@ -1331,6 +1346,11 @@ func (i *Ingester) getInstances() []*instance {
1331
1346
1332
1347
// Tail logs matching given query
1333
1348
func (i * Ingester ) Tail (req * logproto.TailRequest , queryServer logproto.Querier_TailServer ) error {
1349
+ err := i .tail (req , queryServer )
1350
+ err = server_util .ClientGrpcStatusAndError (err )
1351
+ return err
1352
+ }
1353
+ func (i * Ingester ) tail (req * logproto.TailRequest , queryServer logproto.Querier_TailServer ) error {
1334
1354
select {
1335
1355
case <- i .tailersQuit :
1336
1356
return errors .New ("Ingester is stopping" )
@@ -1376,6 +1396,12 @@ func (i *Ingester) Tail(req *logproto.TailRequest, queryServer logproto.Querier_
1376
1396
1377
1397
// TailersCount returns count of active tail requests from a user
1378
1398
func (i * Ingester ) TailersCount (ctx context.Context , _ * logproto.TailersCountRequest ) (* logproto.TailersCountResponse , error ) {
1399
+ tcr , err := i .tailersCount (ctx )
1400
+ err = server_util .ClientGrpcStatusAndError (err )
1401
+ return tcr , err
1402
+ }
1403
+
1404
+ func (i * Ingester ) tailersCount (ctx context.Context ) (* logproto.TailersCountResponse , error ) {
1379
1405
instanceID , err := tenant .TenantID (ctx )
1380
1406
if err != nil {
1381
1407
return nil , err
@@ -1431,6 +1457,12 @@ func (i *Ingester) GetDetectedFields(_ context.Context, r *logproto.DetectedFiel
1431
1457
1432
1458
// GetDetectedLabels returns map of detected labels and unique values from this ingester
1433
1459
func (i * Ingester ) GetDetectedLabels (ctx context.Context , req * logproto.DetectedLabelsRequest ) (* logproto.LabelToValuesResponse , error ) {
1460
+ lvr , err := i .getDetectedLabels (ctx , req )
1461
+ err = server_util .ClientGrpcStatusAndError (err )
1462
+ return lvr , err
1463
+ }
1464
+
1465
+ func (i * Ingester ) getDetectedLabels (ctx context.Context , req * logproto.DetectedLabelsRequest ) (* logproto.LabelToValuesResponse , error ) {
1434
1466
userID , err := tenant .TenantID (ctx )
1435
1467
if err != nil {
1436
1468
return nil , err
0 commit comments