If the server returns a packet with an error number in the range between 2000 and 2999, the client library reports it as a malformed packet. This is technically a breaking change as it's not documented anywhere in the protocol or in the error code listings that the range 2000 to 2999 is reserved for client errors and they must be treated as malformed packets.
This breaks a module in MaxScale that (mistakenly) used the error code 2003 for an error it generated. If this range of error numbers is reserved for clients, it should be documented.
The commit that causes this is 4419abe71aef1d0b6ca0fab8fc67f02845b1e081. While this is merely a client-side change, it should either be reverted to retain the old documented behavior or it should be documented that the range 2000 to 2999 is reserved for client-side errors and any error packet from that range must be considered a malformed packet. I'd prefer the latter as it requires no changes to the server and/or client code and merely a fix in MaxScale.
Here is a post-authentication network capture that in 10.6 is reported as a "normal" error but in 10.11 is reported as a malformed packet:
T 192.168.122.1:36730 -> 192.168.122.131:4006 [AP] #105
|
1f 00 00 00 03 49 4e 53 45 52 54 20 49 4e 54 4f .....INSERT INTO
|
20 74 65 73 74 2e 74 32 20 56 41 4c 55 45 53 20 test.t2 VALUES
|
28 31 29 (1)
|
#
|
T 192.168.122.131:4006 -> 192.168.122.1:36730 [AP] #106
|
1e 00 00 01 ff d3 07 23 48 59 30 30 30 49 6e 76 .......#HY000Inv
|
61 6c 69 64 20 69 6e 73 65 72 74 20 74 61 72 67 alid insert targ
|
65 74 et
|
#
|
If nothing else, the error message is misleading since the packet itself is well-formed and it's only the error that is unknown.
- relates to
-
MXS-5000
insertstream uses an error code from the reserved client range
-
-
Closed
{"report":{"fcp":858.1999999955297,"ttfb":239.10000000149012,"pageVisibility":"visible","entityId":128070,"key":"jira.project.issue.view-issue","isInitial":true,"threshold":1000,"elementTimings":{},"userDeviceMemory":8,"userDeviceProcessors":32,"apdex":1,"journeyId":"d574892a-1450-4456-b44d-53b02db9aeb5","navigationType":0,"readyForUser":928,"redirectCount":0,"resourceLoadedEnd":1080,"resourceLoadedStart":244.69999999552965,"resourceTiming":[{"duration":57.30000000447035,"initiatorType":"link","name":"https://jira.mariadb.org/s/2c21342762a6a02add1c328bed317ffd-CDN/lu2bv2/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/css/_super/batch.css","startTime":244.69999999552965,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":244.69999999552965,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":302,"responseStart":0,"secureConnectionStart":0},{"duration":57.899999998509884,"initiatorType":"link","name":"https://jira.mariadb.org/s/7ebd35e77e471bc30ff0eba799ebc151-CDN/lu2bv2/820016/12ta74/2380add21a9a1006587582385952de73/_/download/contextbatch/css/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":245,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":245,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":302.8999999985099,"responseStart":0,"secureConnectionStart":0},{"duration":133.09999999403954,"initiatorType":"script","name":"https://jira.mariadb.org/s/e9b27a47da5fb0f74a35acd57e9847fb-CDN/lu2bv2/820016/12ta74/0a8bac35585be7fc6c9cc5a0464cd4cf/_/download/contextbatch/js/_super/batch.js?locale=en","startTime":245.10000000149012,"connectEnd":245.10000000149012,"connectStart":245.10000000149012,"domainLookupEnd":245.10000000149012,"domainLookupStart":245.10000000149012,"fetchStart":245.10000000149012,"redirectEnd":0,"redirectStart":0,"requestStart":245.10000000149012,"responseEnd":378.19999999552965,"responseStart":378.19999999552965,"secureConnectionStart":245.10000000149012},{"duration":197.10000000149012,"initiatorType":"script","name":"https://jira.mariadb.org/s/c32eb0da7ad9831253f8397e6cc26afd-CDN/lu2bv2/820016/12ta74/2380add21a9a1006587582385952de73/_/download/contextbatch/js/jira.browse.project,project.issue.navigator,jira.view.issue,jira.general,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true","startTime":245.39999999850988,"connectEnd":245.39999999850988,"connectStart":245.39999999850988,"domainLookupEnd":245.39999999850988,"domainLookupStart":245.39999999850988,"fetchStart":245.39999999850988,"redirectEnd":0,"redirectStart":0,"requestStart":245.39999999850988,"responseEnd":442.5,"responseStart":442.3999999985099,"secureConnectionStart":245.39999999850988},{"duration":200.79999999701977,"initiatorType":"script","name":"https://jira.mariadb.org/s/bc0bcb146314416123c992714ee00ff7-CDN/lu2bv2/820016/12ta74/c92c0caa9a024ae85b0ebdbed7fb4bd7/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en","startTime":245.5,"connectEnd":245.5,"connectStart":245.5,"domainLookupEnd":245.5,"domainLookupStart":245.5,"fetchStart":245.5,"redirectEnd":0,"redirectStart":0,"requestStart":245.5,"responseEnd":446.29999999701977,"responseStart":446.29999999701977,"secureConnectionStart":245.5},{"duration":201.40000000596046,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":245.69999999552965,"connectEnd":245.69999999552965,"connectStart":245.69999999552965,"domainLookupEnd":245.69999999552965,"domainLookupStart":245.69999999552965,"fetchStart":245.69999999552965,"redirectEnd":0,"redirectStart":0,"requestStart":245.69999999552965,"responseEnd":447.1000000014901,"responseStart":447.1000000014901,"secureConnectionStart":245.69999999552965},{"duration":201.70000000298023,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":245.89999999850988,"connectEnd":245.89999999850988,"connectStart":245.89999999850988,"domainLookupEnd":245.89999999850988,"domainLookupStart":245.89999999850988,"fetchStart":245.89999999850988,"redirectEnd":0,"redirectStart":0,"requestStart":245.89999999850988,"responseEnd":447.6000000014901,"responseStart":447.6000000014901,"secureConnectionStart":245.89999999850988},{"duration":274.29999999701977,"initiatorType":"link","name":"https://jira.mariadb.org/s/b04b06a02d1959df322d9cded3aeecc1-CDN/lu2bv2/820016/12ta74/a2ff6aa845ffc9a1d22fe23d9ee791fc/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":246.10000000149012,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":246.10000000149012,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":520.3999999985099,"responseStart":0,"secureConnectionStart":0},{"duration":202,"initiatorType":"script","name":"https://jira.mariadb.org/rest/api/1.0/shortcuts/820016/47140b6e0a9bc2e4913da06536125810/shortcuts.js?context=issuenavigation&context=issueaction","startTime":246.19999999552965,"connectEnd":246.19999999552965,"connectStart":246.19999999552965,"domainLookupEnd":246.19999999552965,"domainLookupStart":246.19999999552965,"fetchStart":246.19999999552965,"redirectEnd":0,"redirectStart":0,"requestStart":246.19999999552965,"responseEnd":448.19999999552965,"responseStart":448.19999999552965,"secureConnectionStart":246.19999999552965},{"duration":274.20000000298023,"initiatorType":"link","name":"https://jira.mariadb.org/s/3ac36323ba5e4eb0af2aa7ac7211b4bb-CDN/lu2bv2/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.css?jira.create.linked.issue=true","startTime":246.39999999850988,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":246.39999999850988,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":520.6000000014901,"responseStart":0,"secureConnectionStart":0},{"duration":202.5,"initiatorType":"script","name":"https://jira.mariadb.org/s/719848dd97ebe0663199f49a3936487a-CDN/lu2bv2/820016/12ta74/d176f0986478cc64f24226b3d20c140d/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-project.issue.navigator,-jira.view.issue/batch.js?jira.create.linked.issue=true&locale=en","startTime":246.5,"connectEnd":246.5,"connectStart":246.5,"domainLookupEnd":246.5,"domainLookupStart":246.5,"fetchStart":246.5,"redirectEnd":0,"redirectStart":0,"requestStart":246.5,"responseEnd":449,"responseStart":448.8999999985099,"secureConnectionStart":246.5},{"duration":425.29999999701977,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-js/jira.webresources:bigpipe-js.js","startTime":251.5,"connectEnd":251.5,"connectStart":251.5,"domainLookupEnd":251.5,"domainLookupStart":251.5,"fetchStart":251.5,"redirectEnd":0,"redirectStart":0,"requestStart":251.5,"responseEnd":676.7999999970198,"responseStart":676.7999999970198,"secureConnectionStart":251.5},{"duration":815.2999999970198,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/1.0/_/download/batch/jira.webresources:bigpipe-init/jira.webresources:bigpipe-init.js","startTime":251.60000000149012,"connectEnd":251.60000000149012,"connectStart":251.60000000149012,"domainLookupEnd":251.60000000149012,"domainLookupStart":251.60000000149012,"fetchStart":251.60000000149012,"redirectEnd":0,"redirectStart":0,"requestStart":251.60000000149012,"responseEnd":1066.8999999985099,"responseStart":1066.8999999985099,"secureConnectionStart":251.60000000149012},{"duration":145.5,"initiatorType":"xmlhttprequest","name":"https://jira.mariadb.org/rest/webResources/1.0/resources","startTime":532.2999999970198,"connectEnd":532.2999999970198,"connectStart":532.2999999970198,"domainLookupEnd":532.2999999970198,"domainLookupStart":532.2999999970198,"fetchStart":532.2999999970198,"redirectEnd":0,"redirectStart":0,"requestStart":532.2999999970198,"responseEnd":677.7999999970198,"responseStart":677.7999999970198,"secureConnectionStart":532.2999999970198},{"duration":268.5,"initiatorType":"link","name":"https://jira.mariadb.org/s/d5715adaadd168a9002b108b2b039b50-CDN/lu2bv2/820016/12ta74/be4b45e9cec53099498fa61c8b7acba4/_/download/contextbatch/css/jira.project.sidebar,-_super,-project.issue.navigator,-jira.general,-jira.browse.project,-jira.view.issue,-jira.global,-atl.general,-com.atlassian.jira.projects.sidebar.init/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":799.3999999985099,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":799.3999999985099,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1067.8999999985099,"responseStart":0,"secureConnectionStart":0},{"duration":279.70000000298023,"initiatorType":"script","name":"https://jira.mariadb.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/lu2bv2/820016/12ta74/e65b778d185daf5aee24936755b43da6/_/download/contextbatch/js/browser-metrics-plugin.contrib,-_super,-project.issue.navigator,-jira.view.issue,-atl.general/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&slack-enabled=true","startTime":800.2999999970198,"connectEnd":800.2999999970198,"connectStart":800.2999999970198,"domainLookupEnd":800.2999999970198,"domainLookupStart":800.2999999970198,"fetchStart":800.2999999970198,"redirectEnd":0,"redirectStart":0,"requestStart":800.2999999970198,"responseEnd":1080,"responseStart":1080,"secureConnectionStart":800.2999999970198},{"duration":273.5,"initiatorType":"script","name":"https://www.google-analytics.com/analytics.js","startTime":851.7999999970198,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":851.7999999970198,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1125.2999999970198,"responseStart":0,"secureConnectionStart":0},{"duration":285.3999999985099,"initiatorType":"script","name":"https://jira.mariadb.org/s/53a43b6764f587426c7bb9a150184c00-CDN/lu2bv2/820016/12ta74/be4b45e9cec53099498fa61c8b7acba4/_/download/contextbatch/js/jira.project.sidebar,-_super,-project.issue.navigator,-jira.general,-jira.browse.project,-jira.view.issue,-jira.global,-atl.general,-com.atlassian.jira.projects.sidebar.init/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en&slack-enabled=true","startTime":800.6000000014901,"connectEnd":800.6000000014901,"connectStart":800.6000000014901,"domainLookupEnd":800.6000000014901,"domainLookupStart":800.6000000014901,"fetchStart":800.6000000014901,"redirectEnd":0,"redirectStart":0,"requestStart":800.6000000014901,"responseEnd":1086,"responseStart":1086,"secureConnectionStart":800.6000000014901}],"fetchStart":0,"domainLookupStart":0,"domainLookupEnd":0,"connectStart":0,"connectEnd":0,"requestStart":80,"responseStart":239,"responseEnd":245,"domLoading":242,"domInteractive":1086,"domContentLoadedEventStart":1086,"domContentLoadedEventEnd":1124,"domComplete":1286,"loadEventStart":1286,"loadEventEnd":1287,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[{"name":"bigPipe.sidebar-id.start","time":1071.1999999955297},{"name":"bigPipe.sidebar-id.end","time":1072.1000000014901},{"name":"bigPipe.activity-panel-pipe-id.start","time":1072.1999999955297},{"name":"bigPipe.activity-panel-pipe-id.end","time":1073},{"name":"activityTabFullyLoaded","time":1137.2999999970198}],"measures":[],"correlationId":"b5d4fb98b6dd54","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":98,"dbReadsTimeInMs":13,"dbConnsTimeInMs":20,"applicationHash":"9d11dbea5f4be3d4cc21f03a88dd11d8c8687422","experiments":[]}}
Documented here: https://mariadb.com/kb/en/err_packet/