[GitHub] incubator-rocketmq pull request #97: fix consumeTimestamp and wrong consumeT...

2017-04-24 Thread lindzh
GitHub user lindzh opened a pull request:

https://github.com/apache/incubator-rocketmq/pull/97

fix consumeTimestamp and wrong consumeTimestamp exception message

When I want to consume message,I use the following code,
```
consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
consumer.setConsumeTimestamp("2017_0422_235500");
```
and I got the tip,
```
Exception in thread "main" 
org.apache.rocketmq.client.exception.MQClientException: consumeTimestamp is 
invalid, _MMDD_HHMMSS
See http://rocketmq.apache.org/docs/faq/ for further details.
at 
org.apache.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl.checkConfig(DefaultMQPushConsumerImpl.java:661)
```
The right answer is MMddHHmmss but the response is _MMDD_HHMMSS,I 
think the tip is misleading our judgments.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lindzh/incubator-rocketmq fix_consume_time

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rocketmq/pull/97.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #97


commit 9acd59f89c730630d844c6f35c137ac60be7ac16
Author: dezhi.ldz 
Date:   2017-04-24T11:35:36Z

fix consumeTimestamp and wrong consumeTimestamp exception message




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq-site pull request #10: add batch broadcast arc and schedu...

2017-04-24 Thread lindzh
GitHub user lindzh opened a pull request:

https://github.com/apache/incubator-rocketmq-site/pull/10

add batch broadcast arc and schedule example document

Add batch message,broadcast receving,simple message and ordered message 
example.
and add deploy and architecture document.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lindzh/incubator-rocketmq-site example

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rocketmq-site/pull/10.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #10


commit 553dd2922eb46d9e2183404698a34e080f98bd2a
Author: dezhi.ldz 
Date:   2017-04-24T15:17:03Z

add batch broadcast arc and schedule example document




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #97: fix consumeTimestamp and wrong consumeTimestam...

2017-04-25 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/97
  
Thanks for vsair's advice to get more familiar with the apache way.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #99: Correct comment information

2017-04-25 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/99
  
Very pleased to see your contribution.But could you please create an issue 
at 
https://issues.apache.org/jira/browse/ROCKETMQ/?selectedTab=com.atlassian.jira.jira-projects-plugin:issues-panel?
 And also rename this pull request title, like, [ROCKETMQ-XXX] as the issue id?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq-externals pull request #21: add log appender support

2017-05-08 Thread lindzh
GitHub user lindzh opened a pull request:

https://github.com/apache/incubator-rocketmq-externals/pull/21

add log appender support

As Rocketmq is widely used,a log appender is also needed

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lindzh/incubator-rocketmq-externals 
log-appender

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rocketmq-externals/pull/21.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #21


commit cc366d7b37fafb71ad9ad0415035c6fa5ad96752
Author: 鲁般 
Date:   2017-05-08T12:19:27Z

add log appender support




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq-externals pull request #21: add log appender support

2017-05-09 Thread lindzh
Github user lindzh closed the pull request at:

https://github.com/apache/incubator-rocketmq-externals/pull/21


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq-externals issue #21: add log appender support

2017-05-09 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq-externals/pull/21
  
moved to rocketmq


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #101: [ROCKETMQ-194] log appender support

2017-05-09 Thread lindzh
GitHub user lindzh opened a pull request:

https://github.com/apache/incubator-rocketmq/pull/101

[ROCKETMQ-194] log appender support

As Rocketmq is widely used,A log appender is also necessary.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lindzh/incubator-rocketmq log_appender

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rocketmq/pull/101.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #101






---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #101: [ROCKETMQ-194] log appender support

2017-05-09 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/101#discussion_r115482303
  
--- Diff: style/rmq_checkstyle.xml ---
@@ -30,6 +30,12 @@
 
 
 
+
+
+
+
--- End diff --

Old check style is not supported When we add a file such as properties 
config file.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #101: [ROCKETMQ-194] log appender support

2017-05-09 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/101#discussion_r115482388
  
--- Diff: 
logappender/src/main/java/org/apache/rocketmq/logappender/log4j/RocketmqLog4jAppender.java
 ---
@@ -0,0 +1,193 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.rocketmq.logappender.log4j;
+
+import org.apache.rocketmq.common.message.Message;
+import org.apache.rocketmq.logappender.common.ProducerInstance;
+import org.apache.log4j.AppenderSkeleton;
+import org.apache.log4j.helpers.LogLog;
+import org.apache.log4j.spi.ErrorCode;
+import org.apache.log4j.spi.LoggingEvent;
+import org.apache.rocketmq.client.producer.MQProducer;
+
+/**
+ * Log4j Appender Component
+ */
+public class RocketmqLog4jAppender extends AppenderSkeleton {
+
+/**
+ * appended message tag define
--- End diff --

ok


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #101: [ROCKETMQ-194] log appender support

2017-05-10 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/101
  
@lizhanhui ,When we print the log to rocketmq  provided for big data 
processing, developers usually need to write their own appender.I think this is 
very ordinary.Why not provide them as a core component


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #97: [ROCKETMQ-189] Misleading tip on consumeTimest...

2017-05-10 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/97
  
Providing a user-friendly feedback makes our component use more easily.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #66: [ROCKETMQ-106] Add flow control on topic level

2017-05-10 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/66
  
This is a good idea to avoid overloading


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #101: [ROCKETMQ-194] log appender support

2017-05-11 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/101
  
readme has ben removed


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #101: [ROCKETMQ-194] log appender support

2017-05-11 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/101#discussion_r116140905
  
--- Diff: 
logappender/src/main/java/org/apache/rocketmq/logappender/logback/RocketmqLogbackAppender.java
 ---
@@ -0,0 +1,184 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.rocketmq.logappender.logback;
+
+import ch.qos.logback.classic.net.LoggingEventPreSerializationTransformer;
+import ch.qos.logback.classic.spi.ILoggingEvent;
+import ch.qos.logback.core.AppenderBase;
+import ch.qos.logback.core.Layout;
+import ch.qos.logback.core.spi.PreSerializationTransformer;
+import ch.qos.logback.core.status.ErrorStatus;
+import org.apache.rocketmq.common.message.Message;
+import org.apache.rocketmq.logappender.common.ProducerInstance;
+import org.apache.rocketmq.client.producer.MQProducer;
+
+/**
+ * Logack Appender Component
+ */
+public class RocketmqLogbackAppender extends AppenderBase {
+
+/**
+ * Appended message tag define
+ */
+private String tag;
+
+/**
+ * Whitch topic to send log messages
+ */
+private String topic;
+
+/**
+ * Rokcetmq nameserver address
--- End diff --

fixed


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #101: [ROCKETMQ-194] log appender support

2017-05-11 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/101#discussion_r116141459
  
--- Diff: 
logappender/src/main/java/org/apache/rocketmq/logappender/log4j2/RocketmqLog4j2Appender.java
 ---
@@ -0,0 +1,232 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.rocketmq.logappender.log4j2;
+
+import org.apache.logging.log4j.core.config.plugins.Plugin;
+import org.apache.logging.log4j.core.config.plugins.PluginBuilderAttribute;
+import org.apache.logging.log4j.core.config.plugins.PluginBuilderFactory;
+import org.apache.logging.log4j.core.config.plugins.PluginElement;
+import org.apache.rocketmq.common.message.Message;
+import org.apache.rocketmq.logappender.common.ProducerInstance;
+import org.apache.logging.log4j.core.ErrorHandler;
+import org.apache.logging.log4j.core.Filter;
+import org.apache.logging.log4j.core.Layout;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.appender.AbstractAppender;
+import 
org.apache.logging.log4j.core.config.plugins.validation.constraints.Required;
+import org.apache.logging.log4j.core.layout.SerializedLayout;
+import org.apache.rocketmq.client.producer.MQProducer;
+
+import java.io.Serializable;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Log4j2 Appender Component
+ */
+@Plugin(
+name = "Rocketmq",
+category = "Core",
--- End diff --

It's Core,write as log4j2 JMSAppender,refer 
https://github.com/apache/logging-log4j2/blob/dbd2d252a1b4139a9bd9eb213c89f28498db6dcf/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/JmsAppender.java,
has ben fix to constant.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #101: [ROCKETMQ-194] log appender support

2017-05-15 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/101#discussion_r116638805
  
--- Diff: 
logappender/src/main/java/org/apache/rocketmq/logappender/common/ProducerInstance.java
 ---
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.rocketmq.logappender.common;
+
+import org.apache.rocketmq.client.exception.MQClientException;
+import org.apache.rocketmq.client.producer.DefaultMQProducer;
+import org.apache.rocketmq.client.producer.MQProducer;
+
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * Common Producer component
+ */
+public class ProducerInstance {
+
+public static final String APPENDER_TYPE = "APPENDER_TYPE";
+
+public static final String LOG4J_APPENDER = "LOG4J_APPENDER";
+
+public static final String LOG4J2_APPENDER = "LOG4J2_APPENDER";
+
+public static final String LOGBACK_APPENDER = "LOGBACK_APPENDER";
+
+public static final String DEFAULT_GROUP = "rocketmq_appender";
+
+private static ConcurrentHashMap producerMap = new 
ConcurrentHashMap();
+
+private static String genKey(String nameServerAddress, String group) {
+return nameServerAddress + "_" + group;
+}
+
+
+public static MQProducer getInstance(String nameServerAddress, String 
group) throws MQClientException {
+if (group == null) {
+group = DEFAULT_GROUP;
+}
+
+String genKey = genKey(nameServerAddress, group);
+MQProducer p = producerMap.get(genKey);
+if (p != null) {
+return p;
+}
+
+DefaultMQProducer defaultMQProducer = new DefaultMQProducer(group);
+defaultMQProducer.setNamesrvAddr(nameServerAddress);
+MQProducer beforeProducer = null;
+//cas put producer
+synchronized (producerMap) {
+beforeProducer = producerMap.putIfAbsent(genKey, 
defaultMQProducer);
+}
+if (beforeProducer != null) {
+return beforeProducer;
+}
+defaultMQProducer.start();
+return defaultMQProducer;
+}
+
+
+public static void removeAndClose(String nameServerAddress, String 
group) {
+if (group == null) {
+group = DEFAULT_GROUP;
+}
+String genKey = genKey(nameServerAddress, group);
+MQProducer producer = producerMap.get(genKey);
--- End diff --

Yes,makes it more simple.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #101: [ROCKETMQ-194] log appender support

2017-05-15 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/101#discussion_r116641020
  
--- Diff: 
logappender/src/main/java/org/apache/rocketmq/logappender/common/ProducerInstance.java
 ---
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.rocketmq.logappender.common;
+
+import org.apache.rocketmq.client.exception.MQClientException;
+import org.apache.rocketmq.client.producer.DefaultMQProducer;
+import org.apache.rocketmq.client.producer.MQProducer;
+
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * Common Producer component
+ */
+public class ProducerInstance {
+
+public static final String APPENDER_TYPE = "APPENDER_TYPE";
+
+public static final String LOG4J_APPENDER = "LOG4J_APPENDER";
+
+public static final String LOG4J2_APPENDER = "LOG4J2_APPENDER";
+
+public static final String LOGBACK_APPENDER = "LOGBACK_APPENDER";
+
+public static final String DEFAULT_GROUP = "rocketmq_appender";
+
+private static ConcurrentHashMap producerMap = new 
ConcurrentHashMap();
+
+private static String genKey(String nameServerAddress, String group) {
+return nameServerAddress + "_" + group;
+}
+
+
+public static MQProducer getInstance(String nameServerAddress, String 
group) throws MQClientException {
+if (group == null) {
+group = DEFAULT_GROUP;
+}
+
+String genKey = genKey(nameServerAddress, group);
+MQProducer p = producerMap.get(genKey);
+if (p != null) {
+return p;
+}
+
+DefaultMQProducer defaultMQProducer = new DefaultMQProducer(group);
+defaultMQProducer.setNamesrvAddr(nameServerAddress);
+MQProducer beforeProducer = null;
+//cas put producer
+synchronized (producerMap) {
--- End diff --

As log initlizer is serializable,there is no need to user synchronized


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #101: [ROCKETMQ-194] log appender support

2017-05-15 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/101#discussion_r116641839
  
--- Diff: 
logappender/src/main/java/org/apache/rocketmq/logappender/common/ProducerInstance.java
 ---
@@ -0,0 +1,96 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.rocketmq.logappender.common;
+
+import org.apache.rocketmq.client.exception.MQClientException;
+import org.apache.rocketmq.client.producer.DefaultMQProducer;
+import org.apache.rocketmq.client.producer.MQProducer;
+
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * Common Producer component
+ */
+public class ProducerInstance {
+
+public static final String APPENDER_TYPE = "APPENDER_TYPE";
+
+public static final String LOG4J_APPENDER = "LOG4J_APPENDER";
+
+public static final String LOG4J2_APPENDER = "LOG4J2_APPENDER";
+
+public static final String LOGBACK_APPENDER = "LOGBACK_APPENDER";
+
+public static final String DEFAULT_GROUP = "rocketmq_appender";
+
+private static ConcurrentHashMap producerMap = new 
ConcurrentHashMap();
+
+private static String genKey(String nameServerAddress, String group) {
+return nameServerAddress + "_" + group;
+}
+
+
+public static MQProducer getInstance(String nameServerAddress, String 
group) throws MQClientException {
+if (group == null) {
+group = DEFAULT_GROUP;
+}
+
+String genKey = genKey(nameServerAddress, group);
+MQProducer p = producerMap.get(genKey);
+if (p != null) {
+return p;
--- End diff --

As log initlizer is serializable,if it has ben started before,it must be 
started.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq-externals issue #22: Go-Client's implement

2017-05-16 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq-externals/pull/22
  
+1


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #106: [ROCKETMQ-202] Using the native transport

2017-05-17 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/106
  
Is there any performance data when change to Epoll?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #101: [ROCKETMQ-194] log appender support

2017-06-04 Thread lindzh
Github user lindzh closed the pull request at:

https://github.com/apache/incubator-rocketmq/pull/101


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #117: [ROCKETMQ-215]-Use java 7 syntax to re...

2017-06-07 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/117#discussion_r120603647
  
--- Diff: 
logappender/src/main/java/org/apache/rocketmq/logappender/common/ProducerInstance.java
 ---
@@ -39,7 +39,7 @@
 
 public static final String DEFAULT_GROUP = "rocketmq_appender";
 
-private static ConcurrentHashMap producerMap = new 
ConcurrentHashMap();
--- End diff --

There is log4j2 implementation in logappender.Since log4j2 not supported 
jdk 1.6,logappender do not need to be compatible.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq-site pull request #18: [ROCKETMQ-194]Add logappender exam...

2017-06-08 Thread lindzh
GitHub user lindzh opened a pull request:

https://github.com/apache/incubator-rocketmq-site/pull/18

[ROCKETMQ-194]Add logappender example

add logappender example

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lindzh/incubator-rocketmq-site logappender

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rocketmq-site/pull/18.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #18


commit 833ade9091eca6467d498c457ee67310f27a18ee
Author: 鲁般 
Date:   2017-06-08T13:19:26Z

add logappender example




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #120: [ROCKETMQ-224] add rocketmq client log...

2017-06-15 Thread lindzh
GitHub user lindzh opened a pull request:

https://github.com/apache/incubator-rocketmq/pull/120

[ROCKETMQ-224] add rocketmq client log4j2 logging support

When using RocketMQ client,we can only using logback or log4j for logging. 
If we using log4j2,there is no client log.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lindzh/incubator-rocketmq fix_client_logger

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rocketmq/pull/120.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #120


commit 4b4666a5b3279d66bbc1406ec9537b3383c0cdcc
Author: 鲁般 
Date:   2017-06-15T07:31:52Z

add rocketmq client log4j2 logging support




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #120: [ROCKETMQ-224] add rocketmq client log...

2017-06-15 Thread lindzh
Github user lindzh closed the pull request at:

https://github.com/apache/incubator-rocketmq/pull/120


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #120: [ROCKETMQ-224] add rocketmq client log...

2017-06-15 Thread lindzh
GitHub user lindzh reopened a pull request:

https://github.com/apache/incubator-rocketmq/pull/120

[ROCKETMQ-224] add rocketmq client log4j2 logging support

When using RocketMQ client,we can only using logback or log4j for logging. 
If we using log4j2,there is no client log.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lindzh/incubator-rocketmq fix_client_logger

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rocketmq/pull/120.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #120


commit 4b4666a5b3279d66bbc1406ec9537b3383c0cdcc
Author: 鲁般 
Date:   2017-06-15T07:31:52Z

add rocketmq client log4j2 logging support




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #126: [ROCKETMQ-231] fix pull consumer pull ...

2017-06-23 Thread lindzh
GitHub user lindzh opened a pull request:

https://github.com/apache/incubator-rocketmq/pull/126

[ROCKETMQ-231] fix pull consumer pull result size

When using PullConsumer pull message by default result size is 32,and 
messages is more than 32 in a queue,but broker always returns 31.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lindzh/incubator-rocketmq 
fix_consumer_pull_msg_size

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rocketmq/pull/126.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #126


commit 1d27251df0265e19397cffc1ee5098e12bc4cd0d
Author: lindzh 
Date:   2017-06-23T10:56:49Z

fix pull consumer pull result size




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #120: [ROCKETMQ-224] add rocketmq client log...

2017-06-25 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/120#discussion_r123936939
  
--- Diff: client/pom.xml ---
@@ -37,13 +37,31 @@
 ${project.groupId}
 rocketmq-common
 
+
 
 org.slf4j
 slf4j-api
 
+
 
 org.apache.commons
 commons-lang3
 
+
+
+org.apache.logging.log4j
+log4j-core
+test
+
+
+org.apache.logging.log4j
+log4j-api
+test
+
+
+org.apache.logging.log4j
+log4j-slf4j-impl
--- End diff --

As log4j is widely used in example,add this test in example will make it 
confused to choose log moudle.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #128: [ROCKETMQ-234] bugfix - broker will write res...

2017-06-29 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/128
  
+1
Great! This is indeed buggy.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #126: [ROCKETMQ-231] fix pull consumer pull ...

2017-06-29 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/126#discussion_r124758258
  
--- Diff: 
test/src/test/java/org/apache/rocketmq/test/client/consumer/pull/PullSizeTest.java
 ---
@@ -0,0 +1,135 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 
implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+
+package org.apache.rocketmq.test.client.consumer.pull;
+
+import org.apache.log4j.Logger;
+import org.apache.rocketmq.client.consumer.DefaultMQPullConsumer;
+import org.apache.rocketmq.client.consumer.PullResult;
+import org.apache.rocketmq.client.exception.MQClientException;
+import org.apache.rocketmq.client.producer.DefaultMQProducer;
+import org.apache.rocketmq.client.producer.SendResult;
+import org.apache.rocketmq.client.producer.SendStatus;
+import org.apache.rocketmq.common.message.Message;
+import org.apache.rocketmq.common.message.MessageExt;
+import org.apache.rocketmq.common.message.MessageQueue;
+import org.apache.rocketmq.remoting.common.RemotingHelper;
+import org.apache.rocketmq.test.base.BaseConf;
+import org.apache.rocketmq.test.base.IntegrationTestBase;
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.nio.channels.Pipe;
+import java.util.*;
+
+public class PullSizeTest extends BaseConf {
+
+private static Logger logger = Logger.getLogger(PullSizeTest.class);
+
+private static final Map OFFSE_TABLE = new 
HashMap();
+
+public static final String PULL_SIZE_TOPIC = "TopicPullTest";
+
+public static final String PULL_SIZE_GROUP = "pullSizeTest";
+
+public boolean send() throws MQClientException, InterruptedException {
+DefaultMQProducer producer = new 
DefaultMQProducer(PULL_SIZE_GROUP);
+producer.setNamesrvAddr(nsAddr);
+producer.start();
+int successCount = 0;
+for (int i = 0; i < 1000; i++) {
+try {
+Message msg = new Message(PULL_SIZE_TOPIC, "TagA", 
("RocketMQ pull size test index " + 
i).getBytes(RemotingHelper.DEFAULT_CHARSET));
+SendResult sendResult = producer.send(msg);
+if (sendResult.getSendStatus().equals(SendStatus.SEND_OK)) 
{
+successCount++;
+}
+} catch (Exception e) {
+e.printStackTrace();
+Thread.sleep(500);
+}
+}
+producer.shutdown();
+if (successCount > 800) {
--- End diff --

This test case has removed and add new unit test in store.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #120: [ROCKETMQ-224] add rocketmq client log...

2017-06-29 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/120#discussion_r124972804
  
--- Diff: 
client/src/test/java/org/apache/rocketmq/client/log/ClientLogTest.java ---
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.rocketmq.client.log;
+
+import org.junit.Test;
+
+import java.util.Date;
+
+public class ClientLogTest {
+
+@Test
+public void testLog4j2() {
+ClientLogger.getLog().info("logg4j test " + new Date());
--- End diff --

Assert has been added.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #126: [ROCKETMQ-231] fix pull consumer pull ...

2017-07-02 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/126#discussion_r125196481
  
--- Diff: 
store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java ---
@@ -1110,7 +1110,7 @@ private boolean isTheBatchFull(int sizePy, int 
maxMsgNums, int bufferTotal, int
 return false;
 }
 
-if ((messageTotal + 1) >= maxMsgNums) {
--- End diff --

Yet,That a good idea to make code clean


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #129: [ROCKETMQ-239]fix query message by tim...

2017-07-05 Thread lindzh
GitHub user lindzh opened a pull request:

https://github.com/apache/incubator-rocketmq/pull/129

[ROCKETMQ-239]fix query message by time and fix get queue offset by time

When using queryMessageByTime or searchOffsetByTime or resetOffsetByTime , 
DefaultMessageStore return offset is not so accurate as we want.

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lindzh/incubator-rocketmq 
fix_query_message_by_time

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rocketmq/pull/129.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #129


commit c37adb566f7c0ee9920def4e9cfd02579e6ce4cf
Author: lindzh 
Date:   2017-07-06T06:44:22Z

fix query message by time and fix get queue offset by time




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #140: [ROCKETMQ-253]Compress RegisterBrokerBody

2017-07-30 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/140
  
Wonderfull,it's a good idea to make package smaller.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #141: [ROCKETMQ-254] fix logger appender uni...

2017-07-31 Thread lindzh
GitHub user lindzh opened a pull request:

https://github.com/apache/incubator-rocketmq/pull/141

[ROCKETMQ-254] fix logger appender unit test too long with mock

LoggerAppender unit test cost much time, and in some cases it may cause 
test failure,fix this case this mockito.


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lindzh/incubator-rocketmq logger_appender_test

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rocketmq/pull/141.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #141


commit 42075612f2f103c2df54475e93c8ebfb5d6de133
Author: lindzh 
Date:   2017-07-31T09:58:27Z

fix logger appender unit test too long with mock




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #120: [ROCKETMQ-224] add rocketmq client log...

2017-08-01 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/120#discussion_r130544050
  
--- Diff: 
client/src/main/java/org/apache/rocketmq/client/log/ClientLogger.java ---
@@ -27,16 +28,19 @@
 public static final String CLIENT_LOG_ROOT = "rocketmq.client.logRoot";
 public static final String CLIENT_LOG_MAXINDEX = 
"rocketmq.client.logFileMaxIndex";
 public static final String CLIENT_LOG_LEVEL = 
"rocketmq.client.logLevel";
+
 private static Logger log;
 
-static {
-log = createLogger(LoggerName.CLIENT_LOGGER_NAME);
+public static Class logClass = null;
--- End diff --

Fixed it with reflect


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #141: [ROCKETMQ-254] fix logger appender uni...

2017-08-01 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/141#discussion_r130553480
  
--- Diff: 
logappender/src/main/java/org/apache/rocketmq/logappender/common/ProducerInstance.java
 ---
@@ -61,7 +68,7 @@ public static MQProducer getInstance(String 
nameServerAddress, String group) thr
 defaultMQProducer.setNamesrvAddr(nameServerAddress);
 MQProducer beforeProducer = null;
 //cas put producer
--- End diff --

This comment has been deleted.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #126: [ROCKETMQ-231] fix pull consumer pull ...

2017-08-01 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/126#discussion_r130558354
  
--- Diff: 
store/src/main/java/org/apache/rocketmq/store/DefaultMessageStore.java ---
@@ -1110,7 +1110,7 @@ private boolean isTheBatchFull(int sizePy, int 
maxMsgNums, int bufferTotal, int
 return false;
 }
 
-if ((messageTotal + 1) >= maxMsgNums) {
--- End diff --

Yes,this problem has been fixed to maxMsgNums <= messageTotal


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #143: [ROCKETMQ-256] Clean commit log files manuall...

2017-08-09 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/143
  
Thanks for contribution. As force delete may cause message lost,how about 
add a warnning in command help? And also add a monitor disk usage tool command 
for check.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #141: [ROCKETMQ-254] fix logger appender uni...

2017-08-10 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/141#discussion_r132391646
  
--- Diff: 
logappender/src/main/java/org/apache/rocketmq/logappender/common/ProducerInstance.java
 ---
@@ -70,24 +76,28 @@ public static MQProducer getInstance(String 
nameServerAddress, String group) thr
 }
 
 
-public static void removeAndClose(String nameServerAddress, String 
group) {
+public void removeAndClose(String nameServerAddress, String group) {
 if (group == null) {
 group = DEFAULT_GROUP;
 }
 String genKey = genKey(nameServerAddress, group);
-MQProducer producer = producerMap.remove(genKey);
+MQProducer producer = 
getProducerInstance().producerMap.remove(genKey);
 
 if (producer != null) {
 producer.shutdown();
 }
 }
 
-public static void closeAll() {
-Set> entries = 
producerMap.entrySet();
+public void closeAll() {
+Set> entries = 
getProducerInstance().producerMap.entrySet();
 for (Map.Entry entry : entries) {
-producerMap.remove(entry.getKey());
+getProducerInstance().producerMap.remove(entry.getKey());
 entry.getValue().shutdown();
 }
 }
 
+public static void setInstance(ProducerInstance instance1) {
--- End diff --

Yes ,it is dangerous for only test and this problem has been fixed with 
reflect.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #144: [ROCKETMQ-257] name server address and...

2017-08-10 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/144#discussion_r132393089
  
--- Diff: 
client/src/main/java/org/apache/rocketmq/client/impl/factory/MQClientInstance.java
 ---
@@ -225,10 +225,13 @@ public void start() throws MQClientException {
 switch (this.serviceState) {
 case CREATE_JUST:
 this.serviceState = ServiceState.START_FAILED;
-// If not specified,looking address from name server
-if (null == this.clientConfig.getNamesrvAddr()) {
+// name server address and web server address should 
be specified at least one
+if (null == this.clientConfig.getNamesrvAddr() && 
MixAll.getWSAddr().equals(MixAll.WS_ADDR)) {
+throw new MQClientException("name server address 
and web server address should be specified at least one.", null);
--- End diff --

What if someone want to use default wsaddr?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #126: [ROCKETMQ-231] fix pull consumer pull ...

2017-08-10 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/126#discussion_r132622123
  
--- Diff: 
store/src/test/java/org/apache/rocketmq/store/DefaultMessageStoreTest.java ---
@@ -45,19 +47,22 @@ public void init() throws Exception {
 BornHost = new 
InetSocketAddress(InetAddress.getByName("127.0.0.1"), 0);
 }
 
+public MessageStore buildMessageStore() throws Exception {
+MessageStoreConfig messageStoreConfig = new MessageStoreConfig();
+messageStoreConfig.setMapedFileSizeCommitLog(1024 * 1024 * 10);
+messageStoreConfig.setMapedFileSizeConsumeQueue(1024 * 1024 * 10);
+messageStoreConfig.setMaxHashSlotNum(1);
+messageStoreConfig.setMaxIndexNum(100 * 100);
+messageStoreConfig.setFlushDiskType(FlushDiskType.ASYNC_FLUSH);
+return new DefaultMessageStore(messageStoreConfig, new 
BrokerStatsManager("simpleTest"), new MyMessageArrivingListener(), new 
BrokerConfig());
--- End diff --

Indeed this is a must after testing,and this bug has been fix in PR 
https://github.com/apache/incubator-rocketmq/pull/141 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #126: [ROCKETMQ-231] fix pull consumer pull ...

2017-08-11 Thread lindzh
Github user lindzh closed the pull request at:

https://github.com/apache/incubator-rocketmq/pull/126


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #141: [ROCKETMQ-254] fix logger appender uni...

2017-08-11 Thread lindzh
Github user lindzh closed the pull request at:

https://github.com/apache/incubator-rocketmq/pull/141


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #145: [ROCKETMQ-264] Fix unit test cost too ...

2017-08-11 Thread lindzh
GitHub user lindzh opened a pull request:

https://github.com/apache/incubator-rocketmq/pull/145

[ROCKETMQ-264] Fix unit test cost too long and exception in unit test

When run mvn test , it cost too much time and some times there is exception 
in unit test and the test result is pass

JIRA ticket https://issues.apache.org/jira/browse/ROCKETMQ-264

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lindzh/incubator-rocketmq fix_test_exeception

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rocketmq/pull/145.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #145


commit bcc65e5471d9821e0edb90f6f637e3034ed1da44
Author: lindzh 
Date:   2017-08-11T06:36:53Z

[ROCKETMQ-231]Wrong Pull result sizebugfix

Author: lindzh 

Closes #126 from lindzh/fix_consumer_pull_msg_size.

commit aa1c75774eb33fca9a1c3f036249b6c5b86ef0f5
Author: lindzh 
Date:   2017-08-11T07:40:24Z

[ROCKETMQ-254]Fix logger appender unit tests which cost too long

Author: lindzh 

Closes #141 from lindzh/logger_appender_test.

commit 1ae0693693da4a147f1bb3c122833f548c376b09
Author: lindzh 
Date:   2017-08-11T07:55:24Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit 91a3ec9d2b2e3fa2942c6c45f28b4ccd8ee71041
Author: lindzh 
Date:   2017-08-11T09:30:07Z

Fix unit test,delete invalid test and make test cost less time




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #147: [ROCKETMQ-266] Add a specific Exception messa...

2017-08-15 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/147
  
While consumeThreadMin is specified by a range,why not add consumeThreadMax 
to a range too?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #145: [ROCKETMQ-264]Fix unit test cost too l...

2017-08-15 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/145#discussion_r133344416
  
--- Diff: 
broker/src/test/java/org/apache/rocketmq/broker/filter/MessageStoreWithFilterTest.java
 ---
@@ -76,6 +86,24 @@
 }
 }
 
+@Before
+public void init() {
+filterManager = ConsumerFilterManagerTest.gen(topicCount, 
msgPerTopic);
+try {
+master = gen(filterManager);
+} catch (Exception e) {
+e.printStackTrace();
--- End diff --

Yep,that's a good idea and this exception will be fixed at next commit.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #148: [ROCKETMQ-269] don’t need cal.setTimeInMill...

2017-08-21 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/148
  
Agree,there is no need to add unit test for this change. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #150: * return an expression when a function has no...

2017-08-22 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/150
  
Thanks for contribution.
Please add a jira issue and modify the pr title to make it complete 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #152: [ROCKETMQ-278]add clusterlist cmd by s...

2017-08-24 Thread lindzh
GitHub user lindzh opened a pull request:

https://github.com/apache/incubator-rocketmq/pull/152

[ROCKETMQ-278]add clusterlist cmd by specified cluster

When using mqadmin command clusterlist,it always display all cluster,i want 
to display specified cluster.
JIRA: https://issues.apache.org/jira/browse/ROCKETMQ-278

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lindzh/incubator-rocketmq 
add_clusterlist_cluster

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rocketmq/pull/152.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #152


commit bcc65e5471d9821e0edb90f6f637e3034ed1da44
Author: lindzh 
Date:   2017-08-11T06:36:53Z

[ROCKETMQ-231]Wrong Pull result sizebugfix

Author: lindzh 

Closes #126 from lindzh/fix_consumer_pull_msg_size.

commit aa1c75774eb33fca9a1c3f036249b6c5b86ef0f5
Author: lindzh 
Date:   2017-08-11T07:40:24Z

[ROCKETMQ-254]Fix logger appender unit tests which cost too long

Author: lindzh 

Closes #141 from lindzh/logger_appender_test.

commit 1ae0693693da4a147f1bb3c122833f548c376b09
Author: lindzh 
Date:   2017-08-11T07:55:24Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit 38bbb1417bcd8bba6eee19df1afe9e6b3061db89
Author: yukon 
Date:   2017-08-11T09:27:06Z

[ROCKETMQ-263]Sets a small timeout value for unit tests in OpenMessaging 
module

commit ccc2235ae9509f101971915ba0521109a82894b0
Author: yukon 
Date:   2017-08-11T09:54:04Z

[ROCKETMQ-258]Move benchmark scripts to distribution module

commit f0e243c5a8899fedc157accef964a1d617d77d1b
Author: lindzh 
Date:   2017-08-11T10:02:36Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit ffad6566b8aee86b87b34f2c77ab2ae3b9c15b1c
Author: Ritabrata Moitra 
Date:   2017-08-11T11:59:28Z

[ROCKETMQ-209]Remove duplicated code in class MQClientAPIImpl

Author: Ritabrata Moitra 

Closes #134 from Ritabrata-TW/master.

commit 7f96008c8b6f3ce5ac38cd168bd12252799973e3
Author: yukon 
Date:   2017-08-11T12:28:13Z

Remove unused class GetRouteInfoResponseHeader and meaningless comments

commit 97aa813eb89c14e0539a8847876d7a28a1efe638
Author: yukon 
Date:   2017-08-11T12:46:04Z

Reformat code globally second time

commit f091203a9d4a8c79d6ec8bdfc719a318b7f1ba8f
Author: yukon 
Date:   2017-08-11T13:56:52Z

Remove preceded whitespace check from checkstyle

commit f613c3b7dfefc1cea15d8aa22fec763995a624e7
Author: yukon 
Date:   2017-08-11T11:15:38Z

[ROCKETMQ-259]Fix too many reflection calls when decode remoting command 
header

commit 332df78e2bb6caadfc6f471445ebb1f9d224
Author: yukon 
Date:   2017-08-11T14:17:32Z

[ROCKETMQ-261] Use write lock when destroy IndexService

commit 1810be4c560767b83ff173e6fb6a96d4ac7c1428
Author: lindzh 
Date:   2017-08-14T02:11:27Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit ca14a2d474b6c71143944ec95f7c28e23e15632d
Author: yukon 
Date:   2017-08-21T08:18:21Z

Polish chapter 'Learn it & Contact us' in README

commit 53dcd8d0837eee419810f055a4035d3fdd72513f
Author: lindzh 
Date:   2017-08-22T12:34:49Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit aacb19c2ac0f10b27aec609cc5b56f314b10f82e
Author: lindzh 
Date:   2017-08-23T03:26:15Z

add cluster list to specified cluster

commit 2df4cfc7dc3a59374251b5ac60cc76f536f97d89
Author: lindzh 
Date:   2017-08-24T08:31:55Z

add cluster info test




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #145: [ROCKETMQ-264]Fix unit test cost too l...

2017-08-24 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/145#discussion_r134974332
  
--- Diff: 
broker/src/test/java/org/apache/rocketmq/broker/filter/MessageStoreWithFilterTest.java
 ---
@@ -201,177 +229,143 @@ public void dispatch(DispatchRequest request) {
 
 @Test
 public void testGetMessage_withFilterBitMapAndConsumerChanged() {
-int topicCount = 10, msgPerTopic = 10;
-ConsumerFilterManager filterManager = 
ConsumerFilterManagerTest.gen(topicCount, msgPerTopic);
-
-DefaultMessageStore master = null;
+List msgs = null;
 try {
-master = gen(filterManager);
+msgs = putMsg(master, topicCount, msgPerTopic);
 } catch (Exception e) {
 e.printStackTrace();
 assertThat(true).isFalse();
 }
 
+// sleep to wait for consume queue has been constructed.
 try {
-List msgs = null;
-try {
-msgs = putMsg(master, topicCount, msgPerTopic);
-} catch (Exception e) {
-e.printStackTrace();
-assertThat(true).isFalse();
-}
-
-// sleep to wait for consume queue has been constructed.
-try {
-Thread.sleep(1000);
-} catch (InterruptedException e) {
-e.printStackTrace();
-assertThat(true).isFalse();
-}
+Thread.sleep(200);
--- End diff --

At this time,there is no way to ensure CQ constructed except adding 
countdownlatch to CQ,if only in test,I think there is no need to do this.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #145: [ROCKETMQ-264]Fix unit test cost too l...

2017-08-24 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/145#discussion_r134974719
  
--- Diff: 
broker/src/test/java/org/apache/rocketmq/broker/BrokerControllerTest.java ---
@@ -37,16 +37,14 @@
  */
 @Test
 public void testBrokerRestart() throws Exception {
-for (int i = 0; i < 2; i++) {
-BrokerController brokerController = new BrokerController(
-new BrokerConfig(),
-new NettyServerConfig(),
-new NettyClientConfig(),
-new MessageStoreConfig());
-assertThat(brokerController.initialize());
-brokerController.start();
-brokerController.shutdown();
-}
+BrokerController brokerController = new BrokerController(
--- End diff --

As there is more whole startup in test case , I think there no need to do 
this. Any questions?IMO


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #145: [ROCKETMQ-264]Fix unit test cost too l...

2017-08-24 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/145#discussion_r134975634
  
--- Diff: 
client/src/test/java/org/apache/rocketmq/client/consumer/rebalance/AllocateMessageQueueConsitentHashTest.java
 ---
@@ -92,9 +92,9 @@ public void testAllocate2() {
 
 @Test
 public void testRun100RandomCase() {
-for (int i = 0; i < 100; i++) {
-int consumerSize = new Random().nextInt(200) + 1;//1-200
-int queueSize = new Random().nextInt(100) + 1;//1-100
+for (int i = 0; i < 10; i++) {
+int consumerSize = new Random().nextInt(20) + 1;//1-20
--- End diff --

We aim at making test cost less time, make iteration count less is a good 
idea as unit test is only test for function.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #145: [ROCKETMQ-264]Fix unit test cost too l...

2017-08-27 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/145#discussion_r135431420
  
--- Diff: 
store/src/test/java/org/apache/rocketmq/store/DefaultMessageStoreTest.java ---
@@ -97,54 +110,46 @@ public MessageExtBrokerInner buildMessage() {
 
 @Test
 public void testGroupCommit() throws Exception {
-long totalMsgs = 100;
+long totalMsgs = 10;
 QUEUE_TOTAL = 1;
 MessageBody = StoreMessage.getBytes();
-MessageStoreConfig messageStoreConfig = new MessageStoreConfig();
-messageStoreConfig.setMapedFileSizeCommitLog(1024 * 8);
-messageStoreConfig.setFlushDiskType(FlushDiskType.SYNC_FLUSH);
-MessageStore master = new DefaultMessageStore(messageStoreConfig, 
null, new MyMessageArrivingListener(), new BrokerConfig());
-boolean load = master.load();
-assertTrue(load);
+for (long i = 0; i < totalMsgs; i++) {
+messageStore.putMessage(buildMessage());
+}
 
-master.start();
-verifyThatMasterIsFunctional(totalMsgs, master);
+for (long i = 0; i < totalMsgs; i++) {
+GetMessageResult result = messageStore.getMessage("GROUP_A", 
"TOPIC_A", 0, i, 1024 * 1024, null);
+assertThat(result).isNotNull();
+result.release();
+}
+verifyThatMasterIsFunctional(totalMsgs, messageStore);
 }
 
 private void verifyThatMasterIsFunctional(long totalMsgs, MessageStore 
master) {
-try {
-for (long i = 0; i < totalMsgs; i++) {
-master.putMessage(buildMessage());
-}
-
-for (long i = 0; i < totalMsgs; i++) {
-GetMessageResult result = master.getMessage("GROUP_A", 
"TOPIC_A", 0, i, 1024 * 1024, null);
-assertThat(result).isNotNull();
-result.release();
-
-}
-} finally {
-master.shutdown();
-master.destroy();
+for (long i = 0; i < totalMsgs; i++) {
+master.putMessage(buildMessage());
+}
+
+for (long i = 0; i < totalMsgs; i++) {
+GetMessageResult result = master.getMessage("GROUP_A", 
"TOPIC_A", 0, i, 1024 * 1024, null);
+assertThat(result).isNotNull();
+result.release();
+
 }
 }
 
 @Test
 public void testPullSize() throws Exception {
-MessageStore messageStore = buildMessageStore();
-boolean load = messageStore.load();
-assertTrue(load);
-messageStore.start();
 String topic = "pullSizeTopic";
 
 for (int i = 0; i < 32; i++) {
 MessageExtBrokerInner messageExtBrokerInner = buildMessage();
 messageExtBrokerInner.setTopic(topic);
 messageExtBrokerInner.setQueueId(0);
-PutMessageResult putMessageResult = 
messageStore.putMessage(messageExtBrokerInner);
+messageStore.putMessage(messageExtBrokerInner);
 }
 //wait for consume queue build
-Thread.sleep(100);
+Thread.sleep(10);
--- End diff --

In test scenario, 10ms is enough.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #145: [ROCKETMQ-264]Fix unit test cost too l...

2017-08-27 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/145#discussion_r135436434
  
--- Diff: 
store/src/test/java/org/apache/rocketmq/store/DefaultMessageStoreTest.java ---
@@ -43,15 +43,24 @@
 private SocketAddress BornHost;
 private SocketAddress StoreHost;
 private byte[] MessageBody;
+private MessageStore messageStore;
 
 @Before
 public void init() throws Exception {
 StoreHost = new InetSocketAddress(InetAddress.getLocalHost(), 
8123);
 BornHost = new 
InetSocketAddress(InetAddress.getByName("127.0.0.1"), 0);
+
+messageStore = buildMessageStore();
+boolean load = messageStore.load();
+assertTrue(load);
+messageStore.start();
 }
 
 @After
 public void destory() {
+messageStore.shutdown();
+messageStore.destroy();
--- End diff --

Delete created files has been did before at this file after destroy.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #145: [ROCKETMQ-264]Fix unit test cost too l...

2017-08-27 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/145#discussion_r135436908
  
--- Diff: 
broker/src/test/java/org/apache/rocketmq/broker/filter/MessageStoreWithFilterTest.java
 ---
@@ -76,6 +86,24 @@
 }
 }
 
+@Before
+public void init() {
+filterManager = ConsumerFilterManagerTest.gen(topicCount, 
msgPerTopic);
+try {
+master = gen(filterManager);
+} catch (Exception e) {
+e.printStackTrace();
--- End diff --

This is a DefaultMessageStore start progress that used in annotation 
Before.And can't add expect Exception in before,I think there is no need to add 
exception expect in before and all we want is while the messageStore is started 
or not. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #145: [ROCKETMQ-264]Fix unit test cost too l...

2017-08-28 Thread lindzh
Github user lindzh closed the pull request at:

https://github.com/apache/incubator-rocketmq/pull/145


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq pull request #158: [Rocketmq-281] add check policy for pr...

2017-08-28 Thread lindzh
Github user lindzh commented on a diff in the pull request:

https://github.com/apache/incubator-rocketmq/pull/158#discussion_r135681629
  
--- Diff: 
broker/src/main/java/org/apache/rocketmq/broker/BrokerStartup.java ---
@@ -257,4 +268,28 @@ public static Options buildCommandlineOptions(final 
Options options) {
 
 return options;
 }
+
+private static void checkMQAlreadyStart(String storePathRootDir) 
throws IOException {
+File file = new 
File(StorePathConfigHelper.getLockFile(storePathRootDir));
+MappedFile.ensureDirOK(file.getParent());
+
+final RandomAccessFile randomAccessFile = new 
RandomAccessFile(file, "rw");
+FileLock lock = randomAccessFile.getChannel().tryLock(0, 1, false);
+if (lock == null || lock.isShared() || !lock.isValid()) {
+throw new RuntimeException("Lock failed,MQ already started");
+}
+
+
randomAccessFile.getChannel().write(ByteBuffer.wrap("lock".getBytes()));
+randomAccessFile.getChannel().force(true);
+
+Runtime.getRuntime().addShutdownHook(new Thread() {
--- End diff --

+1


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #158: [Rocketmq-281] add check policy for preventin...

2017-08-28 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/158
  
After merge develop branch,all checks will pass


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] incubator-rocketmq issue #161: 注释

2017-09-05 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/161
  
As RocketMQ is widely use all over the world,I think there is no need to 
add chinese comment.I suggest add a blog for source code reading.


---


[GitHub] incubator-rocketmq pull request #168: Fix System.out.printf throws UnknownFo...

2017-09-21 Thread lindzh
GitHub user lindzh opened a pull request:

https://github.com/apache/incubator-rocketmq/pull/168

Fix System.out.printf throws UnknownFormatConversionException

###  What is the purpose of the change 
When using mqadmin command printmsg to print retry topic msgs,it throw an 
exception like this:
com.alibaba.rocketmq.client.exception.MQClientException: Can not find 
Message Queue for this 
```
topic, %%RETRY%%CID_MERSS_CONSUOUP_UAT
See http://rocketmq.apache.org/docs/faq/ for further details.
  at 
com.alibaba.rocketmq.client.impl.MQAdminImpl.fetchSubscribeMessageQueues(MQAdminImpl.java:161)
  at 
com.alibaba.rocketmq.client.impl.consumer.DefaultMQPullConsumerImpl.fetchSubscribeMessageQueues(DefaultMQPullConsumerImpl.java:136)
  at 
com.alibaba.rocketmq.client.consumer.DefaultMQPullConsumer.fetchSubscribeMessageQueues(DefaultMQPullConsumer.java:225)
  at 
com.alibaba.rocketmq.tools.command.message.PrintMessageSubCommand.execute(PrintMessageSubCommand.java:120)
  at 
com.alibaba.rocketmq.tools.command.MQAdminStartup.main0(MQAdminStartup.java:128)
,. JIRA: https://issues.apache.org/jira/browse/ROCKETMQ-278.
```
### Brief change log
* fix all system.out.prinf using in rocketmq.

### Verifying this change
* This change is a trivial rework / code cleanup with unitout test coverage.
* execute mqadmin printmsg -t %RETRY%CID_MERSS_CONSUOUP_UAT.

Follow this checklist to help us incorporate your contribution quickly and 
easily:
- [x] Make sure there is a [JIRA 
issue](https://issues.apache.org/jira/projects/ROCKETMQ/issues/)  filed for the 
change (usually before you start working on it). Trivial changes like typos do 
not require a JIRA 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 [ROCKETMQ-XXX] 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 the pull request :
  - What is the purpose of the change
  - Brief change log
  - Verifying this change
- [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/incubator-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).

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lindzh/incubator-rocketmq fix_print

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rocketmq/pull/168.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #168


commit 1ae0693693da4a147f1bb3c122833f548c376b09
Author: lindzh 
Date:   2017-08-11T07:55:24Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit f0e243c5a8899fedc157accef964a1d617d77d1b
Author: lindzh 
Date:   2017-08-11T10:02:36Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit 1810be4c560767b83ff173e6fb6a96d4ac7c1428
Author: lindzh 
Date:   2017-08-14T02:11:27Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit 53dcd8d0837eee419810f055a4035d3fdd72513f
Author: lindzh 
Date:   2017-08-22T12:34:49Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit 4abfa4f326d0f5ac7a01f43b3cb882a7916fac59
Author: lindzh 
Date:   2017-08-28T10:41:53Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit 845830865fc37d0364a19cbd89ceaf8a30b37e1c
Author: yukon 
Date:   2017-08-29T16:06:13Z

Polish merge script, use old title if input is null

commit 254d432496c424717d45b8dc9e44ae3bd78ab466
Author: vsair 
Date:   2017-08-29T16:14:27Z

[ROCKETMQ-284] ExpressionMessageFilter will pass some message.

Author: vsair 

Closes #160 from vsair/ROCKETMQ-284.

commit d576e38db79e4437dc2b304a6d6ef3a0e9337f74
Author: lindzh 
Date:   2017-08-30T06:38:39Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit 6a97d2884fe8ea23de8f231c8647b99ea5be1811
Author: 傅冲 
Date:   2017-09-05T0

[GitHub] incubator-rocketmq pull request #169: [ROCKETMQ-292]Delete system.exit in MQ...

2017-09-21 Thread lindzh
GitHub user lindzh opened a pull request:

https://github.com/apache/incubator-rocketmq/pull/169

[ROCKETMQ-292]Delete system.exit in MQAdminStartup

###  What is the purpose of the change 
When using MQAdminStartup in a java process,some args problem may cause 
MQAdminStartup to call system.ext and this lead to main java process shutdown. 
JIRA: https://issues.apache.org/jira/browse/ROCKETMQ-278.
### Brief change log
* delete system.exit in mqadmin.

### Verifying this change
* This change is a trivial rework / code cleanup without unit test coverage.
* execute `mqadmin testa` to verify.

Follow this checklist to help us incorporate your contribution quickly and 
easily:
- [x] Make sure there is a [JIRA 
issue](https://issues.apache.org/jira/projects/ROCKETMQ/issues/)  filed for the 
change (usually before you start working on it). Trivial changes like typos do 
not require a JIRA 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 [ROCKETMQ-XXX] 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 the pull request :
  - What is the purpose of the change
  - Brief change log
  - Verifying this change
- [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/incubator-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).

You can merge this pull request into a Git repository by running:

$ git pull https://github.com/lindzh/incubator-rocketmq fix_main_system.exit

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/incubator-rocketmq/pull/169.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #169


commit 1ae0693693da4a147f1bb3c122833f548c376b09
Author: lindzh 
Date:   2017-08-11T07:55:24Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit f0e243c5a8899fedc157accef964a1d617d77d1b
Author: lindzh 
Date:   2017-08-11T10:02:36Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit 1810be4c560767b83ff173e6fb6a96d4ac7c1428
Author: lindzh 
Date:   2017-08-14T02:11:27Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit 53dcd8d0837eee419810f055a4035d3fdd72513f
Author: lindzh 
Date:   2017-08-22T12:34:49Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit 4abfa4f326d0f5ac7a01f43b3cb882a7916fac59
Author: lindzh 
Date:   2017-08-28T10:41:53Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit d576e38db79e4437dc2b304a6d6ef3a0e9337f74
Author: lindzh 
Date:   2017-08-30T06:38:39Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit bb446c48fa54cb542708f1ee171d49b1f6d1cd64
Author: lindzh 
Date:   2017-09-21T07:15:43Z

Merge branch 'develop' of github.com:apache/incubator-rocketmq into develop

commit a905b140d09d085d3c20aef4f08a6696e9b218bf
Author: lindzh 
Date:   2017-09-21T07:18:43Z

fix main system.exit




---


[GitHub] incubator-rocketmq issue #170: Merge pull request #1 from apache/master

2017-09-22 Thread lindzh
Github user lindzh commented on the issue:

https://github.com/apache/incubator-rocketmq/pull/170
  
No Code change,and this pr will close.


---