Please do not create a Pull Request without creating an issue first. 

## What is the purpose of the change

This PR add docker images for  rockermq-4.3.0, to fit the feature request 
[#104](https://github.com/apache/rocketmq-externals/issues/104)

## Brief changelog

Changes include the following:
- Update RocketMQ to 4.3.0;
- Update README.md

## Verifying this change

As described in the README.md, to verify the changes just do the following:

### For Docker

#### Run: 

```
cd 4.3.0
./play-docker.sh

```

#### Check:
see the containers running:
```
huandeMacBook-Pro:4.3.0 huan$ docker ps
CONTAINER ID        IMAGE                           COMMAND                  
CREATED             STATUS              PORTS                                   
             NAMES
581274ffc1b9        apache/rocketmq-broker:4.3.0    "/bin/sh -c 'cd ${RO…"   4 
seconds ago       Up 2 seconds        0.0.0.0:10909->10909/tcp, 
0.0.0.0:10911->10911/tcp   rmqbroker
f3ac3f69d10f        apache/rocketmq-namesrv:4.3.0   "/bin/sh -c 'cd ${RO…"   4 
seconds ago       Up 3 seconds        0.0.0.0:9876->9876/tcp                    
           rmqnamesrv
```

check namesrv container JAVA options:
```
[root@f3ac3f69d10f rocketmq-4.3.0]# ps -ef|grep namesrv
root         1     0  0 13:22 ?        00:00:00 /bin/sh -c cd 
${ROCKETMQ_HOME}/bin  && export JAVA_OPT=" -Duser.home=/opt"  && sh mqnamesrv
root         7     1  0 13:22 ?        00:00:00 sh mqnamesrv
root         8     7  0 13:22 ?        00:00:00 sh 
/opt/rocketmq-4.3.0/bin/runserver.sh org.apache.rocketmq.namesrv.NamesrvStartup
root        29     8  5 13:22 ?        00:00:02 /bin/java -Duser.home=/opt 
-server -Xms1154272460 -Xmx1154272460 -Xmn577136230 -XX:+UseConcMarkSweepGC 
-XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 
-XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 
-XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:-UseParNewGC -verbose:gc 
-Xloggc:/dev/shm/rmq_srv_gc.log -XX:+PrintGCDetails 
-XX:-OmitStackTraceInFastThrow -XX:-UseLargePages 
-Djava.ext.dirs=/jre/lib/ext:/opt/rocketmq-4.3.0/bin/../lib -cp 
.:/opt/rocketmq-4.3.0/bin/../conf: org.apache.rocketmq.namesrv.NamesrvStartup
root        68    52  0 13:23 pts/0    00:00:00 grep --color=auto namesrv
```

check namesrv container log:
```
[root@f3ac3f69d10f rocketmq-4.3.0]# tail -5 /opt/logs/rocketmqlogs/namesrv.log 
2018-08-27 21:22:33 INFO RemotingExecutorThread_1 - new topic registered, 
DefaultCluster QueueData [brokerName=581274ffc1b9, readQueueNums=16, 
writeQueueNums=16, perm=7, topicSynFlag=0]
2018-08-27 21:22:33 INFO RemotingExecutorThread_1 - new broker registered, 
172.17.0.3:10911 HAServer: 172.17.0.3:10912
2018-08-27 21:23:32 INFO NSScheduledThread1 - 
--------------------------------------------------------
2018-08-27 21:23:32 INFO NSScheduledThread1 - configTable SIZE: 0
2018-08-27 21:23:33 INFO RemotingExecutorThread_4 - new topic registered, 
RMQ_SYS_TRANS_HALF_TOPIC QueueData [brokerName=581274ffc1b9, readQueueNums=1, 
writeQueueNums=1, perm=6, topicSynFlag=0]
```
check broker container JAVA options:
```
huandeMacBook-Pro:4.3.0 huan$ docker exec -it 581274ffc1b9  bash
[root@581274ffc1b9 rocketmq-4.3.0]# ps -ef|grep broker
root         1     0  0 13:22 ?        00:00:00 /bin/sh -c cd 
${ROCKETMQ_HOME}/bin  && export JAVA_OPT=" -Duser.home=/opt"  && sh mqbroker
root         6     1  0 13:22 ?        00:00:00 sh mqbroker
root         7     6  0 13:22 ?        00:00:00 sh 
/opt/rocketmq-4.3.0/bin/runbroker.sh org.apache.rocketmq.broker.BrokerStartup
root        29     7 12 13:22 ?        00:00:20 /bin/java -Duser.home=/opt 
-server -Xms1154272460 -Xmx1154272460 -Xmn577136230 -XX:+UseG1GC 
-XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 
-XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0 
-XX:SurvivorRatio=8 -verbose:gc -Xloggc:/dev/shm/mq_gc_%p.log 
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime 
-XX:+PrintAdaptiveSizePolicy -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 
-XX:GCLogFileSize=30m -XX:-OmitStackTraceInFastThrow -XX:+AlwaysPreTouch 
-XX:MaxDirectMemorySize=1154272460 -XX:-UseLargePages -XX:-UseBiasedLocking 
-Djava.ext.dirs=/jre/lib/ext:/opt/rocketmq-4.3.0/bin/../lib -cp 
.:/opt/rocketmq-4.3.0/bin/../conf: org.apache.rocketmq.broker.BrokerStartup
root       103    88  0 13:25 pts/0    00:00:00 grep --color=auto broker
```

check broker container log:
```
[root@581274ffc1b9 rocketmq-4.3.0]#  tail -5 /opt/logs/rocketmqlogs/broker.log 
2018-08-27 21:24:43 INFO brokerOutApi_thread_3 - register broker to name server 
namesrv:9876 OK
2018-08-27 21:25:13 INFO brokerOutApi_thread_4 - register broker to name server 
namesrv:9876 OK
2018-08-27 21:25:42 INFO BrokerControllerScheduledThread1 - dispatch behind 
commit log 0 bytes
2018-08-27 21:25:42 INFO BrokerControllerScheduledThread1 - Slave fall behind 
master: 0 bytes
2018-08-27 21:25:43 INFO brokerOutApi_thread_1 - register broker to name server 
namesrv:9876 OK
```

### For docker-compose

#### Run:

```
cd 4.3.0
./play-docker-compose.sh

```
#### Check:
see the containers running:
```
huandeMacBook-Pro:4.3.0 huan$ docker ps
CONTAINER ID        IMAGE                                   COMMAND             
     CREATED             STATUS              PORTS                              
                  NAMES
4b4475a6a272        apache/rocketmq-broker:4.3.0-compose    "/bin/sh -c 'cd 
${RO…"   3 seconds ago       Up 2 seconds        0.0.0.0:10909->10909/tcp, 
0.0.0.0:10911->10911/tcp   rmqbroker
cfe9c0953030        apache/rocketmq-namesrv:4.3.0-compose   "/bin/sh -c 'cd 
${RO…"   4 seconds ago       Up 3 seconds        0.0.0.0:9876->9876/tcp         
                      rmqnamesrv
```

check namesrv container JAVA options:
```
huandeMacBook-Pro:4.3.0 huan$ docker exec -it cfe9c0953030 bash
[root@cfe9c0953030 rocketmq-4.3.0]# ps -ef|grep namesrv
root         1     0  0 13:26 ?        00:00:00 /bin/sh -c cd 
${ROCKETMQ_HOME}/bin  && export JAVA_OPT=" -Duser.home=/opt"  && sh mqnamesrv
root         7     1  0 13:26 ?        00:00:00 sh mqnamesrv
root         8     7  0 13:26 ?        00:00:00 sh 
/opt/rocketmq-4.3.0/bin/runserver.sh org.apache.rocketmq.namesrv.NamesrvStartup
root        29     8  6 13:26 ?        00:00:02 /bin/java -Duser.home=/opt 
-server -Xms1154272460 -Xmx1154272460 -Xmn577136230 -XX:+UseConcMarkSweepGC 
-XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=70 
-XX:+CMSParallelRemarkEnabled -XX:SoftRefLRUPolicyMSPerMB=0 
-XX:+CMSClassUnloadingEnabled -XX:SurvivorRatio=8 -XX:-UseParNewGC -verbose:gc 
-Xloggc:/dev/shm/rmq_srv_gc.log -XX:+PrintGCDetails 
-XX:-OmitStackTraceInFastThrow -XX:-UseLargePages 
-Djava.ext.dirs=/jre/lib/ext:/opt/rocketmq-4.3.0/bin/../lib -cp 
.:/opt/rocketmq-4.3.0/bin/../conf: org.apache.rocketmq.namesrv.NamesrvStartup
root        67    52  0 13:27 pts/0    00:00:00 grep --color=auto namesrv
```

check namesrv container log:
```
[root@cfe9c0953030 rocketmq-4.3.0]# tail -5 /opt/logs/rocketmqlogs/namesrv.log
2018-08-27 21:26:39 INFO RemotingExecutorThread_1 - new topic registered, 
BenchmarkTest QueueData [brokerName=4b4475a6a272, readQueueNums=1024, 
writeQueueNums=1024, perm=6, topicSynFlag=0]
2018-08-27 21:26:39 INFO RemotingExecutorThread_1 - new topic registered, 
OFFSET_MOVED_EVENT QueueData [brokerName=4b4475a6a272, readQueueNums=1, 
writeQueueNums=1, perm=6, topicSynFlag=0]
2018-08-27 21:26:39 INFO RemotingExecutorThread_1 - new topic registered, 
SELF_TEST_TOPIC QueueData [brokerName=4b4475a6a272, readQueueNums=1, 
writeQueueNums=1, perm=6, topicSynFlag=0]
2018-08-27 21:26:39 INFO RemotingExecutorThread_1 - new topic registered, 
DefaultCluster QueueData [brokerName=4b4475a6a272, readQueueNums=16, 
writeQueueNums=16, perm=7, topicSynFlag=0]
2018-08-27 21:26:39 INFO RemotingExecutorThread_1 - new broker registered, 
172.21.0.3:10911 HAServer: 172.21.0.3:10912
```
check broker container JAVA options:
```
[root@4b4475a6a272 rocketmq-4.3.0]# ps -ef|grep broker
root         1     0  0 13:26 ?        00:00:00 /bin/sh -c cd 
${ROCKETMQ_HOME}/bin  && export JAVA_OPT=" -Duser.home=/opt"  && sh mqbroker -n 
namesrv:9876
root         7     1  0 13:26 ?        00:00:00 sh mqbroker -n namesrv:9876
root         8     7  0 13:26 ?        00:00:00 sh 
/opt/rocketmq-4.3.0/bin/runbroker.sh org.apache.rocketmq.broker.BrokerStartup 
-n namesrv:9876
root        30     8 12 13:26 ?        00:00:15 /bin/java -Duser.home=/opt 
-server -Xms1154272460 -Xmx1154272460 -Xmn577136230 -XX:+UseG1GC 
-XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 
-XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0 
-XX:SurvivorRatio=8 -verbose:gc -Xloggc:/dev/shm/mq_gc_%p.log 
-XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime 
-XX:+PrintAdaptiveSizePolicy -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 
-XX:GCLogFileSize=30m -XX:-OmitStackTraceInFastThrow -XX:+AlwaysPreTouch 
-XX:MaxDirectMemorySize=1154272460 -XX:-UseLargePages -XX:-UseBiasedLocking 
-Djava.ext.dirs=/jre/lib/ext:/opt/rocketmq-4.3.0/bin/../lib -cp 
.:/opt/rocketmq-4.3.0/bin/../conf: org.apache.rocketmq.broker.BrokerStartup -n 
namesrv:9876
root       104    89  0 13:28 pts/0    00:00:00 grep --color=auto broker
```

check broker container log:
```
[root@4b4475a6a272 rocketmq-4.3.0]# tail -5 /opt/logs/rocketmqlogs/broker.log
2018-08-27 21:28:19 INFO brokerOutApi_thread_1 - register broker to name server 
namesrv:9876 OK
2018-08-27 21:28:49 INFO BrokerControllerScheduledThread1 - dispatch behind 
commit log 0 bytes
2018-08-27 21:28:49 INFO BrokerControllerScheduledThread1 - Slave fall behind 
master: 0 bytes
2018-08-27 21:28:49 INFO brokerOutApi_thread_2 - register broker to name server 
namesrv:9876 OK
2018-08-27 21:29:19 INFO brokerOutApi_thread_3 - register broker to name server 
namesrv:9876 OK
```

Follow this checklist to help us incorporate your contribution quickly and 
easily:

- [x] Make sure there is a Github issue filed for the change (usually before 
you start working on it). Trivial changes like typos do not require a Github 
issue. Your pull request should address just this issue, without pulling in 
other changes - one PR resolves one issue. 
- [x] Format the pull request title like `[ISSUE #123] Fix UnknownException 
when host config not exist`. Each commit in the pull request should have a 
meaningful subject line and body.
- [x] Write a pull request description that is detailed enough to understand 
what the pull request does, how, and why.
- [x] Write necessary unit-test to verify your logic correction, more mock a 
little better when cross module dependency exist. If the new feature or 
significant change is committed, please remember to add integration-test in 
[test module](https://github.com/apache/rocketmq/tree/master/test).
- [x] Run `mvn -B clean apache-rat:check findbugs:findbugs 
checkstyle:checkstyle` to make sure basic checks pass. Run `mvn clean install 
-DskipITs` to make sure unit-test pass. Run `mvn clean test-compile 
failsafe:integration-test`  to make sure integration-test pass.
- [x] If this contribution is large, please file an [Apache Individual 
Contributor License Agreement](http://www.apache.org/licenses/#clas).

[ Full content available at: 
https://github.com/apache/rocketmq-externals/pull/106 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to