@@ -1532,83 +1532,7 @@ func TestBucketSeries_OneBlock_InMemIndexCacheSegfault(t *testing.T) {
1532
1532
}
1533
1533
1534
1534
func TestSeries_RequestAndResponseHints (t * testing.T ) {
1535
- tb := testutil .NewTB (t )
1536
-
1537
- tmpDir , err := ioutil .TempDir ("" , "test-series-hints-enabled" )
1538
- testutil .Ok (t , err )
1539
- defer func () { testutil .Ok (t , os .RemoveAll (tmpDir )) }()
1540
-
1541
- bktDir := filepath .Join (tmpDir , "bkt" )
1542
- bkt , err := filesystem .NewBucket (bktDir )
1543
- testutil .Ok (t , err )
1544
- defer func () { testutil .Ok (t , bkt .Close ()) }()
1545
-
1546
- var (
1547
- logger = log .NewNopLogger ()
1548
- instrBkt = objstore .WithNoopInstr (bkt )
1549
- random = rand .New (rand .NewSource (120 ))
1550
- )
1551
-
1552
- extLset := labels.Labels {{Name : "ext1" , Value : "1" }}
1553
- // Inject the Thanos meta to each block in the storage.
1554
- thanosMeta := metadata.Thanos {
1555
- Labels : extLset .Map (),
1556
- Downsample : metadata.ThanosDownsample {Resolution : 0 },
1557
- Source : metadata .TestSource ,
1558
- }
1559
-
1560
- // Create TSDB blocks.
1561
- head , seriesSet1 := storetestutil .CreateHeadWithSeries (t , 0 , storetestutil.HeadGenOptions {
1562
- TSDBDir : filepath .Join (tmpDir , "0" ),
1563
- SamplesPerSeries : 1 ,
1564
- Series : 2 ,
1565
- PrependLabels : extLset ,
1566
- Random : random ,
1567
- })
1568
- block1 := createBlockFromHead (t , bktDir , head )
1569
- testutil .Ok (t , head .Close ())
1570
- head2 , seriesSet2 := storetestutil .CreateHeadWithSeries (t , 1 , storetestutil.HeadGenOptions {
1571
- TSDBDir : filepath .Join (tmpDir , "1" ),
1572
- SamplesPerSeries : 1 ,
1573
- Series : 2 ,
1574
- PrependLabels : extLset ,
1575
- Random : random ,
1576
- })
1577
- block2 := createBlockFromHead (t , bktDir , head2 )
1578
- testutil .Ok (t , head2 .Close ())
1579
-
1580
- for _ , blockID := range []ulid.ULID {block1 , block2 } {
1581
- _ , err := metadata .InjectThanos (logger , filepath .Join (bktDir , blockID .String ()), thanosMeta , nil )
1582
- testutil .Ok (t , err )
1583
- }
1584
-
1585
- // Instance a real bucket store we'll use to query back the series.
1586
- fetcher , err := block .NewMetaFetcher (logger , 10 , instrBkt , tmpDir , nil , nil , nil )
1587
- testutil .Ok (tb , err )
1588
-
1589
- indexCache , err := storecache .NewInMemoryIndexCacheWithConfig (logger , nil , storecache.InMemoryIndexCacheConfig {})
1590
- testutil .Ok (tb , err )
1591
-
1592
- store , err := NewBucketStore (
1593
- logger ,
1594
- nil ,
1595
- instrBkt ,
1596
- fetcher ,
1597
- tmpDir ,
1598
- indexCache ,
1599
- nil ,
1600
- 1000000 ,
1601
- NewChunksLimiterFactory (10000 / MaxSamplesPerChunk ),
1602
- false ,
1603
- 10 ,
1604
- nil ,
1605
- false ,
1606
- true ,
1607
- DefaultPostingOffsetInMemorySampling ,
1608
- true ,
1609
- )
1610
- testutil .Ok (tb , err )
1611
- testutil .Ok (tb , store .SyncBlocks (context .Background ()))
1535
+ tb , store , seriesSet1 , seriesSet2 , block1 , block2 := setupStoreForHintsTest (t )
1612
1536
1613
1537
testCases := []* storetestutil.SeriesCase {
1614
1538
{
@@ -1898,10 +1822,10 @@ func createBlockWithOneSeriesWithStep(t testutil.TB, dir string, lbls labels.Lab
1898
1822
return createBlockFromHead (t , dir , h )
1899
1823
}
1900
1824
1901
- func TestLabelNamesAndValuesHints (t * testing.T ) {
1825
+ func setupStoreForHintsTest (t * testing.T ) (testutil. TB , * BucketStore , [] * storepb. Series , [] * storepb. Series , ulid. ULID , ulid. ULID ) {
1902
1826
tb := testutil .NewTB (t )
1903
1827
1904
- tmpDir , err := ioutil .TempDir ("" , "test-labels- hints" )
1828
+ tmpDir , err := ioutil .TempDir ("" , "test-hints" )
1905
1829
testutil .Ok (t , err )
1906
1830
defer func () { testutil .Ok (t , os .RemoveAll (tmpDir )) }()
1907
1831
@@ -1977,6 +1901,12 @@ func TestLabelNamesAndValuesHints(t *testing.T) {
1977
1901
testutil .Ok (tb , err )
1978
1902
testutil .Ok (tb , store .SyncBlocks (context .Background ()))
1979
1903
1904
+ return tb , store , seriesSet1 , seriesSet2 , block1 , block2
1905
+ }
1906
+
1907
+ func TestLabelNamesAndValuesHints (t * testing.T ) {
1908
+ _ , store , seriesSet1 , seriesSet2 , block1 , block2 := setupStoreForHintsTest (t )
1909
+
1980
1910
type labelNamesValuesCase struct {
1981
1911
name string
1982
1912
@@ -2005,11 +1935,11 @@ func TestLabelNamesAndValuesHints(t *testing.T) {
2005
1935
},
2006
1936
2007
1937
labelValuesReq : & storepb.LabelValuesRequest {
2008
- Label : "__name__ " ,
1938
+ Label : "ext1 " ,
2009
1939
Start : 0 ,
2010
1940
End : 1 ,
2011
1941
},
2012
- expectedValues : []string {},
1942
+ expectedValues : []string {"1" },
2013
1943
expectedValuesHints : hintspb.LabelValuesResponseHints {
2014
1944
QueriedBlocks : []hintspb.Block {
2015
1945
{Id : block1 .String ()},
@@ -2034,11 +1964,11 @@ func TestLabelNamesAndValuesHints(t *testing.T) {
2034
1964
},
2035
1965
2036
1966
labelValuesReq : & storepb.LabelValuesRequest {
2037
- Label : "__name__ " ,
1967
+ Label : "ext1 " ,
2038
1968
Start : 0 ,
2039
1969
End : 3 ,
2040
1970
},
2041
- expectedValues : []string {},
1971
+ expectedValues : []string {"1" },
2042
1972
expectedValuesHints : hintspb.LabelValuesResponseHints {
2043
1973
QueriedBlocks : []hintspb.Block {
2044
1974
{Id : block1 .String ()},
@@ -2053,13 +1983,15 @@ func TestLabelNamesAndValuesHints(t *testing.T) {
2053
1983
namesResp , err := store .LabelNames (context .Background (), tc .labelNamesReq )
2054
1984
testutil .Ok (t , err )
2055
1985
testutil .Equals (t , tc .expectedNames , namesResp .Names )
1986
+
2056
1987
var namesHints hintspb.LabelNamesResponseHints
2057
1988
testutil .Ok (t , types .UnmarshalAny (namesResp .Hints , & namesHints ))
2058
1989
testutil .Equals (t , tc .expectedNamesHints , namesHints )
2059
1990
2060
1991
valuesResp , err := store .LabelValues (context .Background (), tc .labelValuesReq )
2061
1992
testutil .Ok (t , err )
2062
1993
testutil .Equals (t , tc .expectedValues , valuesResp .Values )
1994
+
2063
1995
var valuesHints hintspb.LabelValuesResponseHints
2064
1996
testutil .Ok (t , types .UnmarshalAny (valuesResp .Hints , & valuesHints ))
2065
1997
testutil .Equals (t , tc .expectedValuesHints , valuesHints )
0 commit comments