[ 
https://issues.apache.org/jira/browse/SOLR-4143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13538732#comment-13538732
 ] 

Shawn Heisey commented on SOLR-4143:
------------------------------------

Looking into QueryRequest, I found SolrPing.  I figured out how to use that 
object to get the results I need with no patching at all.  The following method 
accepts null, true, and false as valid values.  Unlike what I've pasted here, 
my actual implementation throws an exception in the 'catch' block:

{noformat}
  public final SolrPingResponse ping(Boolean enable)
  {
    SolrPing ping = new SolrPing();
    SolrPingResponse response = null;
    try
    {
      if (enable != null)
      {
        if (enable)
        {
          ping.getParams().set("action", "enable");
        }
        else
        {
          ping.getParams().set("action", "disable");
        }
      }
      response = ping.process(_querySolr);
    }
    catch (Exception e)
    {
      // handle the error!
    }
    return response;
  }
{noformat}

I still think this feature request is worth doing, but I no longer have a 
strong vested interest in HOW it's done.

                
> setRequestHandler - option to not set qt parameter
> --------------------------------------------------
>
>                 Key: SOLR-4143
>                 URL: https://issues.apache.org/jira/browse/SOLR-4143
>             Project: Solr
>          Issue Type: Improvement
>          Components: clients - java
>    Affects Versions: 4.0
>         Environment: solr-impl    4.1-SNAPSHOT 1416639M - ncindex - 
> 2012-12-03 12:54:38
>            Reporter: Shawn Heisey
>             Fix For: 4.1, 5.0
>
>         Attachments: SOLR-4143-alternate.patch, SOLR-4143-alternate.patch, 
> SOLR-4143-alternate-testsfailing.patch, SOLR-4143.patch, SOLR-4143.patch, 
> SOLR-4143.patch, SOLR-4143.patch, SOLR-4143.patch
>
>
> The setRequestHandler method does what I expect in one way - it changes the 
> URL path from /select to the String argument.  It is however doing something 
> that I did not expect, which is setting the qt parameter on the query as 
> well.  Here is the code:
> private static final String PING_HANDLER = "/admin/ping";
> query.setRequestHandler(PING_HANDLER);
> This is resulting in the following exception being logged in my Solr 3.5.0 
> servers.  I am not including the whole exception, because this issue is for 
> SolrJ 4, not Solr 3.5, and the 3.5 version is working as it was designed.
> {code}
> Dec 3, 2012 4:04:01 PM org.apache.solr.common.SolrException log
> SEVERE: org.apache.solr.common.SolrException: Cannot execute the 
> PingRequestHandler recursively
>         at 
> org.apache.solr.handler.PingRequestHandler.handleRequestBody(PingRequestHandler.java:60)
>         at 
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:208)
> {code}
> I believe it would be useful to include an alternate setRequestHandler method 
> that includes a boolean option deciding whether or not to also set the qt 
> parameter.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to