6mmLIU opened a new issue, #16069:
URL: https://github.com/apache/dubbo/issues/16069

   ### Pre-check
   
   - [x] I am sure that all the content I provide is in English.
   
   
   ### Search before asking
   
   - [x] I had searched in the 
[issues](https://github.com/apache/dubbo/issues?q=is%3Aissue) and found no 
similar issues.
   
   
   ### Apache Dubbo Component
   
   Java SDK (apache/dubbo)
   
   ### Dubbo Version
   
   Dubbo 3.3.6, OpenJDK 17, Ubuntu 20.04
   
   
   ### Steps to reproduce this issue
   
   1. Create a RpcInvocation instance and put attributes into it (e.g. 
invocation.put("k", "v")).
   2. Clone it using new RpcInvocation(invocation).
   3. Modify the original invocation's attributes (update or remove the key).
   4. Observe that the cloned invocation's attributes are also affected.
   
   
   ### What you expected to happen
   
   The cloned RpcInvocation should have its own independent attributes map, so 
changes to the original invocation do not affect the clone.
   
   
   ### Anything else
   
   The copy constructor already deep-copies attachments, but attributes are 
passed by reference.
   This causes unexpected side effects for filters or interceptors that clone 
and then mutate invocation attributes.
   
   
   ### Do you have a (mini) reproduction demo?
   
   - [ ] Yes, I have a minimal reproduction demo to help resolve this issue 
more effectively!
   
   ### Are you willing to submit a pull request to fix on your own?
   
   - [x] Yes I am willing to submit a pull request on my own!
   
   ### Code of Conduct
   
   - [x] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to