You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2019/11/27 03:18:02 UTC

[GitHub] [rocketmq-client-cpp] zengxiaobai opened a new issue #205: push-consumer start failed and coredump when one namesrv host cannot be resolve

zengxiaobai opened a new issue #205: push-consumer start failed and coredump when one namesrv host cannot be resolve
URL: https://github.com/apache/rocketmq-client-cpp/issues/205
 
 
   The issue tracker is **ONLY** used for the CPP/C client (feature request of RocketMQ need to follow [RIP process](https://github.com/apache/rocketmq/wiki/RocketMQ-Improvement-Proposal)). Keep in mind, please check whether there is an existing same report before your raise a new one.
   
   Alternately (especially if your communication is not a bug report), you can send mail to our [mailing lists](http://rocketmq.apache.org/about/contact/). We welcome any friendly suggestions, bug fixes, collaboration, and other improvements.
   
   Please ensure that your bug report is clear and that it is complete. Otherwise, we may be unable to understand it or to reproduce it, either of which would prevent us from fixing the bug. We strongly recommend the report(bug report or feature request) could include some hints as to the following:
   
   **BUG REPORT**
   
   1. Please describe the issue you observed:
   I have config three Namesrv server: rocketmq1.xxx.com:9876;rocketmq2.xxx.com:9876;rocketmq3.xxx.com:9876;
   
   sometimes my client coredump with log following dumped in /var/log/message when starting.
   I wonder why client cannot be started  if one of the rocketmq namesrvs cannot be connected and the others can be connected
   ```
   Nov 27 10:21:13 localhost rocketxxx: consumer start failed, (0x8ded20,0xc420176010)
   Nov 27 10:21:18 localhost rocketxxx: terminate called after throwing an instance of 'rocketmq::MQClientException'
   Nov 27 10:21:18 localhost rocketxxx: what():  msg: Failed to resolve  host name(rocketmq2.xxx.com): nodename nor servname provided, or not known,error:-1,in file </home/zwb/rpm/rocketmq-client-cpp/rocketmq-client-cpp-use/src/transport/TcpTransport.cpp> line:103
   Nov 27 10:21:18 localhost systemd: rocketxclean.service: main process exited, code=killed, status=6/ABRT
   ```
   I reproduced above in my test production. 
   Notice: to reproduce it the test must make the dns nameserver(not rocketmq's namesrv)  down instead of to make a  unresolved host name which dns nameserver can return result with no query item.
   
   - What did you do (The steps to reproduce)?
   push-consumer config namesrv with rocketmq1.xxx.com:9876;rocketmq2.xxx.com:9876;rocketmq3.xxx.com:9876;
   
   vi /etc/resolve.conf
   `nameserver 192.168.1.31`
   192.168.1.31 is my client's ip which donot listen port 53.
   
   vi /etc/hosts
   `namerserver-ip rocketmq1.xxx.com`
   make one of the rocketmq's namesrv can be connected and the other cannot be resolved because dns nameserver down
   
   start the push consumer 
   
   - What did you expect to see?
   client start success, but only connect with rocketmq1.xxx.com
   
   - What did you see instead?
   start failed and coredump
   
   2. Please tell us about your environment:
   
    - What is your OS?
   CENTOS7
    - What is your client version?
   1.2.4
    - What is your RocketMQ version?
   4.5.2
   3. Other information (e.g. detailed explanation, logs, related issues, suggestions on how to fix, etc):
   catch the exception and connect next namesrv, start failed when all namesrv cannot be connected
   
   
   **FEATURE REQUEST**
   
   1. Please describe the feature you are requesting.
   
   2. Provide any additional detail on your proposed use case for this feature.
   
   2. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?
   
   4. If there are some sub-tasks using -[] for each subtask and create a corresponding issue to map to the sub task:
   
   - [sub-task1-issue-number](example_sub_issue1_link_here): sub-task1 description here, 
   - [sub-task2-issue-number](example_sub_issue2_link_here): sub-task2 description here,
   - ...
   

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


With regards,
Apache Git Services