Skip to content

Commit 6b64285

Browse files
authored
Merge pull request #480 from v3io/development
dev -> master
2 parents a981316 + 54783b6 commit 6b64285

File tree

2 files changed

+63
-2
lines changed

2 files changed

+63
-2
lines changed

Diff for: pkg/chunkenc/vartype.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ func (c *VarChunk) Bytes() []byte {
8686
}
8787

8888
func (c *VarChunk) Clear() {
89-
c.b = c.b[0:]
89+
c.b = c.b[:0]
9090
}
9191

9292
// Appender implements the Chunk interface.

Diff for: pkg/pquerier/pqueriertest/variant_type_query_integration_test.go

+62-1
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
package pqueriertest
44

55
import (
6-
"github.com/v3io/v3io-tsdb/pkg/aggregate"
6+
"fmt"
77
"testing"
88
"time"
99

1010
"github.com/stretchr/testify/assert"
1111
"github.com/stretchr/testify/suite"
12+
"github.com/v3io/v3io-tsdb/pkg/aggregate"
1213
"github.com/v3io/v3io-tsdb/pkg/pquerier"
1314
"github.com/v3io/v3io-tsdb/pkg/tsdb"
1415
"github.com/v3io/v3io-tsdb/pkg/tsdb/tsdbtest"
@@ -221,3 +222,63 @@ func (suite *testVariantTypeSuite) TestCountAggregationForVariantTypeQueryWithSe
221222

222223
assert.Equal(suite.T(), 1, seriesCount, "series count didn't match expected")
223224
}
225+
226+
func (suite *testVariantTypeSuite) TestVariantTypeQueryWithSeriesAlotOfData() {
227+
adapter, err := tsdb.NewV3ioAdapter(suite.v3ioConfig, nil, nil)
228+
if err != nil {
229+
suite.T().Fatalf("failed to create v3io adapter. reason: %s", err)
230+
}
231+
232+
metricName := "log"
233+
labels := utils.LabelsFromStringList("os", "linux", "__name__", metricName)
234+
235+
numberOfEvents := 1000
236+
dataToIngest := make([]tsdbtest.DataPoint, numberOfEvents)
237+
for i := 0; i < numberOfEvents; i++ {
238+
dataToIngest[i] = tsdbtest.DataPoint{Time: suite.basicQueryTime + int64(i)*tsdbtest.MinuteInMillis,
239+
Value: fmt.Sprintf("%v", i)}
240+
}
241+
242+
appender, err := adapter.Appender()
243+
if err != nil {
244+
suite.T().Fatalf("failed to create v3io appender. reason: %s", err)
245+
}
246+
247+
ref, err := appender.Add(labels, dataToIngest[0].Time, dataToIngest[0].Value)
248+
if err != nil {
249+
suite.T().Fatalf("Failed to add data to the TSDB appender. Reason: %s", err)
250+
}
251+
for i := 1; i < numberOfEvents; i++ {
252+
appender.AddFast(labels, ref, dataToIngest[i].Time, dataToIngest[i].Value)
253+
}
254+
255+
if _, err := appender.WaitForCompletion(0); err != nil {
256+
suite.T().Fatalf("Failed to wait for TSDB append completion. Reason: %s", err)
257+
}
258+
259+
querierV2, err := adapter.QuerierV2()
260+
if err != nil {
261+
suite.T().Fatalf("Failed to create querier v2, err: %v", err)
262+
}
263+
264+
params := &pquerier.SelectParams{RequestedColumns: []pquerier.RequestedColumn{{Metric: metricName}},
265+
From: suite.basicQueryTime - tsdbtest.DaysInMillis, To: suite.basicQueryTime + tsdbtest.DaysInMillis}
266+
iter, err := querierV2.Select(params)
267+
if err != nil {
268+
suite.T().Fatalf("Failed to exeute query, err: %v", err)
269+
}
270+
var seriesCount int
271+
for iter.Next() {
272+
seriesCount++
273+
iter := iter.At().Iterator()
274+
var slice []tsdbtest.DataPoint
275+
for iter.Next() {
276+
t, v := iter.AtString()
277+
slice = append(slice, tsdbtest.DataPoint{Time: t, Value: v})
278+
}
279+
280+
suite.Require().Equal(dataToIngest, slice, "number of events mismatch")
281+
}
282+
283+
assert.Equal(suite.T(), 1, seriesCount, "series count didn't match expected")
284+
}

0 commit comments

Comments
 (0)