-
Type: Task
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Component/s: None
-
None
While encoding operations to send to the server (OP_QUERY, OP_INSERT, ...) if the encoded operation exceeds a maximum number of bytes a driver MUST NOT send the operation to the server and MUST raise an error back to the application. For OP_INSERT the maximum size is ismaster.maxMessageSizeBytes. For all other operations the maximum size is ismaster.maxBsonObjectSize + 16k
Why?
Above a certain message size (tbd), instead of returning a useful error about oversize documents or messages the server just closes the socket. This makes debugging applications difficult since a socket being closed provides no information about what you did wrong.
- depends on
-
CDRIVER-589 Driver should sanity check the size of the request document and fail fast
- Closed
-
CXX-1483 Drivers should check encoded operation size on client side
- Closed
-
GODRIVER-149 Drivers should check encoded operation size on client side
- Closed
- related to
-
DRIVERS-276 Drivers must raise an error if response messageLength > ismaster.maxMessageSizeBytes
- Closed