-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Minor - P4
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Server Programmability
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Overview
The UserError category (SERVER-136314) is hand-maintained in error_codes.yml. Add validation in buildscripts/ codegen so codes carrying definitionally-client-facing categories must also carry UserError.
Background
isUserError() is generated from the category with default: return false, so an untagged new code silently counts as a server error in the failedUserError / failedServerError counters. Nothing currently forces a conscious classification decision.
Scope of Work
* In the error_codes.yml validation in generate_error_codes.py (or its schema check), reject codes that carry any of ValidationError, IDLParseError, VersionedAPIError, StreamProcessorUserError without also carrying UserError.
* Verified consistent for the current 56-code subset; the invariant is currently undocumented and unenforced.
Acceptance Criteria
* generate_error_codes.py (or the build) fails when a client-facing-category code lacks UserError.
- depends on
-
SERVER-136314 Split command failure counters into user/server-error and add cumulative aggregates
-
- In Code Review
-