-
Type: Task
-
Resolution: Fixed
-
Priority: Unknown
-
Affects Version/s: None
-
Component/s: None
-
None
-
Ruby Drivers
One of the challenges with the cursor work is that both the find and getMore commands have non-standard behaviors regarding timeouts. Currently, the maxTimeMS option is being set identically for every command, on the Protocol::Message class. In order to support per-command timeout behaviors, we need to move that to the OpMsg subclasses themselves.
Generally, this can be done with minimal hassle:
- Pass context to a new OpMsg by adding a parameter to Specifiable#initialize. (We need to be careful because Specifiable is also used on Operation classes; we might need a separate constructor for OpMsg subclasses). The OpMsgExecutable#execute methods are already being given the context, so it shouldn’t be hard to pass it through.
- Modify OpMsgBase#message so that it uses the context to apply the default timeout behavior to the command.
- is depended on by
-
RUBY-3372 Add CSOT support for cursors
- Closed