boxalino / plugin-magento2

boxalino plugin for Magento 2
1 stars 6 forks source link

Exception when searching: undefined field: "products_bit_size" #29

Closed heldchen closed 8 years ago

heldchen commented 8 years ago

currently all searches (f.e. /catalogsearch/result/?q=futter) result in the following exception

1 exception(s):
Exception #0 (com\boxalino\p13n\api\thrift\P13nServiceException): java.lang.reflect.UndeclaredThrowableException
    at com.sun.proxy.$Proxy11.choose(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.boxalino.p13n.impl.ThriftExceptionConverter.invoke(ThriftExceptionConverter.java:33)
    at com.sun.proxy.$Proxy11.choose(Unknown Source)
    at com.boxalino.p13n.api.thrift.P13nService$Processor$choose.getResult(P13nService.java:480)
    at com.boxalino.p13n.api.thrift.P13nService$Processor$choose.getResult(P13nService.java:464)
    at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
    at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
    at org.apache.thrift.server.TServlet.doPost(TServlet.java:83)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at com.boxalino.p13n.web.P13nServlet.service(P13nServlet.java:34)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    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:501)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.boxalino.common.util.monitoring.RequestMonitorProxy.invokeInternal(RequestMonitorProxy.java:43)
    at com.boxalino.p13n.util.RequestMonitorProxyWithHistory.invoke(RequestMonitorProxyWithHistory.java:53)
    ... 32 more
Caused by: java.lang.RuntimeException: org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: undefined field: "products_bit_size"
    at com.boxalino.p13n.solr.MultiSolrQueryExecutor$1.call(MultiSolrQueryExecutor.java:58)
    at com.boxalino.p13n.solr.MultiSolrQueryExecutor$1.call(MultiSolrQueryExecutor.java:48)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    ... 3 more
Caused by: org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: undefined field: "products_bit_size"
    at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:425)
    at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:180)
    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.boxalino.p13n.solr.MultiSolrQueryExecutor$1.call(MultiSolrQueryExecutor.java:53)
    ... 7 more

Exception #0 (com\boxalino\p13n\api\thrift\P13nServiceException): java.lang.reflect.UndeclaredThrowableException
    at com.sun.proxy.$Proxy11.choose(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.boxalino.p13n.impl.ThriftExceptionConverter.invoke(ThriftExceptionConverter.java:33)
    at com.sun.proxy.$Proxy11.choose(Unknown Source)
    at com.boxalino.p13n.api.thrift.P13nService$Processor$choose.getResult(P13nService.java:480)
    at com.boxalino.p13n.api.thrift.P13nService$Processor$choose.getResult(P13nService.java:464)
    at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
    at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
    at org.apache.thrift.server.TServlet.doPost(TServlet.java:83)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at com.boxalino.p13n.web.P13nServlet.service(P13nServlet.java:34)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    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:501)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.boxalino.common.util.monitoring.RequestMonitorProxy.invokeInternal(RequestMonitorProxy.java:43)
    at com.boxalino.p13n.util.RequestMonitorProxyWithHistory.invoke(RequestMonitorProxyWithHistory.java:53)
    ... 32 more
Caused by: java.lang.RuntimeException: org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: undefined field: "products_bit_size"
    at com.boxalino.p13n.solr.MultiSolrQueryExecutor$1.call(MultiSolrQueryExecutor.java:58)
    at com.boxalino.p13n.solr.MultiSolrQueryExecutor$1.call(MultiSolrQueryExecutor.java:48)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    ... 3 more
Caused by: org.apache.solr.client.solrj.impl.HttpSolrServer$RemoteSolrException: undefined field: "products_bit_size"
    at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:425)
    at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:180)
    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.boxalino.p13n.solr.MultiSolrQueryExecutor$1.call(MultiSolrQueryExecutor.java:53)
    ... 7 more

#0 /var/www/users/xxx/src/www/app/code/Boxalino/Intelligence/Lib/P13nService.php(152): com\boxalino\p13n\api\thrift\P13nService_choose_result->read(Object(Thrift\Protocol\TCompactProtocol))

this seems to be server side - maybe the plugin should fallback gracefully to the magento internal full text search in such cases?

tatsuya1 commented 8 years ago

Please do a full reindex, after the index the error message should disappear.

heldchen commented 8 years ago

this seems to be still a problem despite the updated code and full reindex

tatsuya1 commented 8 years ago

we didn't receive any data on stage_qualipet_magento.

heldchen commented 8 years ago

well, you ran the reindex yourself on test, and I did so on prod...

heldchen commented 8 years ago

prod: retried with the latest version, reran the indexer, still same exception.

[xxx_prod@xxx1 scripts]$ ./magento.sh indexer:reindex boxalino_indexer
Boxalino Exporter index has been rebuilt successfully in 00:10:30
heldchen commented 8 years ago

heads up: running the full index on our test db takes ages (probably due to the historical data migrated into the test db) and therefore needs to be run in a screen session.

maybe it would make sense to have different boxalino indexers in addition to the full one:

boxalino_indexer_products
boxalino_indexer_customers
boxalino_indexer_transactions

the latter two will far less likely require a full reindex in comparsion to the products dataset...

heldchen commented 8 years ago

thanks, this looks fixed now.