RockteMQ-AI commented on issue #4274:
URL: 
https://github.com/apache/rocketmq-dashboard/issues/4274#issuecomment-5652348489

   **Issue Evaluation**
   
   Category: `bug` | Status: **Confirmed**
   
   Thank you for the thorough analysis. The root cause has been verified 
against the codebase:
   
   **Root Cause:** The frontend serializes blanked optional fields as 
`undefined` (→ `null` on the backend), and MyBatis-Plus `updateById` with 
`FieldStrategy.NOT_NULL` silently omits null fields from the `SET` clause. This 
makes clearing `k8sNamespace`, `k8sId`, or `description` unreachable through 
the UI.
   
   **Impact:** Registry entry annotations become write-once. Operators cannot 
remove stale K8s references or descriptions when re-pointing entries.
   
   **Severity:** Medium — functional defect with a clear workaround (delete and 
re-create the entry), but the silent failure is confusing.
   
   **Fix direction:** Either (a) use an explicit clear mechanism (similar to 
`clearApiKey` in general settings, as you noted), or (b) switch the update 
strategy for these optional fields to `FieldStrategy.ALWAYS` / use 
`UpdateWrapper` with explicit `.set(column, null)`. The precedent from #3342 
(ACL columns) suggests approach (b) is consistent with existing patterns.
   
   An automated fix proposal may be generated. Reply `/approve` to proceed with 
PR generation, or provide additional context if needed.
   
   ---
   *Automated evaluation by github-manager*
   


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