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

   **Issue Evaluation**
   
   Category: `bug` | Status: **Confirmed**
   
   The reported issue has been verified against the current codebase.
   
   **Root Cause:** Same mechanism as the admin credential ref issue — 
MyBatis-Plus `updateById` uses `FieldStrategy.NOT_NULL` by default, which omits 
null entity fields from the `SET` clause. When `TopicService.updateTopic` 
copies the incoming remark into the entity, a blank remark becomes `null` after 
`StringUtils.isBlank` check, and `updateById` silently drops the null 
assignment. The column retains its previous value.
   
   **Impact:** Operators cannot clear a topic's remark through the standard 
update API. The UI shows the old remark until the next reload. This is a data 
inconsistency issue that affects topic metadata management.
   
   **Severity:** Medium — metadata inconsistency, not security-critical but 
affects operator workflow.
   
   **Suggested Fix:** Use an `UpdateWrapper` or `LambdaUpdateWrapper` in the 
repository layer to explicitly set `remark = NULL` when the incoming remark is 
blank. This is the same pattern needed for #4273 and the prior fixes for ACL 
columns (#3342).
   
   **Note:** This issue shares the same root cause pattern as #4273. A single 
fix at the repository layer (introducing a proper null-aware update strategy) 
could address both issues and prevent future recurrences for other nullable 
columns.
   
   An automated fix proposal will be generated. Reply `/approve` to proceed 
with PR generation.
   
   ---
   *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