Commit 60dcee1 1 parent 2544f00 commit 60dcee1 Copy full SHA for 60dcee1
File tree 1 file changed +6
-5
lines changed
1 file changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ package iter
3
3
import (
4
4
"container/heap"
5
5
"context"
6
+ "go.uber.org/atomic"
6
7
"io"
7
8
"sync"
8
9
@@ -521,7 +522,7 @@ func NewSampleQueryResponseIterator(resp *logproto.SampleQueryResponse) SampleIt
521
522
}
522
523
523
524
type seriesIterator struct {
524
- i int
525
+ i * atomic. Int32
525
526
series logproto.Series
526
527
}
527
528
@@ -567,14 +568,14 @@ func NewMultiSeriesIterator(series []logproto.Series) SampleIterator {
567
568
// NewSeriesIterator iterates over sample in a series.
568
569
func NewSeriesIterator (series logproto.Series ) SampleIterator {
569
570
return & seriesIterator {
570
- i : - 1 ,
571
+ i : atomic . NewInt32 ( - 1 ) ,
571
572
series : series ,
572
573
}
573
574
}
574
575
575
576
func (i * seriesIterator ) Next () bool {
576
- i .i ++
577
- return i .i < len (i .series .Samples )
577
+ i .i . Inc ()
578
+ return int ( i .i . Load ()) < len (i .series .Samples )
578
579
}
579
580
580
581
func (i * seriesIterator ) Error () error {
@@ -590,7 +591,7 @@ func (i *seriesIterator) StreamHash() uint64 {
590
591
}
591
592
592
593
func (i * seriesIterator ) Sample () logproto.Sample {
593
- return i .series .Samples [i .i ]
594
+ return i .series .Samples [i .i . Load () ]
594
595
}
595
596
596
597
func (i * seriesIterator ) Close () error {
You can’t perform that action at this time.
0 commit comments