blob: 53d53490af118801abcb346975e428cfab5b6b40 [file] [log] [blame]
"use strict";(self.webpackChunkrocketmq_docs=self.webpackChunkrocketmq_docs||[]).push([[3706],{15680:(e,r,t)=>{t.d(r,{xA:()=>g,yg:()=>y});var a=t(96540);function s(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function i(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r&&(a=a.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,a)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?i(Object(t),!0).forEach((function(r){s(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function n(e,r){if(null==e)return{};var t,a,s=function(e,r){if(null==e)return{};var t,a,s={},i=Object.keys(e);for(a=0;a<i.length;a++)t=i[a],r.indexOf(t)>=0||(s[t]=e[t]);return s}(e,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)t=i[a],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(s[t]=e[t])}return s}var l=a.createContext({}),c=function(e){var r=a.useContext(l),t=r;return e&&(t="function"==typeof e?e(r):o(o({},r),e)),t},g=function(e){var r=c(e.components);return a.createElement(l.Provider,{value:r},e.children)},u="mdxType",h={inlineCode:"code",wrapper:function(e){var r=e.children;return a.createElement(a.Fragment,{},r)}},p=a.forwardRef((function(e,r){var t=e.components,s=e.mdxType,i=e.originalType,l=e.parentName,g=n(e,["components","mdxType","originalType","parentName"]),u=c(t),p=s,y=u["".concat(l,".").concat(p)]||u[p]||h[p]||i;return t?a.createElement(y,o(o({ref:r},g),{},{components:t})):a.createElement(y,o({ref:r},g))}));function y(e,r){var t=arguments,s=r&&r.mdxType;if("string"==typeof e||s){var i=t.length,o=new Array(i);o[0]=p;var n={};for(var l in r)hasOwnProperty.call(r,l)&&(n[l]=r[l]);n.originalType=e,n[u]="string"==typeof e?e:s,o[1]=n;for(var c=2;c<i;c++)o[c]=t[c];return a.createElement.apply(null,o)}return a.createElement.apply(null,t)}p.displayName="MDXCreateElement"},86342:(e,r,t)=>{t.r(r),t.d(r,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>i,metadata:()=>n,toc:()=>c});var a=t(58168),s=(t(96540),t(15680));const i={title:"Release Notes - Apache RocketMQ - Version 4.0.0-incubating",categories:["Release_Notes"],tags:["Release_Notes","RocketMQ","Version"]},o=void 0,n={permalink:"/zh/release-notes/2017/01/24/4.0.0",source:"@site/release-notes/2017-01-24-4.0.0.md",title:"Release Notes - Apache RocketMQ - Version 4.0.0-incubating",description:"* Source: rocketmq-all-4.0.0-incubating-source-release.zip [PGP] [MD5] [SHA1]",date:"2017-01-24T00:00:00.000Z",formattedDate:"2017\u5e741\u670824\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:2.675,hasTruncateMarker:!0,authors:[],frontMatter:{title:"Release Notes - Apache RocketMQ - Version 4.0.0-incubating",categories:["Release_Notes"],tags:["Release_Notes","RocketMQ","Version"]},prevItem:{title:"Release Notes - Apache RocketMQ - Version 4.1.0-incubating",permalink:"/zh/release-notes/2017/06/02/4.1.0"}},l={authorsImageUrls:[]},c=[],g={toc:c},u="wrapper";function h(e){let{components:r,...t}=e;return(0,s.yg)(u,(0,a.A)({},g,t,{components:r,mdxType:"MDXLayout"}),(0,s.yg)("admonition",{title:"Download the 4.0.0-incubating 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.0.0-incubating/rocketmq-all-4.0.0-incubating-source-release.zip"},"rocketmq-all-4.0.0-incubating-source-release.zip")," [",(0,s.yg)("a",{parentName:"li",href:"https://archive.apache.org/dist/rocketmq/4.0.0-incubating/rocketmq-all-4.0.0-incubating-source-release.zip.asc"},"PGP"),"] [",(0,s.yg)("a",{parentName:"li",href:"https://archive.apache.org/dist/rocketmq/4.0.0-incubating/rocketmq-all-4.0.0-incubating-source-release.zip.md5"},"MD5"),"] [",(0,s.yg)("a",{parentName:"li",href:"https://archive.apache.org/dist/rocketmq/4.0.0-incubating/rocketmq-all-4.0.0-incubating-source-release.zip.sha1"},"SHA1"),"]"),(0,s.yg)("li",{parentName:"ul"},"Binary: ",(0,s.yg)("a",{parentName:"li",href:"https://archive.apache.org/dist/rocketmq/4.0.0-incubating/rocketmq-all-4.0.0-incubating-bin-release.zip"},"rocketmq-all-4.0.0-incubating-bin-release.zip")," [",(0,s.yg)("a",{parentName:"li",href:"https://archive.apache.org/dist/rocketmq/4.0.0-incubating/rocketmq-all-4.0.0-incubating-bin-release.zip.asc"},"PGP"),"] [",(0,s.yg)("a",{parentName:"li",href:"https://archive.apache.org/dist/rocketmq/4.0.0-incubating/rocketmq-all-4.0.0-incubating-bin-release.zip.md5"},"MD5"),"] [",(0,s.yg)("a",{parentName:"li",href:"https://archive.apache.org/dist/rocketmq/4.0.0-incubating/rocketmq-all-4.0.0-incubating-bin-release.zip.sha1"},"SHA1"),"]"))),(0,s.yg)("p",null,"Below is a summary of the JIRA issues addressed in the 4.0.0-incubating 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",null," Bug"),(0,s.yg)("ul",null,(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-2"},"ROCKETMQ-2"),'] - Broker tests fail with "Address already in use"'),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-5"},"ROCKETMQ-5"),"] - Avoid creating directories in UtilAll#getDiskPartitionSpaceUsedPercent()"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-19"},"ROCKETMQ-19"),"] - Thread-unsafe in MQAdminImpl#queryMessage"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-22"},"ROCKETMQ-22"),"] - new funciton 'printWaterMark' in version 3.5.8(4.0.0) will cause a ClassCastException"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-25"},"ROCKETMQ-25"),"] - Query Msg by key: Possible concurrent access to LinkedList"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-30"},"ROCKETMQ-30"),"] - Message Filter example has incorrect method signature"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-31"},"ROCKETMQ-31"),"] - Deletion needed for `$HOME/rmq_bk_gc.log` in `bin/mqbroker`"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-33"},"ROCKETMQ-33"),"] - CPU Occupy 100%"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-34"},"ROCKETMQ-34"),"] - Potential NPE in NettyConnetManageHandler#connect"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-35"},"ROCKETMQ-35"),"] - Consumer client can\u2019t persist consume offset table to Broker"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-45"},"ROCKETMQ-45"),"] - Delete consume queue hang file"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-47"},"ROCKETMQ-47"),"] - Broker updates NameServer address list on startup twice"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-59"},"ROCKETMQ-59"),"] - Charset misusage in RocketMQSerializable"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-64"},"ROCKETMQ-64"),"] - Remove duplication code line in BrokerOuterAPI.registerBroker method"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-70"},"ROCKETMQ-70"),"] - Duplicate methods in NettyRemotingClient"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-74"},"ROCKETMQ-74"),"] - DataVersion equals not working as expected."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-83"},"ROCKETMQ-83"),"] - Fail in quickstart-sample")),(0,s.yg)("h2",null," Improvement"),(0,s.yg)("ul",null,(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-8"},"ROCKETMQ-8"),"] - Standardize build script using maven wrapper"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-11"},"ROCKETMQ-11"),"] - Improve concision - Reuse local variable 'brokerAddrs' in RouteInfoManager.getSystemTopicList method"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-14"},"ROCKETMQ-14"),"] - Remoting invoke callback shoule be invoked in an executor rather than in current thread."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-16"},"ROCKETMQ-16"),"] - Improve the codes of setting topic.json's and subscriptionGroup.json's path"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-18"},"ROCKETMQ-18"),"] - Repackage com.alibaba to org.apache and change maven coordinate"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-20"},"ROCKETMQ-20"),"] - Default 'consumeFromWhere' is inconsist with example's"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-29"},"ROCKETMQ-29"),"] - org.apache.rocketmq.common.help.FAQUrl refers to docs in Chinese"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-32"},"ROCKETMQ-32"),"] - Improve concision - Reuse local variable 'brokerAddrs' in RouteInfoManager.getSystemTopicList method"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-37"},"ROCKETMQ-37"),"] - Log output information is not accurate"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-43"},"ROCKETMQ-43"),"] - code style file didn't match check-style in typecast"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-50"},"ROCKETMQ-50"),"] - Polish unit tests for RocketMQ"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-60"},"ROCKETMQ-60"),"] - Checklist review for 4.0.0-incubating release"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-69"},"ROCKETMQ-69"),"] - Add link to RocketMQ web page into README.md"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-85"},"ROCKETMQ-85"),"] - Polish README file and remove all the 3rd party links in it."),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-87"},"ROCKETMQ-87"),"] - Polish the LICENSE and NOTICE files to match all the dependencies"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-1"},"ROCKETMQ-1"),"] - Update build and clean up ip for 4.0.0-incubating"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-38"},"ROCKETMQ-38"),"] - Polish unit tests for rocketmq-remoting"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-51"},"ROCKETMQ-51"),"] - Polish unit tests for rocketmq-broker"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-52"},"ROCKETMQ-52"),"] - Polish unit tests for rocketmq-client"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-53"},"ROCKETMQ-53"),"] - Polish unit tests for rocketmq-commons"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-54"},"ROCKETMQ-54"),"] - Polish unit tests for rocketmq-namesrv"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-56"},"ROCKETMQ-56"),"] - Polish unit tests for rocketmq-store"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-57"},"ROCKETMQ-57"),"] - Polish unit tests for rocketmq-tools"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-58"},"ROCKETMQ-58"),"] - Add integration test for RocketMQ"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-62"},"ROCKETMQ-62"),"] - Polish Maven assembly release"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-3"},"ROCKETMQ-3"),"] - Clean up the unit test of rocketmq"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-13"},"ROCKETMQ-13"),"] - Wrong log level for AcceptSocketService termination"),(0,s.yg)("li",null,"[",(0,s.yg)("a",{href:"https://issues.apache.org/jira/browse/ROCKETMQ-9"},"ROCKETMQ-9"),"] - Errors in rocketmq-store module")))}h.isMDXComponent=!0}}]);