-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Component/s: Handshake
-
None
-
Needed
When a driver performs the initial handshake with the server the initial payload includes a client document that identifies the system the driver is running on.
This metadata doesn't factor into the success of a handshake, though if the transmitted size exceeds 512 bytes, it can result in a failed handshake.
Recently there have been a number of initiatives (DRIVERS-2209, DRIVERS-2570) that have required additional information to be included in the handshake metadata. Furthermore, DRIVERS-2483 was identified as an opportunity to optimize the payload to further reduce the size and improve handling of client.platform, which is a "free for all" (not ideal, but justified by the design rationale).
To better ensure the success of an initial handshake, as well as support the continued evolution of the metadata being captured the metadata included in the handshake transmission should be refactored.
This would include:
- Proposing a change to the 8.0 server to explicitly log a hello command that contains client metadata (at the default I verbosity). This shouldn't spam as the server errors if a metadata document is sent after the initial hello
- Revising the truncation logic in the handshake specification to define "overflow" logic instead (that would target the hello command's comment field)
This would not include:
- Moving all client metadata to the command field (client metadata would continue to be used)
- is duplicated by
-
DRIVERS-2483 Optimize Handshake Client Metadata
- Closed