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]
