adityamparikh commented on issue #224:
URL: https://github.com/apache/solr-mcp/issues/224#issuecomment-6298846575

   **Blocked on MCP Tasks: #274.**
   
   The request is sound. I checked the SolrJ calls against 
`solr-solrj-10.0.0-sources.jar`:
   
   - `backupCollection`, `listBackup` and `restoreCollection` exist, with their 
repository, location and `backupId` setters.
   - `setFollowAliases` returns `void`.
   - `processAndWait` deletes the stored status, and with it the failure 
message, on `COMPLETED`/`FAILED` (`CollectionAdminRequest.java:1862-1876`).
   - `listCollections(SolrClient)` exists.
   
   What changes is the async handling. Backup and restore can run for minutes. 
The current proposal works around that with a 30 s in-process poll that then 
returns a `requestId` the agent can only confirm indirectly. A backup that 
fails after the deadline never appears in `list-backups`, and nothing deletes 
the stored async status.
   
   The MCP 2026-07-28 spec covers this case with the Tasks extension 
(`io.modelcontextprotocol/tasks`). Rather than ship a workaround, this issue 
waits until the MCP Java SDK and Spring AI support Tasks. Neither has started 
yet. All three tools wait, so they land together.
   
   Most of the proposal carries over unchanged: parameters, refusing to restore 
over an existing collection, `followAliases`, the response records, hints, 
threat-model rows and tests. When this is unblocked, three parts change:
   
   - **Async handling:** a client that declared the Tasks extension gets a task 
straight away. The task id is the Solr async id, and `tasks/get` maps to 
`REQUESTSTATUS`. Clients without Tasks get either a blocking call or a refusal, 
to be decided at implementation time.
   - **Acceptance criterion:** "outlasts the 30 s wait returns `state` and 
`requestId`" becomes task lifecycle criteria: `working`, then `completed` with 
the result, or `failed` with Solr's `exception.msg`.
   - **`docs/backups.md`:** in a SolrCloud with more than one node, the local 
filesystem repository needs a location shared by every node. The single-node 
test container hides this.
   
   #274 has the upstream status and the unblock checklist.
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to