Skip to content

Commit 662ae7d

Browse files
authored
Fix fuzz queryables (#379)
* renabled distributed engine fuzz test Signed-off-by: Ben Ye <[email protected]> * update promethes version Signed-off-by: Ben Ye <[email protected]> * update go mod Signed-off-by: Ben Ye <[email protected]> * disallow matrix value type for distributed instant query Signed-off-by: Ben Ye <[email protected]> * update modules Signed-off-by: Ben Ye <[email protected]> --------- Signed-off-by: Ben Ye <[email protected]>
1 parent 31b9f20 commit 662ae7d

File tree

3 files changed

+16
-21
lines changed

3 files changed

+16
-21
lines changed

engine/enginefuzz_test.go

+5-7
Original file line numberDiff line numberDiff line change
@@ -203,8 +203,6 @@ func FuzzEnginePromQLSmithInstantQuery(f *testing.F) {
203203
}
204204

205205
func FuzzDistributedEnginePromQLSmithRangeQuery(f *testing.F) {
206-
f.Skip("Skip from CI to repair later")
207-
208206
f.Add(uint32(0), uint32(120), uint32(30), 1.0, 1.0, 1.0, 1.0, 1.0, 2.0, 30)
209207

210208
f.Fuzz(func(t *testing.T, startTS, endTS, intervalSeconds uint32, initialVal1, initialVal2, initialVal3, initialVal4, inc1, inc2 float64, stepRange int) {
@@ -243,7 +241,7 @@ func FuzzDistributedEnginePromQLSmithRangeQuery(f *testing.F) {
243241

244242
storage2 := promql.LoadedStorage(t, load2)
245243
defer storage2.Close()
246-
queryables = append(queryables, storage1)
244+
queryables = append(queryables, storage2)
247245

248246
start := time.Unix(int64(startTS), 0)
249247
end := time.Unix(int64(endTS), 0)
@@ -319,8 +317,6 @@ func FuzzDistributedEnginePromQLSmithRangeQuery(f *testing.F) {
319317
}
320318

321319
func FuzzDistributedEnginePromQLSmithInstantQuery(f *testing.F) {
322-
f.Skip("Skip from CI to repair later")
323-
324320
f.Add(uint32(0), 1.0, 1.0, 1.0, 1.0, 1.0, 2.0)
325321

326322
f.Fuzz(func(t *testing.T, ts uint32, initialVal1, initialVal2, initialVal3, initialVal4, inc1, inc2 float64) {
@@ -349,7 +345,7 @@ func FuzzDistributedEnginePromQLSmithInstantQuery(f *testing.F) {
349345

350346
storage2 := promql.LoadedStorage(t, load2)
351347
defer storage2.Close()
352-
queryables = append(queryables, storage1)
348+
queryables = append(queryables, storage2)
353349

354350
partitionLabels := [][]labels.Labels{
355351
{labels.FromStrings("zone", "west-1")},
@@ -392,7 +388,9 @@ func FuzzDistributedEnginePromQLSmithInstantQuery(f *testing.F) {
392388
// Since we disabled fallback, keep trying until we find a query
393389
// that can be natively execute by the engine.
394390
for {
395-
expr := ps.Walk(parser.ValueTypeVector, parser.ValueTypeMatrix)
391+
// Matrix value type cannot be supported for now as distributed engine
392+
// will execute remote query as range query.
393+
expr := ps.Walk(parser.ValueTypeVector)
396394
query = expr.Pretty(0)
397395
q1, err = distEngine.NewInstantQuery(ctx, mergeStore, nil, query, queryTime)
398396
if errors.Is(err, parse.ErrNotSupportedExpr) || errors.Is(err, parse.ErrNotImplemented) {

go.mod

+3-5
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ go 1.20
44

55
require (
66
github.com/cespare/xxhash/v2 v2.2.0
7-
github.com/cortexproject/promqlsmith v0.0.0-20231206201345-a7d143cf5966
7+
github.com/cortexproject/promqlsmith v0.0.0-20240103062231-e3aada49136f
88
github.com/efficientgo/core v1.0.0-rc.2
99
github.com/go-kit/log v0.2.1
1010
github.com/google/go-cmp v0.6.0
1111
github.com/prometheus/client_golang v1.17.0
12-
github.com/prometheus/common v0.45.0
13-
github.com/prometheus/prometheus v0.48.1-0.20231225214503-6b8e9453881b
12+
github.com/prometheus/common v0.45.1-0.20231122191551-832cd6e99f99
13+
github.com/prometheus/prometheus v0.48.1-0.20231231112717-756202aa4fc0
1414
github.com/stretchr/testify v1.8.4
1515
github.com/zhangyunhao116/umap v0.0.0-20221211160557-cb7705fafa39
1616
go.uber.org/goleak v1.3.0
@@ -101,8 +101,6 @@ require (
101101
k8s.io/utils v0.0.0-20230711102312-30195339c3c7 // indirect
102102
)
103103

104-
replace github.com/prometheus/prometheus => github.com/fpetkovski/prometheus v1.8.2-0.20231214104828-c4a187f37076
105-
106104
exclude (
107105
// Exclude erronous modules that cause go mod tidy with go 1.19.1 to fail with
108106
// ambiguous import: found package cloud.google.com/go/compute/metadata in multiple modules.

go.sum

+8-9
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0 h1:BMAjVKJM0U/CYF27gA0ZM
44
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0/go.mod h1:1fXstnBMas5kzG+S3q8UoJcmyU6nUeunJcMDHcRYHhs=
55
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 h1:d81/ng9rET2YqdVkVwkb6EXeRrLJIwyGnJcAlAWKwhs=
66
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0/go.mod h1:s4kgfzA0covAXNicZHDMN58jExvcng2mC/DepXiF1EI=
7-
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v4 v4.2.1 h1:UPeCRD+XY7QlaGQte2EVI2iOcWvUYA2XY8w5T/8v0NQ=
8-
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork v1.1.0 h1:QM6sE5k2ZT/vI5BEe0r7mqjsUSnhVBFbOsVkEuaEfiA=
9-
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2 v2.2.1 h1:bWh0Z2rOEDfB/ywv/l0iHN1JgyazE6kW/aIA89+CEK0=
7+
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.3.0 h1:qgs/VAMSR+9qFhwTw4OwF2NbVuw+2m83pVZJjqkKQMw=
8+
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 h1:bXwSugBiSbgtz7rOtbfGf+woewp4f06orW9OP5BjHLA=
109
github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1 h1:WpB/QDNLpMw72xHJc34BNNykqSOeEJDAWkhf0u12/Jk=
1110
github.com/AzureAD/microsoft-authentication-library-for-go v1.1.1/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI=
1211
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
@@ -38,8 +37,8 @@ github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XL
3837
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
3938
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
4039
github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4 h1:/inchEIKaYC1Akx+H+gqO04wryn5h75LSazbRlnya1k=
41-
github.com/cortexproject/promqlsmith v0.0.0-20231206201345-a7d143cf5966 h1:KvukHFhAxCBTsWA4CHKVTIZaQ+wHX71ZpqUz2HSOhLw=
42-
github.com/cortexproject/promqlsmith v0.0.0-20231206201345-a7d143cf5966/go.mod h1:89R0fjNCjntWZFJYjZ906Sh0w9VNIkCHA/GwNQ6Zqk0=
40+
github.com/cortexproject/promqlsmith v0.0.0-20240103062231-e3aada49136f h1:0IyHUBbWzCxe/dgjBCQcIv4ZIc7Rvlp2jXVYibcoAW8=
41+
github.com/cortexproject/promqlsmith v0.0.0-20240103062231-e3aada49136f/go.mod h1:by/B++NlNa8Hp+d2054cy3YR4ijhPNGnuWjUWOUppms=
4342
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
4443
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
4544
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -63,8 +62,6 @@ github.com/envoyproxy/protoc-gen-validate v1.0.2 h1:QkIBuU5k+x7/QXPvPPnWXWlCdaBF
6362
github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
6463
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
6564
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
66-
github.com/fpetkovski/prometheus v1.8.2-0.20231214104828-c4a187f37076 h1:2eG/NyTpD52SyIpIwe5F3Jt6JyBRQPNMkfvDt8OIcFQ=
67-
github.com/fpetkovski/prometheus v1.8.2-0.20231214104828-c4a187f37076/go.mod h1:Mion2/PKFmhgQqLN58WTe/1lBjL0Kc513mkLmX8FyOA=
6865
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
6966
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
7067
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
@@ -306,8 +303,8 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8
306303
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
307304
github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
308305
github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
309-
github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM=
310-
github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY=
306+
github.com/prometheus/common v0.45.1-0.20231122191551-832cd6e99f99 h1:V5ajRiLiCQGO+ggTr+07gMUcTqlIMMkDBfrJe5zKLmc=
307+
github.com/prometheus/common v0.45.1-0.20231122191551-832cd6e99f99/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY=
311308
github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4=
312309
github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI=
313310
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
@@ -316,6 +313,8 @@ github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O
316313
github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
317314
github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
318315
github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
316+
github.com/prometheus/prometheus v0.48.1-0.20231231112717-756202aa4fc0 h1:G+SNVUYetcY3rxaS/Nrwaj75xYPPuOOv5PF1gh43rTM=
317+
github.com/prometheus/prometheus v0.48.1-0.20231231112717-756202aa4fc0/go.mod h1:rjv6XpIriO8LQLghidTEY9P9vTDbxqFg6xKPzW5olDk=
319318
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
320319
github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
321320
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=

0 commit comments

Comments
 (0)