[GitHub] vongosling commented on a change in pull request #217: [ROCKETMQ-353] Add SendMessage Command
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
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
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
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.
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.
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.
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
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 > >