So the real error is authentication, (the version is spurious) but why that when authentication is being set on the updateRequest?
-----Original Message----- From: Shawn Heisey [mailto:elyog...@elyograg.org] Sent: Thursday, 2 November 2017 3:55 p.m. To: solr-user@lucene.apache.org Subject: Re: adding documents to a secured solr server. On 11/1/2017 8:13 PM, Phil Scadden wrote: > 14:52:45,962 DEBUG ConcurrentUpdateSolrClient:177 - starting runner: > org.apache.solr.client.solrj.impl.ConcurrentUpdateSolrClient$Runner@6e > eba4a > 14:52:46,224 WARN ConcurrentUpdateSolrClient:343 - Failed to parse > error response from http://online-dev.gns.cri.nz:8983/solr/prindex due > to: java.lang.RuntimeException: Invalid version (expected 2, but 60) > or the data in not in 'javabin' format <snip> > Even more puzzling. Authentication is set. What is the invalid version bit?? > I think my solrj is 6.4.1; the server is 6.6.2. Do these have to match > exactly?? The only time I would be worried about different SolrJ and Solr versions is when using the CloudSolrClient object. For the other client types, you can usually have a VERY wide version spread without problems. For the cloud object, you *might* have problems with different versions, or it might work fine. If the SolrJ version is higher than the Solr version, the cloud client tends to work. I would always recommend that the client version be the same or higher than the server version... but with non-cloud clients, it won't matter very much. I would not expect problems with the two versions you have, as long as you don't try to use the cloud client. This error is different. It's happening because SolrJ is expecting a Javabin response, but it is getting an HTML error response instead, with the "require authentication" error. This logging message will happen anytime SolrJ gets an error response instead of a "real" response. What this error says is technically correct, but very confusing to novice users. The specific numbers in the message are a result of the first character of the response. With javabin, the first character would be 0x02 to indicate the javabin version of 2, but with HTML, the first character is the opening angle bracket, or character number 60 (0x3C). This is where those two numbers come from. Thanks, Shawn Notice: This email and any attachments are confidential and may not be used, published or redistributed without the prior written consent of the Institute of Geological and Nuclear Sciences Limited (GNS Science). If received in error please destroy and immediately notify GNS Science. Do not copy or disclose the contents.