-
Bug
-
Resolution: Won't Fix
-
Low
-
8
-
Severity 3 - Minor
-
NOTE: This bug report is for JIRA Cloud. Using JIRA Server? See the corresponding bug report.
Summary
Confluence search from JIRA Issue, which uses deprecated confluence2.search of xml-rpc, does not work with some double-byte characters. REST API should be used instead.
Steps to Reproduce
- Install Confluence 5.9.11 and JIRA Core 7.1.7 (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
I raised it as a bug instead of suggestion, because I firstly created a bug ticket for Confluence (CONF-38631), however, it was closed because JIRA uses xml-rpc, which was deprecated since Confluence 5.5.
Workaround
No workaround is found so far
- is incorporated by
-
JRACLOUD-63965 Use Confluence's REST API to search for page content
- Closed
-
JRACLOUD-64357 Use Confluence's REST API to search for and filter spaces
- Closed
- is related to
-
JRASERVER-61128 JIRA should use REST API to search Confluence pages and Link Jira Issues
- Gathering Impact