[
https://issues.apache.org/jira/browse/SOLR-11526?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16216016#comment-16216016
]
Jason Gerlowski commented on SOLR-11526:
----------------------------------------
I'd thought the "status" field would be enough to solve this, but it looks like
it's 0 even on many failures:
{code}
{
"responseHeader": {
"status": 0,
"QTime": 13058
},
"failure": {
"127.0.0.1:45211_solr":
"org.apache.solr.client.solrj.impl.HttpSolrClient$RemoteSolrException:Error
from server at http://127.0.0.1:45211/solr: Error CREATEing SolrCore
'foo_shard1_replica_n1': Unable to create core [foo_shard1_replica_n1] Caused
by: access denied (\"java.io.FilePermission\" \"/some_invalid_dir/foo/tlog\"
\"write\")"
}
}
{code}
I feel like I'm misinterpreting the intent of the status field. The few times
I see it set as non-zero, it holds the HTTP status code from the request to
Solr. This seems like it could be used for success-determination, though maybe
Solr doesn't use HTTP status codes consistently enough for this to be reliable.
I'll take a look at the logic used to set the status field for these APIs and
see if using "status" is as reasonable as it appears at first blush.
> CollectionAdminResponse.isSuccess() incorrect for most admin collections APIs
> -----------------------------------------------------------------------------
>
> Key: SOLR-11526
> URL: https://issues.apache.org/jira/browse/SOLR-11526
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Components: SolrJ
> Affects Versions: master (8.0)
> Reporter: Jason Gerlowski
> Priority: Minor
>
> {{CollectionAdminResponse}} has a boolean {{isSuccess}} method which reports
> whether the API was called successfully. It returns true if it finds a
> non-null NamedList element called "success". It returns false otherwise.
> Unfortunately, only a handful of the Collection-Admin APIs have this element.
> APIs that don't contain this element in their response will always appear to
> have failed (according to {{isSuccess()}}).
> The current implementation is correct for:
> - CREATECOLLECTION
> - RELOAD
> - SPLITSHARD
> - DELETESHARD
> - DELETECOLLECTION
> - ADDREPLICA
> - MIGRATE
> The current implementation is incorrect for:
> - CREATESHARD
> - CREATEALIAS
> - DELETEALIAS
> - LISTALIASES
> - CLUSTERPROP
> - ADDROLE
> - REMOVEROLE
> - OVERSEERSTATUS
> - CLUSTERSTATUS
> - REQUESTSTATUS
> - DELETESTATUS
> - LIST
> - ADDREPLICAPROP
> - DELETEREPLICAPROP
> - BALANCESHARDUNIQUE
> - REBALANCELEADERS
> (these lists are incomplete)
> A trivial fix for this would be to change the implementation to check the
> "status" NamedList element (which is present in all Collection-Admin APIs).
> My understanding is that the "status' field is set to 0 always on success.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]