Unable to read Subversion index
Symptoms
For some reason, JIRA may not display the subversion information when using JIRA Subversion Plugin. It may start happening by itself or after an upgrade, migration for a new server, etc.
The following appears in the atlassian-jira.log or catalina.out
:
[subversion.issuetabpanels.changes.SubversionRevisionsTabPanel] Unable to read Subversion index.
org.apache.lucene.index.IndexNotFoundException: no segments* file found in org.apache.lucene.store.NIOFSDirectory@/opt/atlassian/home/jira511/caches/indexes/plugins/atlassian-subversion-revisions lockFactory=org.apache.lucene.store.SimpleFSLockFactory@7690c09f: files: []
at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:711)
at org.apache.lucene.index.DirectoryReader.open(DirectoryReader.java:75)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:428)
at org.apache.lucene.index.IndexReader.open(IndexReader.java:274)
at com.atlassian.jira.plugin.ext.subversion.revisions.DefaultLuceneIndexAccessor.getIndexReader(DefaultLuceneIndexAccessor.java:26)
at com.atlassian.jira.plugin.ext.subversion.revisions.RevisionIndexer.getLogEntriesByRepository(RevisionIndexer.java:509)
at com.atlassian.jira.plugin.ext.subversion.issuetabpanels.changes.SubversionRevisionsTabPanel.getActions(SubversionRevisionsTabPanel.java:74)
at com.atlassian.jira.plugin.issuetabpanel.IssueTabPanelInvokerImpl.invokeGetActions(IssueTabPanelInvokerImpl.java:92)
at com.atlassian.jira.issue.tabpanels.AllTabPanel.getActions(AllTabPanel.java:40)
at com.atlassian.jira.plugin.issuetabpanel.IssueTabPanelInvokerImpl.invokeGetActions(IssueTabPanelInvokerImpl.java:87)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.atlassian.multitenant.impl.MultiTenantComponentFactoryImpl$AbstractMultiTenantAwareInvocationHandler.invokeInternal(MultiTenantComponentFactoryImpl.java:181)
at com.atlassian.multitenant.impl.MultiTenantComponentFactoryImpl$MultiTenantAwareInvocationHandler.invoke(MultiTenantComponentFactoryImpl.java:211)
at $Proxy249.invokeGetActions(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.atlassian.plugin.osgi.hostcomponents.impl.DefaultComponentRegistrar$ContextClassLoaderSettingInvocationHandler.invoke(DefaultComponentRegistrar.java:129)
at $Proxy249.invokeGetActions(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:154)
at $Proxy249.invokeGetActions(Unknown Source)
at com.atlassian.jira.plugin.viewissue.ActivityBlockViewIssueContextProvider.getContextMap(ActivityBlockViewIssueContextProvider.java:82)
at com.atlassian.jira.plugin.webfragment.CacheableContextProviderDecorator.initContextMap(CacheableContextProviderDecorator.java:70)
at com.atlassian.jira.plugin.webfragment.CacheableContextProviderDecorator.getContextMap(CacheableContextProviderDecorator.java:46)
at com.atlassian.jira.plugin.webfragment.contextproviders.MultiContextProvider.getContextMap(MultiContextProvider.java:99)
at com.atlassian.plugin.web.descriptors.DefaultWebPanelModuleDescriptor$ContextAwareWebPanel.getHtml(DefaultWebPanelModuleDescriptor.java:143)
at com.atlassian.jira.web.component.ModuleWebComponentImpl.renderModule(ModuleWebComponentImpl.java:84)
at com.atlassian.jira.web.component.ModuleWebComponentImpl.renderModuleAndLetNoThrowablesEscape(ModuleWebComponentImpl.java:67)
at com.atlassian.jira.web.component.ModuleWebComponentImpl.renderModules(ModuleWebComponentImpl.java:45)
at com.atlassian.jira.issue.util.IssueWebPanelRenderUtil.renderPanels(IssueWebPanelRenderUtil.java:80)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:70)
at webwork.util.InjectionUtils.invoke(InjectionUtils.java:56)
at webwork.util.ValueStack.findValue(ValueStack.java:514)
at webwork.util.ValueStack.findValue(ValueStack.java:213)
at webwork.view.taglib.WebWorkBodyTagSupport.findValue(WebWorkBodyTagSupport.java:62)
at webwork.view.taglib.BasicPropertyTag.doStartTag(BasicPropertyTag.java:54)
at org.apache.jsp.secure.views.issue.viewissue_jsp._jspx_meth_ww_005fproperty_005f4(viewissue_jsp.java:546)
at org.apache.jsp.secure.views.issue.viewissue_jsp._jspx_meth_ww_005fproperty_005f3(viewissue_jsp.java:514)
at org.apache.jsp.secure.views.issue.viewissue_jsp._jspService(viewissue_jsp.java:163)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.atlassian.jira.web.filters.XContentTypeOptionsNoSniffFilter.doFilter(XContentTypeOptionsNoSniffFilter.java:22)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:31)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
(...)
Cause
This error is caused by broken indexes on the subversion plugin directory.
Resolution
Luckily it has a simple solution:
- Stop JIRA;
- Remove the whole directory from your server:
$JIRA_HOME/caches/indexes/plugins/atlassian-subversion-revisions
Start JIRA again.
It won't work if you just remove the content from
$JIRA_HOME/caches/indexes/plugins/atlassian-subversion-revisions/*
. You'll need to remove theatlassian-subversion-revisions
directory as well.