[SERVER-44031] Investigate a packed format for operation session info Created: 15/Oct/19  Updated: 05/Nov/19  Resolved: 05/Nov/19

Status: Closed
Project: Core Server
Component/s: Networking
Affects Version/s: None
Fix Version/s: None

Type: Question Priority: Major - P3
Reporter: Mira Carey Assignee: Cheahuychou Mao
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Sprint: Sharding 2019-10-21, Sharding 2019-11-04, Sharding 2019-11-18
Participants:

 Description   

The operation session info for a command has to parse it's member fields out of the soup of the top level attributes for a command. I'd like to investigate packing those fields into a fixed width payload (i.e. one top level field, storing a bindata) and seeing if a request that packed data in such a manner was faster to parse than one using the current flow.

The main places to make this change would be in https://github.com/mongodb/mongo/blob/380711ea7dba41cb372a12a8d5258fdc124a0d23/src/mongo/db/initialize_operation_session_info.cpp

and in the corresponding idl file: https://github.com/mongodb/mongo/blob/380711ea7dba41cb372a12a8d5258fdc124a0d23/src/mongo/db/logical_session_id.idl#L115-L139

After making that synthetic change, we should try out running a localized performance test (using one of the existing network interface integration tests is likely to be easiest: https://github.com/mongodb/mongo/blob/380711ea7dba41cb372a12a8d5258fdc124a0d23/src/mongo/executor/non_auth_task_executor_integration_test.cpp) and measuring what kind of results we can get


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