You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
The default instance names generated for Consumer and Producer may be duplicated. #151
Start Producer and Consumer without setting an instance name (according to the example code).
Observe the RocketMQ connection information and notice that the default instance name format is @8#DEFAULT where 8 is the PID.
When there are multiple Producers and Consumers, especially when running in containers, the PID can repeat, causing instance name duplication.
Duplicate instance names can lead to unexpected situations in production and consumption.
What did you expect to see?
Compared to the JAVA RocketMQ client, the JAVA client’s default instance name is generated as 10.4.2.29@29552#17398949282500 which consists of the IP address, PID, and timestamp. This almost avoids instance name duplication.
What did you see instead?
The instance names are duplicated due to PID repetition when running multiple Producers and Consumers in containers.
Please tell us about your environment:
What is your OS?
Linux amd64
What is your client version?
rocketmq-client-python:2.0.0
CPP version: 2.0.0
What is your RocketMQ version?
4.9.8
Other information (e.g. detailed explanation, logs, related issues, suggestions on how to fix, etc):
Suggestion: When no instance name is specified, generate a default instance name that includes a timestamp to avoid duplication.
For the instance name @8#DEFAULT, I found that the default instance name generated by rocketmq-client-cpp includes the IP address. The correct format should be 127.0.0.1@8#DEFAULT. However, under certain complex conditions, the program often cannot obtain the IP address, resulting in the instance name being generated as @8#DEFAULT, which ultimately leads to name duplication. Therefore, adding a timestamp is still necessary.
Activity
Heng-Bian commentedon Jun 27, 2024
I am preparing to submit a PR to fix this issue.
Heng-Bian commentedon Jun 27, 2024
For the instance name
@8#DEFAULT, I found that the default instance name generated by rocketmq-client-cpp includes the IP address. The correct format should be127.0.0.1@8#DEFAULT. However, under certain complex conditions, the program often cannot obtain the IP address, resulting in the instance name being generated as@8#DEFAULT, which ultimately leads to name duplication. Therefore, adding a timestamp is still necessary.