4 Replies Latest reply on Oct 14, 2016 9:12 AM by mduey

    Multiple Solr Collections Error

    mduey

      I have multiple collections on my server and use cfsearch to retrieve data from them.  I have been sending requests using multiple collections like this:

       

      <cfsearch name="mysearch" collection="collection1,collection2" criteria="test">

       

      This works on my dev server, but fails on my production server.  I am running CF 11 (11,0,08,298512) on both (Windows Server 2008 on both too).  I can get results on my production server if I query one collection at a time, but if I try both, it crashes the AddOn service.

       

      Any ideas?

       

      Got an error message finally:

       

      500 Error

      There was a problem while attempting to perform a search.

      Type: SearchEngine

      java.net.SocketException: Connection reset : Connection reset

       coldfusion.tagext.search.SearchTag$SearchProblemException: There was a problem while attempting to perform a search. at coldfusion.tagext.search.SolrUtils.formatSearchResult(SolrUtils.java:2022) at coldfusion.tagext.search.SolrUtils.getSearchResult(SolrUtils.java:2516) at coldfusion.tagext.search.SolrUtils.getSearchResult(SolrUtils.java:2276) at coldfusion.tagext.search.SearchTag.doSolrSearch(SearchTag.java:397) at coldfusion.tagext.search.SearchTag.doSearch(SearchTag.java:243) at coldfusion.tagext.search.SearchTag.doStartTag(SearchTag.java:185) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2991) at cftest2ecfm1608686197.runPage(D:\insidecbt\inc\admin\test\test.cfm:4) at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:246) at coldfusion.tagext.lang.IncludeTag.handlePageInvoke(IncludeTag.java:736) at coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:572) at coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65) at coldfusion.filter.IpFilter.invoke(IpFilter.java:45) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:466) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:42) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:142) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62) at coldfusion.CfmServlet.service(CfmServlet.java:219) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:450) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:197) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) 
        • 1. Re: Multiple Solr Collections Error
          WolfShade Level 4

          Place CFTRY/CFCATCH around your CFINDEX, and either display or email a CFDUMP of the #cfcatch# object.  This should give you a better idea of what is happening.  Please post the message, here, and I'll try to provide whatever assistance I may.

           

          V/r,

           

          ^_^

          • 2. Re: Multiple Solr Collections Error
            mduey Level 1

            Hi WolfShade... it indexes fine with no errors and I can search and retrieve with no errors as well, as long as I am only searching one collection.

            This works:

            <cfsearch name="mysearch" collection="collection1" criteria="test">

             

            This works:

            <cfsearch name="mysearch" collection="collection2" criteria="test">

             

            This does not work:

            <cfsearch name="mysearch" collection="collection1,collection2" criteria="test">

            The service hangs when I submit this search.

             

            Note that I have the same setup on my dev server and it searches two collections fine with no errors.

             

            If do the cftry below, I don't get an error message, it just hangs there spinning:

            <cftry>

                 <cfsearch

                     name="rs"

                     collection="collection1,collection2"

                     criteria="test">

                

                 <cfcatch><cfdump var="#cfcatch#"></cfcatch>

            </cftry>   

             

            <cfdump var="#rs.recordcount#">

             

            I have found a standalone AddOn service installer on the Adobe site.  Can I use this to reinstall the AddOn service in my cf11 install or is this only to create a separate stand-alone version?

            • 3. Re: Multiple Solr Collections Error
              WolfShade Level 4

              If the CFINDEX hangs, then that explains why no CFCATCH is triggered.  Is there anything in the CFAdmin logs?  If you can, archive the coldfusion-out, application, and other logs, run the script that hangs, give it a few moments, then check the logs to see if anything new indicates what the issue is. 

               

              Then, again, how large of a collection are you searching?  Have you re-indexed it?  Is it a database or file collection?  Have you optimized the collection?

               

              V/r,

               

              ^_^

              • 4. Re: Multiple Solr Collections Error
                mduey Level 1

                CFINDEX works fine, I am indexing two separate collections, one database and one files.

                 

                CFSEARCH works fine on both collections if I search them individually.

                 

                It breaks when I try to search both at the same time.

                 

                I have to wait until the weekend to work on this again, but here is one error from coldfusion-out that occured when I was testing this:

                 

                Oct 8, 2016 17:46:00 PM Error [ajp-bio-8014-exec-1] - java.lang.NullPointerException at coldfusion.tagext.search.SearchTag.doSearch(SearchTag.java:269) at coldfusion.tagext.search.SearchTag.doStartTag(SearchTag.java:185) at coldfusion.runtime.CfJspPage._emptyTcfTag(CfJspPage.java:2991) at cfsearch2ecfc591865024$funcGETSEARCH.runFunction(D:\insidecbt\plugins\search_dms\model\se arch.cfc:269) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:487) at coldfusion.runtime.UDFMethod$ArgumentCollectionFilter.invoke(UDFMethod.java:383) at coldfusion.filter.FunctionAccessFilter.invoke(FunctionAccessFilter.java:95) at coldfusion.runtime.UDFMethod.runFilterChain(UDFMethod.java:334) at coldfusion.runtime.UDFMethod.invoke(UDFMethod.java:533) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:648) at coldfusion.runtime.TemplateProxy.invoke(TemplateProxy.java:457) at coldfusion.filter.ComponentFilter.invoke(ComponentFilter.java:251) at coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:480) at coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:42) at coldfusion.filter.MonitoringFilter.invoke(MonitoringFilter.java:40) at coldfusion.filter.PathFilter.invoke(PathFilter.java:142) at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94) at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:2 8) at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38) at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:58) at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38) at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22) at coldfusion.xml.rpc.CFCServlet.invoke(CFCServlet.java:156) at coldfusion.xml.rpc.CFCServlet.doPost(CFCServlet.java:348) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42 ) at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j ava:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:450) at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:197) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.jav a:625) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)