lhotari opened a new issue, #21303:
URL: https://github.com/apache/pulsar/issues/21303

   ### Search before asking
   
   - [X] I searched in the [issues](https://github.com/apache/pulsar/issues) 
and found nothing similar.
   
   
   ### Version
   
   Since 2.11
   
   ### Minimal reproduce step
   
   Topic policies are stored in system topics and stored as PulsarEvent 
instances which are serialized using Avro. The PulsarEvent can contain a 
TopicPoliciesEvent when it's eventType is TOPIC_POLICY. The TopicPoliciesEvent 
contains the TopicPolicies instance.
   
   The problem is that TopicPolicies instances are cached and these cached 
instances are mutable in a non-thread safe way.
   
   
   ### What did you expect to see?
   
   TopicPolicies handling should be thread safe.
   
   ### What did you see instead?
   
   Thread safety concerns aren't covered in TopicPolicies.
   
   ### Anything else?
   
   There was a similar issue in mutating namespace policies, #9711. That was 
fixed with an approach where the shared instances are never mutated. The 
shared/cached instance is cloned and the clone is mutated.
   
   ### Are you willing to submit a PR?
   
   - [ ] I'm willing to submit a PR!


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

Reply via email to