Details
-
Bug
-
Resolution: Fixed
-
Medium
-
2.5.3
Description
When entering the first character into the
{livesearch} search box, an exception is thrown, which is displayed in the results area of the macro (it is the standard "A system error has occurred - our apologies! " error message). After entering the second character everything is normal and I can see the usual list of matches.The confluence website is very large, probably a few hundred MByte of text. I tried the same {livesearch}
macro on confluence.atlassian.com and it does not throw an exception even though I think your site has even more text.
The installed Confluence release is 2.5.3, but it is heavily modified. It is fully possible that this problem is caused by missing or modified properties, or by other side effects of the customisation. However I am not sure how to attack this problem.
My guess so far is: On entering the first character, for example an "e", the lucene search attempts to execute a "e*" wildcard search which returns so many matches that some limit is exceeded. But then why does this not happen on confluence.atlassian.com which should also have a large number of matches for this particular search?
Is there a way to start the search only after at least two characters have been entered?
Maybe the livesearch JavaScript code is supposed to suppress such exceptions, but the code does not work as expected in our environment, the error message is not suppressed but displayed to the user.
Here is the full exception:
org.apache.lucene.search.BooleanQuery$TooManyClauses
at org.apache.lucene.search.BooleanQuery.add(BooleanQuery.java:184)
Stack Trace: [hide]
org.apache.lucene.search.BooleanQuery$TooManyClauses
at org.apache.lucene.search.BooleanQuery.add(BooleanQuery.java:184)
at org.apache.lucene.search.BooleanQuery.add(BooleanQuery.java:175)
at org.apache.lucene.search.PrefixQuery.rewrite(PrefixQuery.java:52)
at org.apache.lucene.search.BooleanQuery.rewrite(BooleanQuery.java:396)
at org.apache.lucene.search.BooleanQuery.rewrite(BooleanQuery.java:381)
at com.atlassian.bonnie.search.LuceneSearcher$2.perform(LuceneSearcher.java:117)
at com.atlassian.bonnie.LuceneConnection.withReader(LuceneConnection.java:195)
at com.atlassian.bonnie.search.LuceneSearcher.rewrite(LuceneSearcher.java:113)
at com.atlassian.confluence.search.actions.SearchSiteAction.execute(SearchSiteAction.java:119)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:168)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.atlassian.confluence.util.LoggingContextInterceptor.intercept(LoggingContextInterceptor.java:48)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.atlassian.confluence.security.actions.PermissionCheckInterceptor.intercept(PermissionCheckInterceptor.java:47)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.atlassian.confluence.pages.actions.PageAwareInterceptor.intercept(PageAwareInterceptor.java:114)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.atlassian.confluence.spaces.actions.SpaceAwareInterceptor.intercept(SpaceAwareInterceptor.java:67)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.atlassian.confluence.core.actions.LastModifiedInterceptor.intercept(LastModifiedInterceptor.java:39)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.atlassian.confluence.core.ConfluenceAutowireInterceptor.intercept(ConfluenceAutowireInterceptor.java:25)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.atlassian.xwork.interceptors.XWorkTransactionInterceptor.intercept(XWorkTransactionInterceptor.java:98)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:35)
at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:165)
at com.opensymphony.xwork.DefaultActionProxy.execute(DefaultActionProxy.java:115)
at com.opensymphony.webwork.dispatcher.ServletDispatcher.serviceAction(ServletDispatcher.java:229)
at com.opensymphony.webwork.dispatcher.ServletDispatcher.service(ServletDispatcher.java:199)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:117)
at com.atlassian.confluence.util.profiling.ProfilingPageFilter.parsePage(ProfilingPageFilter.java:137)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at com.atlassian.core.filters.ServletContextThreadLocalFilter.doFilter(ServletContextThreadLocalFilter.java:21)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at com.atlassian.confluence.util.LoggingContextFilter.doFilter(LoggingContextFilter.java:46)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at com.atlassian.confluence.util.UserThreadLocalFilter.doFilter(UserThreadLocalFilter.java:44)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:182)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at com.atlassian.seraph.filter.LoginFilter.doFilter(LoginFilter.java:159)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at com.atlassian.confluence.util.ClusterHeaderFilter.doFilter(ClusterHeaderFilter.java:35)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at com.atlassian.johnson.filters.JohnsonFilter.doFilter(JohnsonFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:172)
at com.atlassian.spring.filter.FlushingSpringSessionInViewFilter.doFilterInternal(FlushingSpringSessionInViewFilter.java:29)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:122)
at com.atlassian.core.filters.ProfilingAndErrorFilter.doFilter(ProfilingAndErrorFilter.java:27)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at com.atlassian.confluence.util.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:25)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at com.atlassian.core.filters.gzip.GzipFilter.doFilter(GzipFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at com.atlassian.core.filters.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:37)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Referer URL: http://wikia02s.xxxxxx.com/display/test/Home
Build Information:
confluence.home: /home/tcrun/cf_home
system.uptime: 5 days, 21 hours, 38 minutes, 46 seconds
system.version: 2.5.3
build.number: 808
Server Information:
Application Server: Apache Tomcat/5.0
Servlet Version: 2.4
Database Dialect: net.sf.hibernate.dialect.Oracle9Dialect
Database Driver Name: N/A
Database Driver Version: N/A
Memory Information:
total.memory: 760 MB
free.memory: 410 MB
used.memory: 350 MB
System Information:
system.date: Thursday, 30 Aug 2007
system.time: 14:57:00
system.favourite.colour: Myrtle
java.version: 1.4.2_09
java.vendor: Sun Microsystems Inc.
jvm.version: 1.0
jvm.vendor: Sun Microsystems Inc.
jvm.implementation.version: 1.4.2_09-b05
java.runtime: Java(TM) 2 Runtime Environment, Standard Edition
java.vm: Java HotSpot(TM) Server VM
user.name.word: tcrun
user.timezone: MET
operating.system: SunOS 5.8
os.architecture: sparc
fs.encoding: ISO646-US
Cluster Information:
Not clustered.
Enabled Plugins:
Glossary (confluence.extra.glossary, Version: 0.0)
Linking Plugin (net.customware.confluence.plugin.linking, Version: 2.3.2)
Basic Macros (confluence.macros.basic, Version: 1.3)
HTML Macros (confluence.macros.html, Version: 1.3)
Chart Plugin (confluence.extra.chart, Version: 1.8)
User Listener (confluence.extra.userlister, Version: 1.2)
Global Labels Sections (confluence.sections.labels, Version: 1.0)
Information Macros (confluence.extra.information, Version: 0.2)
Page Operations (confluence.sections.page.operations, Version: 1.0)
WebDAV Plugin (confluence.extra.webdav, Version: 1.1)
Profile Tabs (confluence.sections.profile, Version: 1.0)
Confluence Remote API (confluence.extra.confluencerpc, Version: 1.4)
Core Startup and Shutdown (confluence.lifecycle.core, Version: 1)
Admin Sections (confluence.sections.admin, Version: 1.0)
Navigation Plugin (com.pentec.confluence.navigation, Version: 1.11)
Table of Contents Plugin (org.randombits.confluence.toc, Version: 2.3.2)
TinyMCE Editor Plugin (com.atlassian.confluence.extra.tinymceplugin, Version: 1.12)
Space Pages Sections (confluence.sections.space.pages, Version: 1.0)
Approvals Workflow Plugin (com.comalatech.workflow, Version: 0.9.3)
News Tabs (confluence.sections.news, Version: 1.0)
Space Advanced Sections (confluence.sections.space.advanced, Version: 1.0)
Confluence Contributors Plugin (com.atlassian.confluence.contributors, Version: 1.1)
Attachments Macros (confluence.extra.attachments, Version: 1.4)
IM Presence Macros (confluence.extra.impresence, Version: 0.1)
Space Actions Sections (confluence.sections.space.actions, Version: 1.0)
Task List Macros (confluence.extra.tasklist, Version: 1.3)
Space Labels Sections (confluence.sections.space.labels, Version: 1.0)
Dynamic Task List Macros (confluence.extra.dynamictasklist, Version: 1.5)
Core Extractors (confluence.extractors.core, Version: 1.4)
Compatibility Macros (confluence.macros.compatibility, Version: 1.3)
Page Tabs (confluence.sections.page, Version: 1.0)
Core Listeners (confluence.listeners.core, Version: 1.3)
Dashboard Macros (confluence.macros.dashboard, Version: 1.3)
Live Search Macros (confluence.extra.livesearch, Version: 1.6)
Page View Links (confluence.sections.page.actions, Version: 1.0)
Visibility Plugin (net.customware.confluence.plugin.visibility, Version: 1.5)
JIRA Macros (confluence.extra.jira, Version: 1.6)
Clickr Theme (com.atlassian.confluence.themes.clickr, Version: 0.9.1)
Layout Macros (confluence.extra.layout, Version: 0.2)
ImageMap Macros (de.dl.confluence.plugin.imagemap.ImageMapPlugin, Version: 1.0)
Tabular Metadata (confluence.extra.masterdetail, Version: 1.0)
Space Admin Sections (confluence.sections.space.admin, Version: 1.0)
Advanced Macros (confluence.macros.advanced, Version: 1.3)
IM Presence NG Plugin (confluence.extra.impresence2, Version: 2.0-rc2)
Atlassian Plugin Repository (confluence.repository.client, Version: 2.0.4)
Edit Profile Sections (confluence.sections.profile.edit, Version: 1.0)
Attachment Extractors (confluence.extractors.attachments, Version: 1.4)
Bulk User Upload (com.artemistech.confluence.plugins.bulkuserupload, Version: 2.0)
Left Navigation Theme (com.atlassian.confluence.themes.leftnavigation, Version: 1.0)
BloggingRPC (com.atlassian.confluence.plugins.xmlrpc.bloggingrpc, Version: 1.2.1)
Space Item Tabs (confluence.sections.space, Version: 1.0)
Code Macro (confluence.macros.code, Version: 1.4)
Request
Information:
URL: http://wikia02s.xxxxxx.com/plugins/livesearch/livesearch.action
- Scheme: http
- Server: wikia02s.xxxxxx.com
- Port: 80
- URI: /500page.jsp
- - Context Path:
- - Servlet Path: /500page.jsp
- - Path Info: null
- - Query String: decorator=none&searchQuery.queryString=s*&spaceKey=
Attributes:
- javax.servlet.forward.request_uri : /plugins/livesearch/livesearch.action
- javax.servlet.forward.context_path :
- javax.servlet.forward.servlet_path : /plugins/livesearch/livesearch.action
- javax.servlet.forward.path_info : /500page.jsp
- javax.servlet.forward.query_string : decorator=none&searchQuery.queryString=s*&spaceKey=
- javax.servlet.error.message :
- javax.servlet.error.exception : org.apache.lucene.search.BooleanQuery$TooManyClauses
- os_securityfilter_already_filtered : true
- _sitemesh_using_stream : false
- com.atlassian.johnson.filters.JohnsonFilter_already_filtered : true
- javax.servlet.error.request_uri : /plugins/livesearch/livesearch.action
- javax.servlet.error.status_code : 500
- _sitemesh_filterapplied : true
- javax.servlet.error.servlet_name : action
- webwork.valueStack : com.opensymphony.xwork.util.OgnlValueStack@7424f8
- atlassian.core.seraph.original.url : /plugins/livesearch/livesearch.action?decorator=none&searchQuery.queryString=s*&spaceKey=
- loginfilter.already.filtered : true
- javax.servlet.jsp.jspException : org.apache.lucene.search.BooleanQuery$TooManyClauses
- sessioninview.FILTERED : true
- com.atlassian.core.filters.gzip.GzipFilter_already_filtered : true
Parameters:
- decorator = none
- spaceKey =
- searchQuery.queryString = s*
Confluence User: - anonymous
Logging:
0 log statements generated by this request.
Attachments
Issue Links
- is duplicated by
-
CONFSERVER-11335 Live Search plugin generates Lucene stack - maxClauseCount is set to 1024
- Closed