-
Type:
Spec Change
-
Resolution: Unresolved
-
Priority:
Unknown
-
None
-
Component/s: Docs
-
None
-
Not Needed
Summary
What is the problem or use case, what are we trying to achieve?
The current list of driver mantras includes one for "No Knobs":
"Too many choices stress out users. Whenever possible, we aim to minimize the number of configuration options exposed to users. In particular, if a typical user would have no idea how to choose a correct value, we pick a good default instead of adding a knob."
This statement, while philosophically ideal, has not been strictly true for a long time. Drivers expose a host of niche knobs that a typical user would have no idea how to correctly set. These include maxPoolSize, minPoolSize, maxConnecting, serverSelectionTimeoutMS, waitQueueTimeoutMS, and many others.
The mantra should be updated to more accurately reflect the guidance actually used for adding knobs, which is closer to "don't be eager to add knobs and only introduce them if the need is high enough".
Motivation
Who is the affected end user?
Who are the stakeholders?
Drivers engineers.
How does this affect the end user?
Are they blocked? Are they annoyed? Are they confused?
In practice, not at all.
How likely is it that this problem or use case will occur?
Main path? Edge case?
Engineers regularly refer to the mantra when considering new knobs.
If the problem does occur, what are the consequences and how severe are they?
Minor annoyance at a log message? Performance concern? Outage/unavailability? Failover can't complete?
Inconsistency between the specification and reality, leading to inconsistency in policy and design decisions.
Is this issue urgent?
Does this ticket have a required timeline? What is it?
Not really.
Is this ticket required by a downstream team?
Needed by e.g. Atlas, Shell, Compass?
No.
Is this ticket only for tests?
Does this ticket have any functional impact, or is it just test improvements?
N/A.
Acceptance Criteria
What specific requirements must be met to consider the design phase complete?
Update the "No Knobs" mantra to accurately reflect the reality of how drivers treat introducing knobs.