blob: 953f2f01c6ed3b899258a5d8afc9b4e4880b8f18 [file] [log] [blame]
"use strict";(self.webpackChunkrocketmq_docs=self.webpackChunkrocketmq_docs||[]).push([[9012],{15680:(e,t,r)=>{r.d(t,{xA:()=>h,yg:()=>g});var a=r(96540);function s(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function i(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function l(e,t){if(null==e)return{};var r,a,s=function(e,t){if(null==e)return{};var r,a,s={},o=Object.keys(e);for(a=0;a<o.length;a++)r=o[a],t.indexOf(r)>=0||(s[r]=e[r]);return s}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(a=0;a<o.length;a++)r=o[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(s[r]=e[r])}return s}var n=a.createContext({}),c=function(e){var t=a.useContext(n),r=t;return e&&(r="function"==typeof e?e(t):i(i({},t),e)),r},h=function(e){var t=c(e.components);return a.createElement(n.Provider,{value:t},e.children)},u="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},p=a.forwardRef((function(e,t){var r=e.components,s=e.mdxType,o=e.originalType,n=e.parentName,h=l(e,["components","mdxType","originalType","parentName"]),u=c(r),p=s,g=u["".concat(n,".").concat(p)]||u[p]||m[p]||o;return r?a.createElement(g,i(i({ref:t},h),{},{components:r})):a.createElement(g,i({ref:t},h))}));function g(e,t){var r=arguments,s=t&&t.mdxType;if("string"==typeof e||s){var o=r.length,i=new Array(o);i[0]=p;var l={};for(var n in t)hasOwnProperty.call(t,n)&&(l[n]=t[n]);l.originalType=e,l[u]="string"==typeof e?e:s,i[1]=l;for(var c=2;c<o;c++)i[c]=r[c];return a.createElement.apply(null,i)}return a.createElement.apply(null,r)}p.displayName="MDXCreateElement"},35931:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>n,contentTitle:()=>i,default:()=>m,frontMatter:()=>o,metadata:()=>l,toc:()=>c});var a=r(58168),s=(r(96540),r(15680));const o={title:"Release Notes - Apache RocketMQ - Version 4.8.0",categories:["Release_Notes"],tags:["Release_Notes","RocketMQ","Version"]},i=void 0,l={permalink:"/zh/release-notes/2020/12/21/4.8.0",source:"@site/release-notes/2020-12-21-4.8.0.md",title:"Release Notes - Apache RocketMQ - Version 4.8.0",description:"* Source: rocketmq-all-4.8.0-source-release.zip [PGP] [SHA512]",date:"2020-12-21T00:00:00.000Z",formattedDate:"2020\u5e7412\u670821\u65e5",tags:[{label:"Release_Notes",permalink:"/zh/release-notes/tags/release-notes"},{label:"RocketMQ",permalink:"/zh/release-notes/tags/rocket-mq"},{label:"Version",permalink:"/zh/release-notes/tags/version"}],readingTime:3.325,hasTruncateMarker:!0,authors:[],frontMatter:{title:"Release Notes - Apache RocketMQ - Version 4.8.0",categories:["Release_Notes"],tags:["Release_Notes","RocketMQ","Version"]},prevItem:{title:"Release Notes - Apache RocketMQ Spring - Version 2.2.0",permalink:"/zh/release-notes/2021/01/08/release-notes-rocketmq-spring-2.2.0"},nextItem:{title:"Release Notes - Apache RocketMQ Spring - Version 2.1.1",permalink:"/zh/release-notes/2020/07/20/release-notes-rocketmq-spring-2.1.1"}},n={authorsImageUrls:[]},c=[{value:"Feature",id:"feature",level:2},{value:"Improvement",id:"improvement",level:2},{value:"Bug",id:"bug",level:2},{value:"Document and code style improvement",id:"document-and-code-style-improvement",level:2}],h={toc:c},u="wrapper";function m(e){let{components:t,...r}=e;return(0,s.yg)(u,(0,a.A)({},h,r,{components:t,mdxType:"MDXLayout"}),(0,s.yg)("admonition",{title:"Download the 4.8.0 release",type:"tip"},(0,s.yg)("ul",{parentName:"admonition"},(0,s.yg)("li",{parentName:"ul"},"Source: ",(0,s.yg)("a",{parentName:"li",href:"https://archive.apache.org/dist/rocketmq/4.8.0/rocketmq-all-4.8.0-source-release.zip"},"rocketmq-all-4.8.0-source-release.zip")," [",(0,s.yg)("a",{parentName:"li",href:"https://www.apache.org/dist/rocketmq/4.8.0/rocketmq-all-4.8.0-source-release.zip.asc"},"PGP"),"] [",(0,s.yg)("a",{parentName:"li",href:"https://www.apache.org/dist/rocketmq/4.8.0/rocketmq-all-4.8.0-source-release.zip.sha512"},"SHA512"),"]"),(0,s.yg)("li",{parentName:"ul"},"Binary: ",(0,s.yg)("a",{parentName:"li",href:"https://archive.apache.org/dist/rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip"},"rocketmq-all-4.8.0-bin-release.zip")," [",(0,s.yg)("a",{parentName:"li",href:"https://www.apache.org/dist/rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip.asc"},"PGP"),"] [",(0,s.yg)("a",{parentName:"li",href:"https://www.apache.org/dist/rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip.sha512"},"SHA512"),"]"))),(0,s.yg)("p",null,"Below is a summary of the issues addressed in the 4.8.0 release of RocketMQ. For full documentation of the release, a guide to get started, please refer to ",(0,s.yg)("a",{href:"/docs/quickStart/01quickstart/"},"Quick Start"),"."),(0,s.yg)("h2",{id:"feature"},"Feature"),(0,s.yg)("ul",null,(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/1846"},"ISSUE-1846"),"] - Change into pipeline manner to improve performance in dledger model ."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/690"},"ISSUE-690"),"] - Support batch messages in dledger mode.")),(0,s.yg)("h2",{id:"improvement"},"Improvement"),(0,s.yg)("ul",null,(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/1678"},"ISSUE-1678"),"] - Use thread safe CopyOnWriteArrayList for registerBrokerResultList."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/1904"},"ISSUE-1904"),"] - Print warn log when flush timeout ."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2082"},"ISSUE-2082"),"] - Use StringBuilder instead of StringBuffer."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2067"},"ISSUE-2067"),"] - Add logs when collecting disk space usage."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2146"},"ISSUE-2146"),"] - Add benchmark shutdown script and polish the benchmark."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2162"},"ISSUE-2162"),"] - Polish the description getBrokerConfig help info."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2180"},"ISSUE-2180"),"] - Polish the name server start script."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2170"},"ISSUE-2170"),"] - Use thread safe vector in BrokerOuterAPI."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/1870"},"ISSUE-1870"),"] - Add Support for Java 9+ and compatible to previous Java version."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2217"},"ISSUE-2217"),"] - Upgrade dledger version."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2233"},"ISSUE-2233"),"] - Add Broker info in MQBrokerException for troubleshooting."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2245"},"ISSUE-2245"),"] - Expose config defaultBrokerId and connectBrokerByUser for DefaultLitePullConsumer."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2223"},"ISSUE-2223"),"] - Polish the selectOneMessageQueue method."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2239"},"ISSUE-2239"),"] - Add clientId in warn logs of MQClientInstance."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2300"},"ISSUE-2300"),"] - Support acl and msg trace in benchmark."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2152"},"ISSUE-2152"),"] - Add isRunning method in DefaultLitePullConsumer."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/1770"},"ISSUE-1770"),"] - Add a query message trace command in mqadmin tool."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2152"},"ISSUE-2152"),"] - Use mock style in unit test for time-consuming."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2219"},"ISSUE-2219"),"] - Add some asynchronous API for batch messages."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2334"},"ISSUE-2334"),"] - Polish the log and response remark when service not available."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2325"},"ISSUE-2325"),"] - Use CopyOnWriteArrayList to avoid possible thread safety issues."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2366"},"ISSUE-2366"),"] - Polish transaction producer start script in benchmark."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2412"},"ISSUE-2412"),"] - Support adding tag when producing messages in benchmark."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2468"},"ISSUE-2468"),"] - Polish the DefaultLayout SimpleDateFormat pattern."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2491"},"ISSUE-2491"),"] - Temporary fix on Mac OS when pid greater than short type max value.")),(0,s.yg)("h2",{id:"bug"},"Bug"),(0,s.yg)("ul",null,(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/1473"},"ISSUE-1473"),"] - Fix wrong trace message's clientHost."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/1576"},"ISSUE-1576"),"] - Fix wrong logic in selectMessageQueue."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2165"},"ISSUE-2165"),"] - Slave read enable not work sometimes when cluster deployed on DLedger mode."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2165"},"ISSUE-2172"),"] - ArrayIndexOutOfBoundsException may throw when getRemoteAddressStrategy method."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2280"},"ISSUE-2280"),"] - Disk ratio return -1.0 when cluster deployed on DLedger mode."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2330"},"ISSUE-2330"),"] - Consumer can not extract user-define properties when using batch messages."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2338"},"ISSUE-2338"),"] - The parameter commitLeastPages is never used."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2374"},"ISSUE-2374"),"] - Fix the error in ip check."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2378"},"ISSUE-2378"),"] - NPE may throw when consumer shutdown in the ClientRemotingProcessor."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2421"},"ISSUE-2421"),"] - SelectMessageQueueByHash throw exception while hashcode is Integer.MIN."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2477"},"ISSUE-2477"),"] - The allocate method of AllocateMessageQueueByMachineRoom return error result.")),(0,s.yg)("h2",{id:"document-and-code-style-improvement"},"Document and code style improvement"),(0,s.yg)("ul",null,(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/1435"},"ISSUE-1435"),"] - Fix document error about discarded mqadmin subcommand."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2192"},"ISSUE-2192"),"] - Typo fix in DefaultMQProducerImpl class."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2190"},"ISSUE-2190"),"] - Fix import mistakes in RocketMQ_Example.md."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2171"},"ISSUE-2171"),"] - Fix spell error in acl module."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2196"},"ISSUE-2196"),"] - Fix spell error and remove redundant code in acl module."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2176"},"ISSUE-2176"),"] - Remove redundant parameters in method."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/pull/2202"},"ISSUE-2202"),"] - Typo fix in README document."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2231"},"ISSUE-2231"),"] - Polish the format for user guide document."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/pull/2258"},"ISSUE-2258"),"] - Add a recommendation to PR template."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2272"},"ISSUE-2272"),"] - Typo fix in client consumer module."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2283"},"ISSUE-2283"),"] - Fix the spelling mistake in ProducerManager and some code optimization."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2299"},"ISSUE-2299"),"] - Typo fix in filter example document."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2402"},"ISSUE-2402"),"] - Add directory for rocketmq example document."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2415"},"ISSUE-2415"),"] - Delete useless code in client module."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2488"},"ISSUE-2488"),"] - Writing style optimization in architecture document."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://github.com/apache/rocketmq/issues/2459"},"ISSUE-2459"),"] - Fix the error in best practice document.")))}m.isMDXComponent=!0}}]);