-
Bug
-
Resolution: Won't Fix
-
Medium
-
None
-
5.7.5, 5.8.6
Summary
Confluence search from JIRA Issue, which uses confluence2.search of xml-rpc, does not work with some double-byte characters.
Steps to Reproduce
- Install Confluence 5.8.6 and JIRA 6.4.8 (latest), and applink them
- On Confluence, enable Remote API
- On Confluence, change indexing language to "CJK"
- On Confluence, create a space and create these 2 pages:
- Title: Title-1 Body: ボディ (FYI, it is 'body' in Japanese)
- Title: Title-2 Body: ボディ (FYI, it is 'body' in Japanese)
- On JIRA, create a project and a issue
- On JIRA's Issue detail view, go to "More" -> "Link" -> "Confluence Page" -> "search for a page", and search Confluence pages by keyword "ボディ"
- No search results, although you get the results if you use the same search keyword on Confluence (i.e. <CONF_BASE_URL>/dosearchsite.action?queryString=ボディ)
See also attached "theProblem.jpg"
Expected Results
It should show the 2 pages created in the above step
Actual Results
No search results.
The below exception is thrown in the atlassian-confluence.log file:
2015-07-29 17:06:44,519 ERROR [http-nio-15806-exec-8] [confluence.rpc.auth.TokenAuthenticationInvocationHandler] invokeAuthenticatedMethod Error during invocation of method [search] -- url: /confluence15806/rpc/xmlrpc | userName: admin | method: search java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring(String.java:1955) at com.atlassian.bonnie.search.summary.Summarizer.getSummary(Summarizer.java:164) at com.atlassian.confluence.util.GeneralUtil.makeSummary(GeneralUtil.java:1733) at com.atlassian.confluence.util.GeneralUtil.makeFlatSummary(GeneralUtil.java:1769) at com.atlassian.confluence.rpc.soap.beans.RemoteSearchResult.<init>(RemoteSearchResult.java:38) at com.atlassian.confluence.rpc.soap.services.PagesSoapService.search(PagesSoapService.java:431) at com.atlassian.confluence.rpc.soap.XhtmlSoapService.search(XhtmlSoapService.java:535) at sun.reflect.GeneratedMethodAccessor848.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:16) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy1329.search(Unknown Source) at com.atlassian.confluence.rpc.xmlrpc.ConfluenceXmlRpcHandlerImpl.search(ConfluenceXmlRpcHandlerImpl.java:485) at sun.reflect.GeneratedMethodAccessor847.invoke(Unknown Source)
Notes
It seems that there is a problem on the implementation of confluence2.search of xml-rpc, because JIRA uses it while Confluence search page does not. I also confirmed that the same error occurred when I sent the same search keyword using confluence-remote-manager (needs to modify the server URL at line-10 and change the search method from confluence1.search to confluence2.search at line-67).
Workaround
No workaround is found so far
- relates to
-
JRASERVER-61128 JIRA should use REST API to search Confluence pages and Link Jira Issues
- Gathering Impact