Shawn, Could this be a side-effect from SOLR-4019, in branch_4.0 this was commit r1405894 ? Prior to this commit, PingRequestHandler would throw a SolrException for 503/Bad Request. The change is that the exception isn't actually thrown but rather sent in place of the response. This prevents the container from logging huge stack traces just because PingrequestHandler is in a "disabled" state. Prior to this, SolrException had logging disabled for 503's with hardcoding, but this broke other uses of 503 SE's.
James Dyer E-Commerce Systems Ingram Content Group (615) 213-4311 -----Original Message----- From: Shawn Heisey [mailto:s...@elyograg.org] Sent: Tuesday, November 06, 2012 1:25 AM To: solr-user@lucene.apache.org Subject: Problem with ping handler, SolrJ 4.1-SNAPSHOT, Solr 3.5.0 If I send a ping request to Solr 4.1 from SolrJ 4.1, it works. I don't have an exact revision number from branch_4x, I don't know how to get it from SolrJ. The 4.1 server is running solr-impl 4.1-SNAPSHOT 1401798M with the patch from SOLR-1972 applied, and it's somewhat newer than SolrJ. Java code snippets: private static final String PING_HANDLER = "/admin/ping"; query.setRequestHandler(PING_HANDLER); response = _querySolr.query(query); If I use this exact same code to talk to a Solr 3.5.0 server (older version of the SOLR-1972 patch applied) with the ping handler in the "enabled" state, I get the following exception. The /admin/ping handler works in a browser on both Solr versions: Caused by: org.apache.solr.client.solrj.SolrServerException: Error executing query at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:98) at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:301) at com.newscom.common.solr.Core.ping(Core.java:396) ... 4 more Caused by: java.lang.RuntimeException: Invalid version (expected 2, but 60) or the data in not in 'javabin' format at org.apache.solr.common.util.JavaBinCodec.unmarshal(JavaBinCodec.java:109) at org.apache.solr.client.solrj.impl.BinaryResponseParser.processResponse(BinaryResponseParser.java:41) at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:384) at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:181) at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:90) ... 6 more If I use the XMLResponseParser instead, then I get a different exception: Caused by: org.apache.solr.common.SolrException: parsing error at org.apache.solr.client.solrj.impl.XMLResponseParser.processResponse(XMLResponseParser.java:143) at org.apache.solr.client.solrj.impl.XMLResponseParser.processResponse(XMLResponseParser.java:104) at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:384) at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:181) at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:90) at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:301) at com.newscom.common.solr.Core.ping(Core.java:398) ... 4 more Caused by: java.lang.Exception: really needs to be response or result. not:html at org.apache.solr.client.solrj.impl.XMLResponseParser.processResponse(XMLResponseParser.java:134) ... 10 more I'm already dealing with the expected "Service Unavailable" exception, this is something different. Is it going to be possible to make this work? Should I file an issue in Jira? Is the problem in the newer SolrJ or in the older Solr? At this time I do not really need the information in the response, I just need to be able to judge success (Solr is up and working) by nothing being thrown, and be able to look into any exception thrown to see whether I've got a disabled handler or an error condition. Thanks, Shawn