Line 2111: Table 3-5 - PUBACK Reason Codes
need to add code value 150 (0x96) "Message rate too high" to the table.
Line 881: Table 2-4 Reason Codes
add PUBACK in the Packets column for Value 150 (0x96) "Message rate too high"
This code is different than return code 151 and needed for PUBACK, to inform the Sender that it has temporarily exceeded the throughput limit (vs. the cumulative (daily/monthly) quota for a customer, represented by value 151).
Example: Sender can wait for a period of time and then continue sending messages, instead of forcing it to disconnect and perform a resource intense reconnect.
This issue was originally reported in MQTT-417, which doesn't seem to be applied in WD14.
{"report":{"apdex":0.5,"isInitial":true,"journeyId":"a2021d95-b613-4916-9538-93f4548c95d9","key":"jira.project.issue.view-issue","navigationType":0,"readyForUser":2718.1000003814697,"redirectCount":0,"resourceLoadedEnd":3804.6000003814697,"resourceLoadedStart":211.10000038146973,"resourceTiming":[{"duration":196.69999980926514,"initiatorType":"link","name":"https://issues.oasis-open.org/s/3edeca31ab9ba77980aae0809fbe7121-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/css/_super/batch.css","startTime":211.10000038146973,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":211.10000038146973,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":407.80000019073486,"responseStart":0,"secureConnectionStart":0},{"duration":576.5,"initiatorType":"link","name":"https://issues.oasis-open.org/s/7d2823769c2e7b66e860863fe879b7f8-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/css/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.css?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&richediton=true","startTime":211.5,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":211.5,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":788,"responseStart":0,"secureConnectionStart":0},{"duration":576.4000000953674,"initiatorType":"link","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.css","startTime":211.80000019073486,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":211.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":788.2000002861023,"responseStart":0,"secureConnectionStart":0},{"duration":579.3000001907349,"initiatorType":"link","name":"https://issues.oasis-open.org/s/645acc233eb869f48a571293b8358a7d-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static-adgs/jira.webresources:global-static-adgs.css","startTime":212,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":212,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":791.3000001907349,"responseStart":0,"secureConnectionStart":0},{"duration":579.2999997138977,"initiatorType":"link","name":"https://issues.oasis-open.org/s/a0dd6509771c1de0667aae5429c04cda-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:global-static/jira.webresources:global-static.css","startTime":212.2000002861023,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":212.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":791.5,"responseStart":0,"secureConnectionStart":0},{"duration":855.6000003814697,"initiatorType":"script","name":"https://issues.oasis-open.org/s/e5479157e7a0c08b005e6522f2f04104-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/0a4716d29b2d5b1bdcdb168b4efc119e/_/download/contextbatch/js/_super/batch.js?locale=en-US","startTime":212.5,"connectEnd":857.3000001907349,"connectStart":807.2000002861023,"domainLookupEnd":807.2000002861023,"domainLookupStart":807.2000002861023,"fetchStart":212.5,"redirectEnd":0,"redirectStart":0,"requestStart":857.4000000953674,"responseEnd":1068.1000003814697,"responseStart":893.8000001907349,"secureConnectionStart":832},{"duration":2301.8999996185303,"initiatorType":"script","name":"https://issues.oasis-open.org/s/83514d5d4e8543747b02042eafcdc99c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/9aebb1c0aaa4c36289529757ec9dbb54/_/download/contextbatch/js/project.issue.navigator,jira.view.issue,jira.global,atl.general,-_super/batch.js?agile_global_admin_condition=true&jag=true&jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":213.10000038146973,"connectEnd":876.3000001907349,"connectStart":826.2000002861023,"domainLookupEnd":826.2000002861023,"domainLookupStart":826.2000002861023,"fetchStart":213.10000038146973,"redirectEnd":0,"redirectStart":0,"requestStart":876.3000001907349,"responseEnd":2515,"responseStart":905,"secureConnectionStart":851},{"duration":706.7999997138977,"initiatorType":"script","name":"https://issues.oasis-open.org/s/70bb2263e59e7e1f04fbd137c80b895b-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/aae1242f5fc81cc6a5bb8bc963ccda29/_/download/contextbatch/js/atl.global,-_super/batch.js?locale=en-US","startTime":213.2000002861023,"connectEnd":892.4000000953674,"connectStart":841.5,"domainLookupEnd":841.5,"domainLookupStart":841.5,"fetchStart":213.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":892.5,"responseEnd":920,"responseStart":919.2000002861023,"secureConnectionStart":866.4000000953674},{"duration":721.7000002861023,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-en/jira.webresources:calendar-en.js","startTime":213.5,"connectEnd":907.6000003814697,"connectStart":858.3000001907349,"domainLookupEnd":858.3000001907349,"domainLookupStart":858.3000001907349,"fetchStart":213.5,"redirectEnd":0,"redirectStart":0,"requestStart":907.6000003814697,"responseEnd":935.2000002861023,"responseStart":934.2000002861023,"secureConnectionStart":882.7000002861023},{"duration":738.5,"initiatorType":"script","name":"https://issues.oasis-open.org/s/d41d8cd98f00b204e9800998ecf8427e-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/1.0/_/download/batch/jira.webresources:calendar-localisation-moment/jira.webresources:calendar-localisation-moment.js","startTime":213.60000038146973,"connectEnd":925.2000002861023,"connectStart":875.4000000953674,"domainLookupEnd":875.4000000953674,"domainLookupStart":875.4000000953674,"fetchStart":213.60000038146973,"redirectEnd":0,"redirectStart":0,"requestStart":925.3000001907349,"responseEnd":952.1000003814697,"responseStart":951.3000001907349,"secureConnectionStart":900},{"duration":783.5,"initiatorType":"script","name":"https://issues.oasis-open.org/s/cda37faab827dbdf305de8efe8282062-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/8.0.5/_/download/batch/com.atlassian.auiplugin:split_aui.pattern.label/com.atlassian.auiplugin:split_aui.pattern.label.js?locale=en-US","startTime":213.80000019073486,"connectEnd":969.3000001907349,"connectStart":919.9000000953674,"domainLookupEnd":919.9000000953674,"domainLookupStart":919.9000000953674,"fetchStart":213.80000019073486,"redirectEnd":0,"redirectStart":0,"requestStart":969.5,"responseEnd":997.3000001907349,"responseStart":996.5,"secureConnectionStart":944.2000002861023},{"duration":612.6000003814697,"initiatorType":"link","name":"https://issues.oasis-open.org/s/07245784f53abc49bad9d9d4d36c577a-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/cadc4f20cc5c138dee060d42cf85f220/_/download/contextbatch/css/jira.global.look-and-feel,-_super/batch.css","startTime":214,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":214,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":826.6000003814697,"responseStart":0,"secureConnectionStart":0},{"duration":799.0999999046326,"initiatorType":"script","name":"https://issues.oasis-open.org/rest/api/1.0/shortcuts/803004/a29179d70fa8562374ee16707692af77/shortcuts.js?context=issuenavigation&context=issueaction","startTime":214.2000002861023,"connectEnd":985.2000002861023,"connectStart":935,"domainLookupEnd":935,"domainLookupStart":935,"fetchStart":214.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":985.3000001907349,"responseEnd":1013.3000001907349,"responseStart":1012.3000001907349,"secureConnectionStart":959.8000001907349},{"duration":1003.5,"initiatorType":"link","name":"https://issues.oasis-open.org/s/f77fd89aa211a76b20e9b0e63564383c-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/css/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.css?jira.create.linked.issue=true&richediton=true","startTime":247.2000002861023,"connectEnd":0,"connectStart":0,"domainLookupEnd":0,"domainLookupStart":0,"fetchStart":247.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":0,"responseEnd":1250.7000002861023,"responseStart":0,"secureConnectionStart":0},{"duration":2113.800000190735,"initiatorType":"script","name":"https://issues.oasis-open.org/s/41525c48ddceeb9b11e54085268fc285-CDN/nu8zej/803004/aeedb5937bed650f2f0cc4ec9ceaa5d3/4a9288299d147101bf66484f4be48925/_/download/contextbatch/js/com.atlassian.jira.projects.sidebar.init,-_super,-jira.view.issue,-project.issue.navigator/batch.js?jira.create.linked.issue=true&locale=en-US&richediton=true","startTime":247.40000009536743,"connectEnd":2313.1000003814697,"connectStart":2263.6000003814697,"domainLookupEnd":2263.6000003814697,"domainLookupStart":2263.6000003814697,"fetchStart":247.40000009536743,"redirectEnd":0,"redirectStart":0,"requestStart":2313.2000002861023,"responseEnd":2361.2000002861023,"responseStart":2343,"secureConnectionStart":2288},{"duration":1387.7999997138977,"initiatorType":"xmlhttprequest","name":"https://issues.oasis-open.org/rest/webResources/1.0/resources","startTime":1211.2000002861023,"connectEnd":2565.300000190735,"connectStart":2514.9000000953674,"domainLookupEnd":2514.9000000953674,"domainLookupStart":2514.9000000953674,"fetchStart":1211.2000002861023,"redirectEnd":0,"redirectStart":0,"requestStart":2565.5,"responseEnd":2599,"responseStart":2596,"secureConnectionStart":2539.800000190735}],"threshold":1000,"fetchStart":0,"domainLookupStart":12,"domainLookupEnd":42,"connectStart":42,"connectEnd":131,"secureConnectionStart":68,"requestStart":131,"responseStart":198,"responseEnd":278,"domLoading":202,"domInteractive":3827,"domContentLoadedEventStart":3827,"domContentLoadedEventEnd":3881,"domComplete":5136,"loadEventStart":5136,"loadEventEnd":5138,"userAgent":"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)","marks":[],"measures":[],"correlationId":"ced036060f917","effectiveType":"4g","downlink":10,"rtt":0,"serverDuration":116,"dbReadsTimeInMs":26,"dbConnsTimeInMs":30,"applicationHash":"4d4040e0714d65b7fffa4801569d014c0b16eaa9","experiments":[]}}
The thought was that for QoS>0 messages the message rate can be limited using flow control, and for QoS=0 messages there is no PUBACK or PUBREC to return such a return code. Thus the 0x96 (Message rate too high) is only a disconnect.
Do we want to describe two mechanisms for flow control of QoS>0 messages?