Skip to content

Commit 52d745f

Browse files
authored
fix(blockbuilder): copy entries returned by record decoder (#15549)
1 parent bf73014 commit 52d745f

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

‎pkg/blockbuilder/builder/builder.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"github.com/grafana/loki/v3/pkg/compression"
2121
"github.com/grafana/loki/v3/pkg/kafka"
2222
"github.com/grafana/loki/v3/pkg/kafka/partition"
23+
"github.com/grafana/loki/v3/pkg/logproto"
2324
"github.com/grafana/loki/v3/pkg/storage/chunk"
2425
"github.com/grafana/loki/v3/pkg/storage/config"
2526
"github.com/grafana/loki/v3/pkg/storage/stores"
@@ -546,11 +547,15 @@ func (i *BlockBuilder) loadRecords(ctx context.Context, partitionID int32, offse
546547
continue
547548
}
548549

550+
// decorder reuses entries slice, so we need to copy it
551+
entries := make([]logproto.Entry, len(stream.Entries))
552+
copy(entries, stream.Entries)
553+
549554
converted = append(converted, AppendInput{
550555
tenant: record.TenantID,
551556
labels: labels,
552557
labelsStr: stream.Labels,
553-
entries: stream.Entries,
558+
entries: entries,
554559
})
555560
}
556561

0 commit comments

Comments
 (0)