You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by "Jake Brownell (JIRA)" <ji...@apache.org> on 2009/11/07 01:27:32 UTC

[jira] Created: (SOLR-1546) When querying solrj the SolrServerException's cause is null

When querying solrj the SolrServerException's cause is null
-----------------------------------------------------------

                 Key: SOLR-1546
                 URL: https://issues.apache.org/jira/browse/SOLR-1546
             Project: Solr
          Issue Type: Improvement
          Components: clients - java
    Affects Versions: 1.4
         Environment: solrj
            Reporter: Jake Brownell
            Priority: Minor


Our application processes queries like so:

{code}
        try {
            final SolrServer server = getServer();
            final QueryResponse resp = server.query(query);
            return resp;
        } catch (final SolrServerException e) {
             /// bad things probably happened, invoke error processing and possibly switch to the backup
        }
{code}

Given SOLR-874 with dismax queries sometimes causing ParseException from Lucene, I'd like to be able to interrogate the cause chain of the SolrServerException. For example if I found ParseException in the chain, I could provide a specific error message and know that it's not necessary to switch to the backup server.

As it is now, getCause is giving null. The undesirable fix right now is looking inside the toString/description for the "ParseException" phrase.

Thanks.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SOLR-1546) When querying solrj the SolrServerException's cause is null

Posted by "Hoss Man (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SOLR-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12774836#action_12774836 ] 

Hoss Man commented on SOLR-1546:
--------------------------------


It would be helpful if you could post the stacktraces for the exception(s) you are seeing where there is no nested clause but you feel like there should be -- that way we'd have methods and line numbers of where the Exception originalted in order to determine why the cause isn't being set properly.

the current bug description feels like a needle in a hay stack.

> When querying solrj the SolrServerException's cause is null
> -----------------------------------------------------------
>
>                 Key: SOLR-1546
>                 URL: https://issues.apache.org/jira/browse/SOLR-1546
>             Project: Solr
>          Issue Type: Improvement
>          Components: clients - java
>    Affects Versions: 1.4
>         Environment: solrj
>            Reporter: Jake Brownell
>            Priority: Minor
>
> Our application processes queries like so:
> {code}
>         try {
>             final SolrServer server = getServer();
>             final QueryResponse resp = server.query(query);
>             return resp;
>         } catch (final SolrServerException e) {
>              /// bad things probably happened, invoke error processing and possibly switch to the backup
>         }
> {code}
> Given SOLR-874 with dismax queries sometimes causing ParseException from Lucene, I'd like to be able to interrogate the cause chain of the SolrServerException. For example if I found ParseException in the chain, I could provide a specific error message and know that it's not necessary to switch to the backup server.
> As it is now, getCause is giving null. The undesirable fix right now is looking inside the toString/description for the "ParseException" phrase.
> Thanks.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (SOLR-1546) When querying solrj the SolrServerException's cause is null

Posted by "Jake Brownell (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/SOLR-1546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12774838#action_12774838 ] 

Jake Brownell commented on SOLR-1546:
-------------------------------------

Sure, I was using the third 1.4 release candidate at the time. Hopefully this stack trace is helpful. I guess the summary is slightly misleading, the cause on the original caught exception is populated, it's just not possible to find the ParseException if you climb the exception chain.

