youngkermit8-coder opened a new issue, #1729: URL: https://github.com/apache/rocketmq-dashboard/issues/1729
## Problem `LlmConfigService.listModels()` is declared `synchronized` and calls `OpenAiCompatibleLlmClient.listModels()` while holding the service monitor. The provider request can take up to the configured 60-second timeout. `getConfig()` and `saveConfig()` use the same monitor. While an administrator refreshes a slow or stalled OpenAI-compatible model catalog, concurrent AI chat requests cannot read their configuration and configuration updates cannot proceed, even though the outbound request no longer needs mutable service state after taking a configuration snapshot. ## Expected behavior - take a consistent configuration snapshot under the existing short critical section - perform provider I/O after releasing the service monitor - keep configuration reads and saves responsive while model discovery is in flight - retain the existing built-in/fallback model behavior ## Acceptance criteria - a deterministic concurrency regression proves `getConfig()` completes while provider model discovery is blocked - model discovery still uses the captured configuration - existing LLM configuration tests and Checkstyle pass ## Scope This changes only lock duration in `LlmConfigService`; it does not add caching or alter provider request semantics. -- 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]
