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
|
import re # type: ignore
|
||||||
|
|
||||||
MAXIMUM_CODE = 99999999 # JIRA Ticket + XX
|
MAXIMUM_CODE = 99999999 # JIRA Ticket + XX
|
||||||
|
MIN_EXTENSION_RESERVED_CODE = 65000
|
||||||
|
MAX_EXTENSION_RESERVED_CODE = 71000
|
||||||
|
|
||||||
codes = [] # type: ignore
|
codes = [] # type: ignore
|
||||||
|
|
||||||
|
|
@ -162,6 +164,7 @@ def read_error_codes(src_root="src/mongo"):
|
||||||
dups = defaultdict(list)
|
dups = defaultdict(list)
|
||||||
skips = []
|
skips = []
|
||||||
malformed = [] # type: ignore
|
malformed = [] # type: ignore
|
||||||
|
reserved = []
|
||||||
|
|
||||||
# define validation callbacks
|
# define validation callbacks
|
||||||
def check_dups(assert_loc):
|
def check_dups(assert_loc):
|
||||||
|
|
@ -181,11 +184,14 @@ def read_error_codes(src_root="src/mongo"):
|
||||||
errors.append(assert_loc)
|
errors.append(assert_loc)
|
||||||
|
|
||||||
def validate_code(assert_loc):
|
def validate_code(assert_loc):
|
||||||
"""Check for malformed codes."""
|
"""Check for malformed codes or pre-reserved codes."""
|
||||||
code = int(assert_loc.code)
|
code = int(assert_loc.code)
|
||||||
if code > MAXIMUM_CODE:
|
if code > MAXIMUM_CODE:
|
||||||
malformed.append(assert_loc)
|
malformed.append(assert_loc)
|
||||||
errors.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):
|
def callback(assert_loc):
|
||||||
validate_code(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("MALFORMED ID: %s" % loc.code)
|
||||||
print(" %s:%d:%d:%s" % (loc.sourceFile, line, col, loc.lines))
|
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)
|
return (codes, errors, seen)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1053,6 +1053,7 @@ error_codes:
|
||||||
}
|
}
|
||||||
- {code: 56846, name: ConfigServerUnreachable}
|
- {code: 56846, name: ConfigServerUnreachable}
|
||||||
- {code: 57986, name: RetryableInternalTransactionNotSupported}
|
- {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: 640570, name: IllegalChangeToExpectedShardVersion}
|
||||||
- {code: 640571, name: IllegalChangeToExpectedDatabaseVersion}
|
- {code: 640571, name: IllegalChangeToExpectedDatabaseVersion}
|
||||||
- {
|
- {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue