[GitHub] vongosling commented on a change in pull request #217: [ROCKETMQ-353] Add SendMessage Command

2018-01-18 Thread GitBox
vongosling commented on a change in pull request #217: [ROCKETMQ-353] Add 
SendMessage Command
URL: https://github.com/apache/rocketmq/pull/217#discussion_r162244428
 
 

 ##
 File path: 
tools/src/main/java/org/apache/rocketmq/tools/command/message/DecodeMessageIdCommand.java
 ##
 @@ -25,7 +25,7 @@
 import org.apache.rocketmq.tools.command.SubCommand;
 import org.apache.rocketmq.tools.command.SubCommandException;
 
-public class DecodeMessageIdCommond implements SubCommand {
+public class DecodeMessageIdCommand implements SubCommand {
 
 Review comment:
   awesome


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] vongosling commented on a change in pull request #217: [ROCKETMQ-353] Add SendMessage Command

2018-01-18 Thread GitBox
vongosling commented on a change in pull request #217: [ROCKETMQ-353] Add 
SendMessage Command
URL: https://github.com/apache/rocketmq/pull/217#discussion_r162277990
 
 

 ##
 File path: 
tools/src/main/java/org/apache/rocketmq/tools/command/message/SendMessageCommand.java
 ##
 @@ -0,0 +1,151 @@
+/*
+ * 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.tools.command.message;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.Options;
+import org.apache.rocketmq.client.producer.DefaultMQProducer;
+import org.apache.rocketmq.client.producer.SendResult;
+import org.apache.rocketmq.common.message.Message;
+import org.apache.rocketmq.common.message.MessageQueue;
+import org.apache.rocketmq.remoting.RPCHook;
+import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
+
+public class SendMessageCommand implements SubCommand {
+
+private DefaultMQProducer producer;
+
+@Override
+public String commandName() {
+return "sendMessage";
+}
+
+@Override
+public String commandDesc() {
+return "Send Message to a topic";
+}
+
+@Override
+public Options buildCommandlineOptions(Options options) {
+Option opt = new Option("t", "topic", true, "topic name");
+opt.setRequired(true);
+options.addOption(opt);
+
+opt = new Option("b", "body", true, "message body string utf-8 
format");
+opt.setRequired(true);
+options.addOption(opt);
+
+opt = new Option("k", "key", true, "message keys");
+opt.setRequired(false);
+options.addOption(opt);
+
+opt = new Option("g", "tags", true, "message tags");
+opt.setRequired(false);
+options.addOption(opt);
+
+opt = new Option("q", "qbroker", true, "send message to which broker");
 
 Review comment:
   q is not  a good abbreviation for broker


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] vongosling commented on a change in pull request #217: [ROCKETMQ-353] Add SendMessage Command

2018-01-18 Thread GitBox
vongosling commented on a change in pull request #217: [ROCKETMQ-353] Add 
SendMessage Command
URL: https://github.com/apache/rocketmq/pull/217#discussion_r162277305
 
 

 ##
 File path: 
tools/src/main/java/org/apache/rocketmq/tools/command/message/SendMessageCommand.java
 ##
 @@ -0,0 +1,151 @@
+/*
+ * 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.tools.command.message;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.Options;
+import org.apache.rocketmq.client.producer.DefaultMQProducer;
+import org.apache.rocketmq.client.producer.SendResult;
+import org.apache.rocketmq.common.message.Message;
+import org.apache.rocketmq.common.message.MessageQueue;
+import org.apache.rocketmq.remoting.RPCHook;
+import org.apache.rocketmq.tools.command.SubCommand;
+import org.apache.rocketmq.tools.command.SubCommandException;
+
+public class SendMessageCommand implements SubCommand {
+
+private DefaultMQProducer producer;
+
+@Override
+public String commandName() {
+return "sendMessage";
+}
+
+@Override
+public String commandDesc() {
+return "Send Message to a topic";
+}
+
+@Override
+public Options buildCommandlineOptions(Options options) {
+Option opt = new Option("t", "topic", true, "topic name");
+opt.setRequired(true);
+options.addOption(opt);
+
+opt = new Option("b", "body", true, "message body string utf-8 
format");
 
 Review comment:
utf-8 string format of the message body


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] zhouxinyu commented on issue #206: [ROCKETMQ-334] spinlock performance improvement

2018-01-18 Thread GitBox
zhouxinyu commented on issue #206: [ROCKETMQ-334] spinlock performance 
improvement
URL: https://github.com/apache/rocketmq/pull/206#issuecomment-358228794
 
 
   Hi @fucongchan , the performance test is cool, and we need some unit tests 
for this basic tool. in other words, how do we assure our correctness except 
for performance?


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] Jason918 commented on issue #220: [ROCKETMQ-332] MappedFileQueue#findMappedFileByOffset is not thread safe, which will cause message loss.

2018-01-18 Thread GitBox
Jason918 commented on issue #220: [ROCKETMQ-332] 
MappedFileQueue#findMappedFileByOffset is not thread safe, which will cause 
message loss.
URL: https://github.com/apache/rocketmq/pull/220#issuecomment-358591394
 
 
   @vongosling As mappedFiles is an instance of CopyOnWriteArrayList, a 
snapshot of this array is used in the iterate step. 


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] Jason918 commented on issue #220: [ROCKETMQ-332] MappedFileQueue#findMappedFileByOffset is not thread safe, which will cause message loss.

2018-01-18 Thread GitBox
Jason918 commented on issue #220: [ROCKETMQ-332] 
MappedFileQueue#findMappedFileByOffset is not thread safe, which will cause 
message loss.
URL: https://github.com/apache/rocketmq/pull/220#issuecomment-358592959
 
 
   @zhouxinyu This seems OK. But IMHO, doing retries maybe better than 
iterating through the whole array. : )


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


[GitHub] zhouxinyu commented on issue #220: [ROCKETMQ-332] MappedFileQueue#findMappedFileByOffset is not thread safe, which will cause message loss.

2018-01-18 Thread GitBox
zhouxinyu commented on issue #220: [ROCKETMQ-332] 
MappedFileQueue#findMappedFileByOffset is not thread safe, which will cause 
message loss.
URL: https://github.com/apache/rocketmq/pull/220#issuecomment-358703148
 
 
   @Jason918  We must consider the below cases if we adopt the retry strategy:
   1. How many times? 
   2. What's the next step if we only retry a specific number and failed again?
   3. It may increase the CPU load and block time if we retry indefinitely.
   4. How to avoid the stack overflow risk if we retry recursively?
   
   While there is another method to fix the bug: Hold the first mapped file to 
hang up the delete process. But this method couldn't handle the forcible 
deletion case.
   
   So iteration is a tradeoff method, consider that the probability of 
iterating through the array is very small and the size of the array is fewer 
than one thousand in most cases.


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services


Re: IP clearance progress of RocketMQ CPP SDK donation

2018-01-18 Thread yukon
Hi all,

We should speed up the IP clearance process. We will call the vote in dev
soon if our PMC have no other opinion.

Regards,
yukon

On Sat, Jan 13, 2018 at 1:12 AM, Von Gosling  wrote:

> Hi qiwei,
>
>
> > Also I don’t think there is any reason to copy private@ on this
> subject. This can be discussed on dev@.
>
> I guess this is the reason that I received your request to subscribe
> rocketmq private email list more times, I am also agreed to not to cc to
> private address :-).
>
> Best Regards,
> Von Gosling
>
> > 在 2018年1月12日,17:06,Justin Mclean  写道:
> >
> > Hi,
> >
> > Also I don’t think there is any reason to copy private@ on this
> subject. This can be discussed on dev@.
> >
> > Thanks,
> > Justin
>
>