你好:
HI:

我提的问题不是针对Pull客户端,也不是针对openmessaging标准,而是针对 rmq-4.2.0 中的openmessaging实现。
Actually I'm not confusing about the pull-client, nor about the openmessaging 
protocol, but the implementation of the openmessaging protocol in rmq-4.2.0.


在rocketmq-4.2.0中,有一块专门的openmessaging实现,我调用了其中的实现,然后发现的错误。我的提问是针对该实现,是否有不完善的地方,如何修正或者避免其中的坑。我为之前我邮件中说的不清楚的地方道歉。
There is an implementation of openmessaging in rocketmq-4.2.0. I used it and 
find the error. My problem is how the error appears in the implementation and 
how can I get over it. And I apologize for my confusing description;


openmessaging 实现地址:https://github.com/apache/rocketmq/tree/master/openmessaging
The url of the openmessaging-implementation: 
https://github.com/apache/rocketmq/tree/master/openmessaging

-----原始邮件-----
发件人:"老胡" <2372554...@qq.com>
发送时间:2018-02-11 19:03:00 (星期日)
收件人: users <users@rocketmq.apache.org>
抄送:
主题: 回复: 回复: 回复:rep eat logging error when using openmessaging

你好! 你的问题不在openmesseg标准,而是你使用了pull模式,pull不负责维护offset 
你在使用pull请求数据的时候,offset计算错误,offset值小于0,过不了校验,报异常,在你提供的异常信息里面十分明确。这不是rocketmq问题。 
使用push模式,或者你自己维护offset,使用pull。
------------------ 原始邮件 ------------------
发件人: "朱蔚林"<zhuwei...@iie.ac.cn>
发送时间: 2018年2月11日(星期天) 晚上6:47
收件人: "users"<users@rocketmq.apache.org>;
主题: Re: 回复: 回复:rep eat logging error when using openmessaging
你好:
HI,


rocketmq-4.2.0中实现了openmessaging标准,我调用的就是该实现,这也是我的问题所在。
Openmessaging is implemented in rocketmq-4.2.0,  which I use in my project. I'm 
just confused where is the mistake in the openmessaging-implementation.


-----原始邮件-----
发件人:"老胡" <2372554...@qq.com>
发送时间:2018-02-11 17:45:52 (星期日)
收件人: users <users@rocketmq.apache.org>
抄送:
主题: 回复: 回复:repeat logging error when using openmessaging

你好!
       rocketmq的client只有push维护offset,pull不维护offset的。
       push模式下的offset维护分两种,一种是集群方式的维护,会定时发送给broker。一种是广播方式的维护,是保存在本地的。

       
openmessaging是标准。没有具体的实现。从你的错误上看。openmessaging调用的rocketmq的client,client目前没有发现有问题。多谢。




------------------ 原始邮件 ------------------
发件人: "朱蔚林"<zhuwei...@iie.ac.cn>;
发送时间: 2018年2月11日(星期天) 下午5:40
收件人: "users"<users@rocketmq.apache.org>;
主题: 回复: 回复:repeat logging error when using openmessaging


你好!
Hi,


    多谢分析!
    Thanks for your attention.


    
实际上,offset是由openmessaging内部的定时任务来维护的(在报错的错误栈中有调用顺序),所以我想知道的是,是否有人能用过openmessaging的包,该包是否有坑。
    Acturally, the offset of rmq is set by openmessaging-implementation. What I 
would like to know is that if there is anyone who has tried 
openmessaging-implementation and know why error appears.




朱蔚林
 
发件人: 老胡
发送时间: 2018-02-11 16:49
收件人: users
主题: 回复:repeat logging error when using openmessaging
你好!异常十分明显。

      org.apache.rocketmq.client.exception.MQClientException: offset < 0  这里
  你传递的offset坐标有问题。
  你使用的pull模式,offset需要自己维护,如果你无法自己维护offset,可以使用push模式。


------------------ 原始邮件 ------------------
发件人: "朱蔚林"<zhuwei...@iie.ac.cn>;
发送时间: 2018年2月11日(星期天) 下午4:41
收件人: "users"<users@rocketmq.apache.org>;
主题: repeat logging error when using openmessaging


Hi all,

    I meet a problem when pulling data from rocketmq using openmessaging 
implementation.
    During my usage, I did get data, but at the same time I also got error 
message in my log file. I got a 70GB error log per day.
    In my error log file, the same error repeated like this:

    2018-02-11 16:40:19,882 [ERROR] 
[io.openmessaging.rocketmq.consumer.PullConsumerImpl$1.doPullTask(PullConsumerImpl.java:151)]
 [PullMsgThread-5_nm_test_group_12115] - A error occurred in pull message 
process.
org.apache.rocketmq.client.exception.MQClientException: offset < 0
For more information, please visit the url, http://rocketmq.apache.org/docs/faq/
at 
org.apache.rocketmq.client.impl.consumer.DefaultMQPullConsumerImpl.pullSyncImpl(DefaultMQPullConsumerImpl.java:175)
at 
org.apache.rocketmq.client.impl.consumer.DefaultMQPullConsumerImpl.pull(DefaultMQPullConsumerImpl.java:161)
at 
org.apache.rocketmq.client.impl.consumer.DefaultMQPullConsumerImpl.pull(DefaultMQPullConsumerImpl.java:156)
at 
org.apache.rocketmq.client.consumer.DefaultMQPullConsumer.pull(DefaultMQPullConsumer.java:251)
at 
io.openmessaging.rocketmq.consumer.PullConsumerImpl$1.doPullTask(PullConsumerImpl.java:133)
at 
org.apache.rocketmq.client.consumer.MQPullConsumerScheduleService$PullTaskImpl.run(MQPullConsumerScheduleService.java:172)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at 
java.util.concurrent.ScheduledThreadPoolExecutor201(ScheduledThreadPoolExecutor.java:180)
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

    Is there anybody who has ever used openmessaging implementation and knows 
how it happens and how to avoid it ?

    rmq version: 4.2.0,
    Java version: 1.8_25.

    Thanks a lot.

--------------
zhuwei...@iie.ac.c

Reply via email to