fix(blockbuilder): copy entries returned by record decoder (#15549)

k235
Ashwanth 1 year ago committed by GitHub
parent bf73014704
commit 52d745fc65
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 7
      pkg/blockbuilder/builder/builder.go

@ -20,6 +20,7 @@ import (
"github.com/grafana/loki/v3/pkg/compression"
"github.com/grafana/loki/v3/pkg/kafka"
"github.com/grafana/loki/v3/pkg/kafka/partition"
"github.com/grafana/loki/v3/pkg/logproto"
"github.com/grafana/loki/v3/pkg/storage/chunk"
"github.com/grafana/loki/v3/pkg/storage/config"
"github.com/grafana/loki/v3/pkg/storage/stores"
@ -546,11 +547,15 @@ func (i *BlockBuilder) loadRecords(ctx context.Context, partitionID int32, offse
continue
}
// decorder reuses entries slice, so we need to copy it
entries := make([]logproto.Entry, len(stream.Entries))
copy(entries, stream.Entries)
converted = append(converted, AppendInput{
tenant: record.TenantID,
labels: labels,
labelsStr: stream.Labels,
entries: stream.Entries,
entries: entries,
})
}

Loading…
Cancel
Save