Page 1 of 1

Dashboard search error

PostPosted:Thu Nov 12, 2015 3:00 am
by farkinid
Hi there,

I was testing OpenKM and had successfully set up a running headless server. The final test was to delete everything and restore from backup. After restoring from backup (using rdiff-backup and restoring from a .sql), tomcat server seemed to be running fine. During usage of the new server, I ran into a problem with the dashboard search. It throws an error when searching for a keyword that was entered in the original server. Please see the screenshot for error.

Creation and search of new keywords show no problems. Its only 1 keyword that causes issues. I am not sure where to begin fixing the problem therefore I'm looking for some help/direction.

Thanks.

farkinid

Re: Dashboard search error

PostPosted:Fri Nov 13, 2015 6:13 pm
by jllort
Reproduce the problem again, and then copy here the stack trace error you will see at the end of catalina.log file ( seems the problems comes from a Mail, but is needed take a look in more deep ).

Re: Dashboard search error

PostPosted:Tue Nov 17, 2015 1:58 am
by farkinid
Hi jllort,

I tried to post earlier but it seems that my posting requires administrator review. So here I am trying to post again. Anyways, below is the snippet of the stack trace that you have requested.
Code: Select all
2015-11-16 09:32:23,485 [http-bio-0.0.0.0-8080-exec-10] ERROR com.openkm.servlet.frontend.SearchServlet- No row with the given identifier exists: [com.openkm.dao.bean.NodeMail#8a359f2f-6b22-4903-91f1-3f975a6403f7]
com.openkm.core.DatabaseException: No row with the given identifier exists: [com.openkm.dao.bean.NodeMail#8a359f2f-6b22-4903-91f1-3f975a6403f7]
	at com.openkm.dao.SearchDAO.findByQuery(SearchDAO.java:161)
	at com.openkm.module.db.DbSearchModule.findSimpleQueryPaginated(DbSearchModule.java:1027)
	at com.openkm.api.OKMSearch.findSimpleQueryPaginated(OKMSearch.java:270)
	at com.openkm.servlet.frontend.SearchServlet.findSimpleQueryPaginated(SearchServlet.java:301)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	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.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	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:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.openkm.dao.bean.NodeMail#8a359f2f-6b22-4903-91f1-3f975a6403f7]
	at org.hibernate.impl.SessionFactoryImpl$2.handleEntityNotFound(SessionFactoryImpl.java:435)
	at org.hibernate.event.def.DefaultLoadEventListener.returnNarrowedProxy(DefaultLoadEventListener.java:320)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:277)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.get(SessionImpl.java:1005)
	at org.hibernate.impl.SessionImpl.get(SessionImpl.java:998)
	at org.hibernate.search.impl.FullTextSessionImpl.get(FullTextSessionImpl.java:396)
	at com.openkm.dao.NodeMailDAO.isMail(NodeMailDAO.java:198)
	at com.openkm.dao.SearchDAO.addResult(SearchDAO.java:490)
	at com.openkm.dao.SearchDAO.runQueryLucene(SearchDAO.java:253)
	at com.openkm.dao.SearchDAO.findByQuery(SearchDAO.java:140)
	... 56 more
2015-11-16 09:35:33,118 [Update Info] INFO  com.openkm.core.UpdateInfo- *** UpdateInfo activated ***
2015-11-16 09:37:40,701 [Update Info] ERROR com.openkm.util.Update- IOException: Connection timed out
2015-11-16 09:37:40,701 [Update Info] INFO  com.openkm.util.Update- checkVersion: 
I also noticed that there are 2 keywords that result in this same error. These keywords are also the names of 2 directories under the root directory in the taxonomy. For example, under root, I have a directory named Tax. Some files (within and without the Tax directory) also have the keyword tax. When I search for the word tax, it results in this error. I am not sure why.

Re: Dashboard search error

PostPosted:Tue Nov 17, 2015 12:42 pm
by pavila
Can you reproduce the error in a recent night build?

Re: Dashboard search error

PostPosted:Wed Nov 18, 2015 6:58 am
by farkinid
I downloaded the 6.3.1 nightly build and replaced the older war file. However the error still persists. Below is the stack trace you might want
Code: Select all
2015-11-18 14:38:22,620 [http-bio-0.0.0.0-8080-exec-6] ERROR com.openkm.servlet.frontend.SearchServlet- No row with the given identifier exists: [com.openkm.dao.bean.NodeMail#8a359f2f-6b22-4903-91f1-3f975a6403f7]
com.openkm.core.DatabaseException: No row with the given identifier exists: [com.openkm.dao.bean.NodeMail#8a359f2f-6b22-4903-91f1-3f975a6403f7]
	at com.openkm.dao.SearchDAO.findByQuery(SearchDAO.java:161)
	at com.openkm.module.db.DbSearchModule.findSimpleQueryPaginated(DbSearchModule.java:1027)
	at com.openkm.api.OKMSearch.findSimpleQueryPaginated(OKMSearch.java:270)
	at com.openkm.servlet.frontend.SearchServlet.findSimpleQueryPaginated(SearchServlet.java:301)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
	at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
	at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	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.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	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:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.hibernate.ObjectNotFoundException: No row with the given identifier exists: [com.openkm.dao.bean.NodeMail#8a359f2f-6b22-4903-91f1-3f975a6403f7]
	at org.hibernate.impl.SessionFactoryImpl$2.handleEntityNotFound(SessionFactoryImpl.java:435)
	at org.hibernate.event.def.DefaultLoadEventListener.returnNarrowedProxy(DefaultLoadEventListener.java:320)
	at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:277)
	at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:152)
	at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1090)
	at org.hibernate.impl.SessionImpl.get(SessionImpl.java:1005)
	at org.hibernate.impl.SessionImpl.get(SessionImpl.java:998)
	at org.hibernate.search.impl.FullTextSessionImpl.get(FullTextSessionImpl.java:396)
	at com.openkm.dao.NodeMailDAO.isMail(NodeMailDAO.java:198)
	at com.openkm.dao.SearchDAO.addResult(SearchDAO.java:490)
	at com.openkm.dao.SearchDAO.runQueryLucene(SearchDAO.java:253)
	at com.openkm.dao.SearchDAO.findByQuery(SearchDAO.java:140)
	... 56 more
Additional info you might require :-
  1. Hardware : Virtualbox Virtual machine
  2. Operating System : Debian Jessie 64-bit (x86_74)
  3. Type : Openkm-6.3.1-tomcat-bundle.zip
  4. SQL version : MySQL5.5
  5. Java version : OpenJDK-7
  6. Office suite : LibreOffice installed
Please note that this is a fresh install with only OpenKM related programmes installed.

Re: Dashboard search error

PostPosted:Fri Nov 20, 2015 8:56 am
by pavila
It seems the Lucene data is not in sync with database contents. Please, go to Administration > Utilities > Rebuild indexes and choose "Optmize indexes".

Tell me if after doing it, this works.

Re: Dashboard search error

PostPosted:Fri Nov 27, 2015 1:39 am
by farkinid
Hi pavila,

I've done as you asked and its fixed the issue. Thank you very much and sorry for the delay in reply.

On a different note, I realised what happened and why this error occured. When I reinstalled system, I moved from MySQL 5.5 to MySQL 5.6. It only occurred me to after comparing the installation notes on both older and newer installs.

Thank you!

farkinid