mirror of https://github.com/mongodb/mongo
SERVER-113382 Reserve location codes for extension errors and logs (#43533)
GitOrigin-RevId: d3e28a680d3859f938280edaf54dc861f220ca91
This commit is contained in:
parent
1116122883
commit
66dfaac3cb
|
|
@ -24,6 +24,8 @@ except ImportError:
|
|||
import re # type: ignore
|
||||
|
||||
MAXIMUM_CODE = 99999999 # JIRA Ticket + XX
|
||||
MIN_EXTENSION_RESERVED_CODE = 65000
|
||||
MAX_EXTENSION_RESERVED_CODE = 71000
|
||||
|
||||
codes = [] # type: ignore
|
||||
|
||||
|
|
@ -162,6 +164,7 @@ def read_error_codes(src_root="src/mongo"):
|
|||
dups = defaultdict(list)
|
||||
skips = []
|
||||
malformed = [] # type: ignore
|
||||
reserved = []
|
||||
|
||||
# define validation callbacks
|
||||
def check_dups(assert_loc):
|
||||
|
|
@ -181,11 +184,14 @@ def read_error_codes(src_root="src/mongo"):
|
|||
errors.append(assert_loc)
|
||||
|
||||
def validate_code(assert_loc):
|
||||
"""Check for malformed codes."""
|
||||
"""Check for malformed codes or pre-reserved codes."""
|
||||
code = int(assert_loc.code)
|
||||
if code > MAXIMUM_CODE:
|
||||
malformed.append(assert_loc)
|
||||
errors.append(assert_loc)
|
||||
elif code >= MIN_EXTENSION_RESERVED_CODE and code < MAX_EXTENSION_RESERVED_CODE:
|
||||
reserved.append(assert_loc)
|
||||
errors.append(assert_loc)
|
||||
|
||||
def callback(assert_loc):
|
||||
validate_code(assert_loc)
|
||||
|
|
@ -217,6 +223,11 @@ def read_error_codes(src_root="src/mongo"):
|
|||
print("MALFORMED ID: %s" % loc.code)
|
||||
print(" %s:%d:%d:%s" % (loc.sourceFile, line, col, loc.lines))
|
||||
|
||||
for loc in reserved:
|
||||
line, col = get_line_and_column_for_position(loc)
|
||||
print("USE OF ALREADY RESERVED ID: %s" % loc.code)
|
||||
print(" %s:%d:%d:%s" % (loc.sourceFile, line, col, loc.lines))
|
||||
|
||||
return (codes, errors, seen)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1053,6 +1053,7 @@ error_codes:
|
|||
}
|
||||
- {code: 56846, name: ConfigServerUnreachable}
|
||||
- {code: 57986, name: RetryableInternalTransactionNotSupported}
|
||||
# Codes 65000-70999 are reserved for extension-developed logs and errors. Do not use these unless they are used for writing an extension.
|
||||
- {code: 640570, name: IllegalChangeToExpectedShardVersion}
|
||||
- {code: 640571, name: IllegalChangeToExpectedDatabaseVersion}
|
||||
- {
|
||||
|
|
|
|||
Loading…
Reference in New Issue