[
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: [email protected]
For additional commands, e-mail: [email protected]