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]
