You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by "Aias00 (via GitHub)" <gi...@apache.org> on 2026/08/17 03:44:52 UTC

[I] [Studio][Bug] Handle concurrent initial general-settings writes [rocketmq-dashboard]

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

   The singleton settings repository reads then inserts the singleton row. Multiple Studio instances can concurrently observe no row, causing one insert to fail with a raw duplicate-key 500. Translate the race into an update/retry path with regression coverage.


-- 
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: commits-unsubscribe@rocketmq.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Studio][Bug] Handle concurrent initial general-settings writes [rocketmq-dashboard]

Posted by "RockteMQ-AI (via GitHub)" <gi...@apache.org>.
RockteMQ-AI commented on issue #2289:
URL: https://github.com/apache/rocketmq-dashboard/issues/2289#issuecomment-5311670837

   **Issue Evaluation**
   
   Category: `type/bug` | Status: **Confirmed** | Severity: **Medium**
   
   The reported race condition has been verified against the codebase.
   
   **Root Cause:** `MybatisPlusSettingsRepository.saveGeneralSettings()` (lines 90–96) performs a read-then-insert pattern: `selectById(SETTINGS_ID)` → check null → `insert()`. Two concurrent first-time saves can both observe no row, causing the second insert to fail with an unhandled `DuplicateKeyException` (500).
   
   **Partial mitigation:** `SettingsService.saveGeneralSettings()` is `synchronized`, but this only protects within a single JVM — multi-instance deployments are exposed.
   
   **Fix direction:** Replace the read-then-insert with an upsert/retry pattern (e.g., `INSERT ... ON DUPLICATE KEY UPDATE` or catch-and-retry with `selectById` + `updateById`).
   
   An automated fix proposal can be generated. Reply `/approve` to proceed with PR generation.
   
   ---
   *Automated evaluation by RockteMQ-AI*


-- 
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: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Studio][Bug] Handle concurrent initial general-settings writes [rocketmq-dashboard]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on issue #2289:
URL: https://github.com/apache/rocketmq-dashboard/issues/2289#issuecomment-5403157722

   This issue has been automatically closed because there has been no activity for 7 days. If you believe this issue is still relevant, please reopen it with updated information.


-- 
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: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [Studio][Bug] Handle concurrent initial general-settings writes [rocketmq-dashboard]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] closed issue #2289: [Studio][Bug] Handle concurrent initial general-settings writes
URL: https://github.com/apache/rocketmq-dashboard/issues/2289


-- 
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: commits-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org