yx9o opened a new issue, #578:
URL: https://github.com/apache/rocketmq-dashboard/issues/578

   ## Problem
   
   K8s certificate update and renewal operations modify the mutable `K8sCertVO`
   returned by the repository before calling `save`.
   
   `InMemoryK8sCertRepository` stores these objects by reference in a
   `ConcurrentHashMap`. Readers can observe an intermediate state, and if `save`
   fails, the stored object already contains changes from the failed request.
   
   ## Expected behavior
   
   - Update and renewal publish new state only through the repository `save` 
operation.
   - A failed `save` leaves the stored certificate unchanged.
   - Partial updates preserve omitted fields, certificate identity, and 
metadata.
   - Renewals preserve descriptive fields while replacing renewal-managed 
fields.
   
   ## Proposed fix
   
   Copy the stored certificate, apply update or renewal changes to the copy, and
   save the new object without mutating the repository-returned instance. Add
   regression tests for successful writes and repository save failures.


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