apache / rocketmq-client-cpp

Apache RocketMQ cpp client
https://rocketmq.apache.org/
Apache License 2.0
370 stars 159 forks source link

re_dev create rocketmq_offsets failed #350

Open lirong-Lee opened 3 years ago

lirong-Lee commented 3 years ago

error log: “unknown file: error: C++ exception with description "[MQClientException] msg: create offset store directory failed: C:\Users\e0614688.rocketmq_offsets\fe80::5c03:7258:6b59:5e16@testConsumer\testConsumer, error: -1, in <C:\soft\Mysoft\selfSVN\rocketmq-re-dev\src\consumer\LocalFileOffsetStore.cpp:44>" thrown in the test body.”

It was found in UtilS::getLocalAddress() sLocalIpAddress = socketAddress2String(lookupNameServers(hostname)); Get the string "fe80::5c03:7258:6b59:5e16" under windows It’s not allowed to write ‘:’ characters when creating folders under windows

ifplusor commented 3 years ago

BROADCASTING mode?

lirong-Lee commented 3 years ago

Yes,is BROADCASTING mode

There is another problem in BROADCASTING mode in windows: UtilAll.cpp : UtilAll::ReplaceFile UtilAll::ReplaceFile uses ::MoveFile and ::ReplaceFile, these two functions will fail when the file path is too long. My path is :C:\Users\e0614688\.rocketmq_offsets\172.18.140.87@testConsumer\testConsumer\offsets.json.tmp

This seems to be a windows bug, no solution This will cause BROADCASTING to be unavailable under windos, because the offsets.json.tmp copy offsets.json will fail, and the offsets.json file has not been generated.