Spike: remove CommandOperation from operation hierarchy

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Unknown
    • None
    • Affects Version/s: None
    • Component/s: Operations Layer
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Use Case

      As a driver engineer,
      I want an operation hierarchy that is extensible, flexible and robust,
      So that I can safely reason about my operations.

      CommandOperation is a class in the Node driver's operation layer hierarchy that is responsible for attaching the following fields to commands as the commands are being built:

      • Read/Write concern
      • maxTimeMS
      • explain
      • collation

      This provides a shared-code path for applying common command fields for the options listed above ( šŸ‘) but is not granular; a command must either supportĀ all or none of these options (šŸ‘Ž).Ā Ā 

      We need an abstraction that:

      • enables a shared code path to apply common command fields to all commands that support them
      • is granular - operations can opt-into supporting only the options relevant to them
      • (optional) supports Typescript, and ensures that if an operation declares supports, it is reflected in the operation's Typescript options

      User Experience

      • n/a - internal refactor

      Dependencies

      • n/a

      Risks/Unknowns

      • n/a

      Acceptance Criteria

      Implementation Requirements

      • functional reqs, potential snafus to avoid, performance targets, etc

      Testing Requirements

      • n/a

      Documentation Requirements

      • n/a

      Follow Up Requirements

      • n/a

              Assignee:
              Unassigned
              Reporter:
              Bailey Pearson
              None
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: