[ 
https://issues.apache.org/jira/browse/SOLR-15311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17321223#comment-17321223
 ] 

Christine Poerschke commented on SOLR-15311:
--------------------------------------------

{quote}... That's correct, the operation completes just fine ...
{quote}
Thanks for confirming!

So taking another look at the code this evening, I have a partially explored 
theory:
 * see at 
[https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.8.2/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java#L646-L648]
 how it inspects the cluster state w.r.t. the collection and how it checks it 
against the details of the "modify collection" request to see it's been fully 
applied?
 * now first i thought that well, the {{configName}} is not stored in the 
cluster state and so it's never gonna find it there but then I noticed that 
that's accounted for by the 
[https://github.com/apache/lucene-solr/blob/releases/lucene-solr/8.8.2/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java#L631]
 removal which also has a very helpful comment to that effect.
 * alright, so it's not that then plus that wouldn't have explained why the 
issue only happens with "async" mode.
 * So then I saw on {{solr/main}} branch the 
{{getZkStateReader().waitForState}} and I wondered what happens if after the 
removal of the {{collection.configName}} there is nothing left in the 
properties, would it be waiting around forever?
 * And anyway, what exactly is in the {{message.getProperties()}} at this point?

So, my theory is that in the "async" case the "async" is in them properties and 
well it can wait around forever it ain't never gonna find the "async" key and 
its value in the collection state or cluster state, is it?

[~kstoney], would you be interested in investigating the theory further e.g. 
via a locally built Solr version you may already have and/or via {{solr/main}} 
branch changes i.e. 
[https://github.com/apache/solr/blob/51e749d40486815d70b249ef1a02ce1cd3a644c1/solr/core/src/java/org/apache/solr/cloud/api/collections/CollApiCmds.java#L251-L263]
 loop adjustments?

> MODIFYCOLLECTION configName with async fails
> --------------------------------------------
>
>                 Key: SOLR-15311
>                 URL: https://issues.apache.org/jira/browse/SOLR-15311
>             Project: Solr
>          Issue Type: Bug
>    Affects Versions: 8.8, 8.8.1
>            Reporter: Karl Stoney
>            Priority: Minor
>
> Hi, 
> If you perform a `MODIFYCOLLECTION` with an `async` number, it will fail 
> after about 30 seconds.  However the exact same request without async works 
> just fine and returns successfully instantly.
> {{
> 11:34:01.057 
> [OverseerThreadFactory-20-thread-5-processing-n:solr-0.search-solr.svc.cluster.local:80_solr]
>  ERROR org.apache.solr.cloud.api.collections.OverseerCollectionMessageHandler 
> - Collection: at-uk-004 operation: modifycollection 
> failed:org.apache.solr.common.SolrException: Could not modify collection {
>   "collection":"at-uk-004",
>   "async":"1617449610",
>   "operation":"modifycollection"}
>         at 
> org.apache.solr.cloud.api.collections.OverseerCollectionMessageHandler.modifyCollection(OverseerCollectionMessageHandler.java:669)
>         at 
> org.apache.solr.cloud.api.collections.OverseerCollectionMessageHandler.processMessage(OverseerCollectionMessageHandler.java:266)
>         at 
> org.apache.solr.cloud.OverseerTaskProcessor$Runner.run(OverseerTaskProcessor.java:524)
>         at 
> org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:218)
>         at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>         at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>         at java.base/java.lang.Thread.run(Thread.java:834)
> }}
> The request i'm sending (POST):
> {{
>     const url = `${this.host}/solr/admin/collections`
>     const searchParams = {
>       action: 'MODIFYCOLLECTION',
>       collection: collectionName,
>       'collection.configName': newConfigName
>     }
> }}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to