45 lines
2.5 KiB
JSON
45 lines
2.5 KiB
JSON
{
|
|
"date": "2026-10-16",
|
|
"scope": "Local backend fix plus read-only verification against production JH; no application deployment or RouterOS configuration writes",
|
|
"causes": [
|
|
"RouterOS list omitted disabled and check-gateway; strict catalog parser returned 503",
|
|
"The page loaded full 12k-25k routing tables; an observed 8-second read approached the 10-second timeout"
|
|
],
|
|
"nativeObservations": {
|
|
"disabledGet": { "ret": "false" },
|
|
"unsetCheckGatewayGet": [],
|
|
"configurationWrites": 0
|
|
},
|
|
"fix": {
|
|
"routeList": "POST /ip/route/print with .query=[comment]; includes all ownership markers and unsupported commented rows",
|
|
"gatewayList": "GET /ip/route with .proplist=.id,gateway,active; retains all routes",
|
|
"missingProperties": "Read disabled/check-gateway via /ip/route/get only for owned rows with absent fields",
|
|
"maximumPropertyConcurrency": 2,
|
|
"emptySuccessfulCheckGet": "none",
|
|
"malformedAndFailedReads": "rejected, no successful empty snapshot or cache update"
|
|
},
|
|
"readOnlyVerification": [
|
|
{ "serverId": 2, "fullRows": 12441, "fullReadMs": 2394, "commentedRows": 12, "commentedReadMs": 500, "parsedOwnedRows": 4, "effectivePropertyReads": 7, "combinedReadAndParseMs": 1026 },
|
|
{ "serverId": 3, "fullRows": 24864, "fullReadMs": 7986, "commentedRows": 13, "commentedReadMs": 1697, "parsedOwnedRows": 3, "effectivePropertyReads": 4, "combinedReadAndParseMs": 3225 },
|
|
{ "serverId": 4, "fullRows": 12451, "fullReadMs": 2106, "commentedRows": 7, "commentedReadMs": 488, "parsedOwnedRows": 5, "effectivePropertyReads": 3, "combinedReadAndParseMs": 643 }
|
|
],
|
|
"checks": {
|
|
"recursiveBackendProfile": "4 scripts passed, including new effective-property tests and HTTP failure/no-cache coverage",
|
|
"routerOsHttpClient": "11 tests passed, including native query array serialization",
|
|
"recursivePageE2E": "15 passed",
|
|
"backendBuild": "passed",
|
|
"scopedEslint": "passed",
|
|
"gitDiffCheck": "passed"
|
|
},
|
|
"limitations": [
|
|
"Read-only native checks, not acceptance of a deployed HTTP/UI fix",
|
|
"One-off timings; gateway inventory remains a separate request and is not included in combinedReadAndParseMs",
|
|
"No broader timeout/connection-pool redesign or changes to native route application rules",
|
|
"Existing cache ID replacement behavior remains separate from this fix"
|
|
],
|
|
"sources": [
|
|
"https://manual.mikrotik.com/docs/developer-guides/rest-api/",
|
|
"https://manual.mikrotik.com/docs/cli-reference/ip/route/"
|
|
]
|
|
}
|