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]

Reply via email to