{noformat}
Caused by: org.apache.solr.client.solrj.SolrServerException: Error executing query
at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:95)
at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:118)
at org.bookshare.search.solr.SolrSearchServerWrapper.query(SolrSearchServerWrapper.java:98) ... 32 more Caused by: org.apache.solr.common.SolrException: org.apache.lucene.queryParser.ParseException: Cannot parse 'OR dad': Encountered " <OR> "OR ""
at line 1, column 0. org.apache.lucene.queryParser.ParseException: Cannot parse 'OR dad': Encountered " <OR> "OR ""
at line 1, column 0. request: http://localhost:8080/solr/select?q.alt=*:*&qt=dismax&qf=title^2.0&qf=title_phonetic^0.8&qf=author^2.0&qf=author_phonetic^0.8&qf=isbn^3.0&qf=content^1.0&pf=title^2.0&pf=title_phonetic^0.8&pf=author^2.0&pf=author_phonetic^0.8&pf=content^1.0&tie=0.1&q=OR dad&fl=author,title,id,brief_synopsis,copyright_date,publish_date,format,grade,publisher,state,adult,demo,freely_available,nimac&rows=25&start=0&fq=(quality:2 OR quality:3 OR quality:0) AND state:5&hl=true&hl.snippets=3&hl.fl=content_highlight&facet=true&facet.field=author_exact&f.author_exact.facet.method=fc&f.author_exact.facet.limit=20&f.author_exact.facet.offset=0&f.author_exact.facet.mincount=1&f.author_exact.facet.sort=true&debugQuery=false&wt=javabin&version=1
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:424)
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:243)
at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:89) ... 34 more 
--------------------------------------------------------------------------------
org.apache.solr.client.solrj.SolrServerException@3a498c[ org.apache.solr.client.solrj.SolrServerException: Error executing query
at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:95)
at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:118)
at org.bookshare.search.solr.SolrSearchServerWrapper.query(SolrSearchServerWrapper.java:98)
at org.bookshare.search.solr.SolrSearchEngine.search(SolrSearchEngine.java:256)
at org.bookshare.web.servlet.mvc.BetaAwesomeSearchController.search(BetaAwesomeSearchController.java:425)
at org.bookshare.web.servlet.mvc.BetaAwesomeSearchController.onSubmit(BetaAwesomeSearchController.java:168)
at org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:267)
at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:265)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:114)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:359)
at org.springframework.web.filter.AbstractRequestLoggingFilter.doFilterInternal(AbstractRequestLoggingFilter.java:156)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:174)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:76)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:241)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:268)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:586)
at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:690)
at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:612)
at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.solr.common.SolrException: org.apache.lucene.queryParser.ParseException: Cannot parse 'OR dad': Encountered " <OR> "OR ""
at line 1, column 0. org.apache.lucene.queryParser.ParseException: Cannot parse 'OR dad': Encountered " <OR> "OR ""
at line 1, column 0. request: http://localhost:8080/solr/select?q.alt=*:*&qt=dismax&qf=title^2.0&qf=title_phonetic^0.8&qf=author^2.0&qf=author_phonetic^0.8&qf=isbn^3.0&qf=content^1.0&pf=title^2.0&pf=title_phonetic^0.8&pf=author^2.0&pf=author_phonetic^0.8&pf=content^1.0&tie=0.1&q=OR dad&fl=author,title,id,brief_synopsis,copyright_date,publish_date,format,grade,publisher,state,adult,demo,freely_available,nimac&rows=25&start=0&fq=(quality:2 OR quality:3 OR quality:0) AND state:5&hl=true&hl.snippets=3&hl.fl=content_highlight&facet=true&facet.field=author_exact&f.author_exact.facet.method=fc&f.author_exact.facet.limit=20&f.author_exact.facet.offset=0&f.author_exact.facet.mincount=1&f.author_exact.facet.sort=true&debugQuery=false&wt=javabin&version=1
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:424)
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:243)
at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:89) ... 34 more 
--------------------------------------------------------------------------------
org.apache.solr.common.SolrException@b2b9bc[ org.apache.solr.common.SolrException: org.apache.lucene.queryParser.ParseException: Cannot parse 'OR dad': Encountered " <OR> "OR ""
at line 1, column 0. org.apache.lucene.queryParser.ParseException: Cannot parse 'OR dad': Encountered " <OR> "OR ""
at line 1, column 0. request: http://localhost:8080/solr/select?q.alt=*:*&qt=dismax&qf=title^2.0&qf=title_phonetic^0.8&qf=author^2.0&qf=author_phonetic^0.8&qf=isbn^3.0&qf=content^1.0&pf=title^2.0&pf=title_phonetic^0.8&pf=author^2.0&pf=author_phonetic^0.8&pf=content^1.0&tie=0.1&q=OR dad&fl=author,title,id,brief_synopsis,copyright_date,publish_date,format,grade,publisher,state,adult,demo,freely_available,nimac&rows=25&start=0&fq=(quality:2 OR quality:3 OR quality:0) AND state:5&hl=true&hl.snippets=3&hl.fl=content_highlight&facet=true&facet.field=author_exact&f.author_exact.facet.method=fc&f.author_exact.facet.limit=20&f.author_exact.facet.offset=0&f.author_exact.facet.mincount=1&f.author_exact.facet.sort=true&debugQuery=false&wt=javabin&version=1
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:424)
at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:243)
at org.apache.solr.client.solrj.request.QueryRequest.process(QueryRequest.java:89)
at org.apache.solr.client.solrj.SolrServer.query(SolrServer.java:118)
at org.bookshare.search.solr.SolrSearchServerWrapper.query(SolrSearchServerWrapper.java:98)
at org.bookshare.search.solr.SolrSearchEngine.search(SolrSearchEngine.java:256)
at org.bookshare.web.servlet.mvc.BetaAwesomeSearchController.search(BetaAwesomeSearchController.java:425)
at org.bookshare.web.servlet.mvc.BetaAwesomeSearchController.onSubmit(BetaAwesomeSearchController.java:168)
at org.springframework.web.servlet.mvc.SimpleFormController.processFormSubmission(SimpleFormController.java:267)
at org.springframework.web.servlet.mvc.AbstractFormController.handleRequestInternal(AbstractFormController.java:265)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:114)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:91)
at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:359)
at org.springframework.web.filter.AbstractRequestLoggingFilter.doFilterInternal(AbstractRequestLoggingFilter.java:156)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:371)
at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:174)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at com.caucho.server.dispatch.FilterFilterChain.doFilter(FilterFilterChain.java:76)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:241)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:268)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:586)
at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:690)
at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:612)
at java.lang.Thread.run(Thread.java:619) 

{noformat}

> When querying solrj the SolrServerException's cause is null
> -----------------------------------------------------------
>
>                 Key: SOLR-1546
>                 URL: https://issues.apache.org/jira/browse/SOLR-1546
>             Project: Solr
>          Issue Type: Improvement
>          Components: clients - java
>    Affects Versions: 1.4
>         Environment: solrj
>            Reporter: Jake Brownell
>            Priority: Minor
>
> Our application processes queries like so:
> {code}
>         try {
>             final SolrServer server = getServer();
>             final QueryResponse resp = server.query(query);
>             return resp;
>         } catch (final SolrServerException e) {
>              /// bad things probably happened, invoke error processing and possibly switch to the backup
>         }
> {code}
> Given SOLR-874 with dismax queries sometimes causing ParseException from Lucene, I'd like to be able to interrogate the cause chain of the SolrServerException. For example if I found ParseException in the chain, I could provide a specific error message and know that it's not necessary to switch to the backup server.
> As it is now, getCause is giving null. The undesirable fix right now is looking inside the toString/description for the "ParseException" phrase.
> Thanks.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.