[SERVER-84458] Consider options to invoke $queryStats less frequently in the fuzzer Created: 29/Dec/23  Updated: 09/Jan/24  Resolved: 09/Jan/24

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.3.0-rc0

Type: Task Priority: Major - P3
Reporter: Will Buerger Assignee: Erin Zhu
Resolution: Fixed Votes: 0
Labels: greenerbuild
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
Assigned Teams:
Query Integration
Backwards Compatibility: Fully Compatible
Participants:

 Description   

DEVPROD-3327 changed the "internalQueryStatsRateLimit" parameter in the optimization fuzzer from -1 (unlimited) to 10 in order to reduce query stats store sampling, since the invocation of $queryStats (introduced in DEVPROD-2844) was causing timeouts by running after each query.

There's no need to run $queryStats after each query since the query stats store will store tons of query shapes at a time. We could consider just running it once after runningĀ all generated queries, but that would risk losing coverage if we've evicted entries after reaching the query stats store memory limit. Instead, we could consider invoking $queryStats after every X queries. It might be worth roughly calculating how quickly the query stats store reaches capacity to estimate a reasonable value for X.


Generated at Thu Feb 08 06:55:05 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.