[SERVER-77485] Avoid re-constructing an ExpressionContext for query shape stats Created: 25/May/23  Updated: 07/Feb/24  Resolved: 26/May/23

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

Type: Improvement Priority: Major - P3
Reporter: Charlie Swanson Assignee: Charlie Swanson
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: File mongod.svg    
Issue Links:
Depends
is depended on by SERVER-85055 Tracking: M1 Performance improvement ... Closed
Backwards Compatibility: Fully Compatible
Sprint: QO 2023-05-29
Participants:

 Description   

When running some profiles I noticed us re-constructing an ExpressionContext when we already have one! In particular, this is wasteful because doing so will read the clock to compute the "NOW" system variable.



 Comments   
Comment by Githook User [ 07/Feb/24 ]

Author:

{'name': 'Erin Zhu', 'email': 'erin.zhu@mongodb.com', 'username': 'erinzhu001'}

Message: SERVER-86298 QueryStats Backport to 7.0 Batch #3

Includes backports of the following
SERVER-76866 change TODO ticket number
SERVER-76557: Keep RequestShapifiers in telemetry store
SERVER-76143 Add missing find command fields to queryStats key
SERVER-75512 key telemetry store on hash rather than BSONObj
SERVER-76947 remove unimplemented tassert for $cursor shapification
SERVER-76427 Rename $telemetry to $queryStats
SERVER-76042 Avoid re-parsing for the purpose of telemetry
SERVER-73152: Aggregation shapification for query stats
SERVER-75597 Include 'crs' in geo serialization with queryStats options
SERVER-76919 add gen command fields to queryStats key
SERVER-77350: Update query stats sampling rate parameter name
SERVER-76555 Stress-test $queryStats in core passthrough
SERVER-77407 uassert on BSONObj or string for $hint field in queryShape
SERVER-77430 Allow coordinates" to be optional"
SERVER-77485 Avoid unnecessary ExpressionContext re-construction
SERVER-77190 Include the whole client metadata in telemetry key, not just appName
SERVER-77626 Exclude test checking opcounters from queryStats suite
SERVER-77179: Update $queryStats parameters
and enterprise commits for
SERVER-76947 shapify $search and $backupCursorExtend
SERVER-76427: Rename $telemetry to $queryStats
SERVER-76531: Test that mongos does not collect telemetry for queryable encryption collections
SERVER-73152: Aggregation shapification for query stats
SERVER-77350: Update query stats sampling rate parameter name
SERVER-77190 Include the whole client metadata in telemetry key, not just appName
GitOrigin-RevId: 23ee70f6e72c9cf2fa79558fde10f6ecb42d9cf3
Branch: v7.0
https://github.com/mongodb/mongo/commit/30a74813261ead3652652c7afa50b0b6f243e15c

Comment by Githook User [ 26/May/23 ]

Author:

{'name': 'Charlie Swanson', 'email': 'charlie.swanson@mongodb.com', 'username': 'cswanson310'}

Message: SERVER-77485 Avoid unnecessary ExpressionContext re-construction
Branch: master
https://github.com/mongodb/mongo/commit/d8f9ffe4fb70898a075d4ea7c97547d8893ab138

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