Details
-
Bug
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
4.0.0-incubating, 4.1.0-incubating, 4.2.0, 4.3.0
-
None
-
None
-
All Environments
Description
There are tow kinds of Message properties: RocketMQ reserved properties and user-defined properties, but they are not separated in strict way. For example ,in the following case conflict will happen:
1) The user used a user-defined Message property "PROPERTY_A" in their application based on RocketMQ4.3.
2) When developing RocketMQ4.4, a new RocketMQ reserved property also named "PROPERTY_A" is added.
3) When the user upgrade RocketMQ from 4.3 to 4.4, the application will not work well, it will receive an exception "The Property PROPERTY_A is used by system, input another please".
So, there should be a Name Space mechanism to distinguish user-defined and RocketMQ reserved properties. One approach could be: Adding a prefix, such as "USER/" or "SYSTEM/" to the property name when storing a property.