SearchStax

The SearchStax® Frequently Asked Questions page includes the following approved question and answer about our Apache Solr Cloud services.


What is a V2HttpCall Error?

An “V2HttpCall” Error in your solr.log file means that someone tried to modify your Solr deployment using the Sol v2 API, but something went wrong. It usually indicates an innocent misconfiguration of your Sitecore connection, but it might be malevolent code trying to attack your system.

The log entry contains V2HttpCall as shown below.

2019-10-10 05:15:50.789 ERROR (qtp2008362258-11137) [   ] o.a.s.a.V2HttpCall >> path: '/index.php'

2019-10-10 05:15:50.790 ERROR (qtp2008362258-11137) [   ] o.a.s.a.V2HttpCall Error in init()

org.apache.solr.common.SolrException: no core retrieved for null

These are often 404 or 500 errors saying that the system could not find a core named “null”.

Mechanism of the Error

The Solr v2 API lets someone configure or manipulate your collections, replicas, and cores in powerful ways. The API is also self-documenting, which means we can experiment with it harmlessly.

Enter a command like this one in a browser address bar:

https://ss123456-jkls3la0-ca-central-1-aws.searchstax.com/api/c/filmcollection/get/_introspect

That’s the Solr Http Endpoint of your deployment without the /solr/ suffix of the path! You must also supply the name of a collection (shown as “filmcollection” in the example). If all is correct, you’ll get a screen of auto-generated documentation:

{
  "responseHeader":{
    "status":0,
    "QTime":1},
  "spec":[{
      "documentation":"https://lucene.apache.org/solr/guide/realtime-get.html",
      "description":"RealTime Get allows retrieving documents by ID before the documents have been committed to the index. It is useful when you need access to documents as soon as they are indexed but your commit times are high for other reasons." ...

Now change the collection name slightly, as from “filmcollection” to “filmCollection”. This time you get a V2HttpCall error:

{
  "responseHeader":{
    "status":500,
    "QTime":3},
  "error":{
    "trace":"java.lang.NullPointerException\n\tat org.apache.solr.api.V2HttpCall.handleAdmin(V2HttpCall.java:337)

If you look for this event in solr.log, you’ll see something like this:

solr.log:26057:2022-01-27 18:20:46.756 ERROR (qtp1000975683-22) [   ] o.a.s.a.V2HttpCall >> path: '/c/filmCollection/get/_introspect'

If the API cannot locate a collection, then it looks for a core. The path following “c” is considered as the core name. If Solr is unable to find the core, it then returns an error saying, “no core retrieved for null” along with the path that was specified: “path: ‘/c/filmCollection/get/_introspect’.”

Therefore, when we see V2HttpCall errors that mention a path, we suspect that something is misconfigured in the client program.

Incorrect Sitecore Connection String

This error can be caused by an incorrect Sitecore connection string. Be sure that the string ends with /solr;solrCloud=true.

Malicious Code

If malicious code is leaving V2HttpCall errors in solr.log, it probably means that your deployment is protected by Basic Auth but not by IP Filtering.

It is a common mistake to add IP Filters to Solr without removing the default 0.0.0.0/0 filter from the list. That’s like putting strong locks on your door and then leaving it open.


We love to answer questions!

Please contact the SearchStax Support Desk immediately if you have any question about Solr Cloud deployments.

Return to Frequently Asked Questions.