Fisheye/Crucible: Mercurial repository indexing paused with "no match found!" exception
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
A Mercurial repository has stopped indexing on a Fisheye/Crucible Server.
Environment
Fisheye/Crucible
Diagnosis
The following stacktrace appears in the atlassian-fisheye-<date>.log
file:
<DATE> <TIME> WARN [IncrPing1 <REPO> ] fisheye BaseRepositoryScanner-handleSlurpException - Problem processing revisions from repository REPO (Repo) due to class com.cenqua.fisheye.rep.RepositoryClientException - com.atlassian.fisheye.dvcs.handler.DvcsProcessException: Error while communicating with VCS: abort: <path-to-file.i@SHA: no match found!
com.cenqua.fisheye.rep.RepositoryClientException: com.atlassian.fisheye.dvcs.handler.DvcsProcessException: Error while communicating with VCS: abort: <path-to-file.i@SHA: no match found!
Caused by: com.atlassian.utils.process.ProcessException: While executing: "/usr/bin/hg --config extensions.felog=/opt/fisheye/fecru-version/python/hg/hgfelog/hgfelog.py --config ui.verbose=false felog <commitSHA> -p -m" in [/opt/fisheye_instance/var/cache/<repo>/clone]
at com.atlassian.fisheye.dvcs.client.DvcsContext.executeCommand(DvcsContext.java:263) [fisheye.jar:?]
at com.atlassian.fisheye.dvcs.client.DvcsContext.executeCommand(DvcsContext.java:235) [fisheye.jar:?]
at com.atlassian.fisheye.dvcs.client.DvcsContext.executeWithInput(DvcsContext.java:224) [fisheye.jar:?]
... 20 more
Caused by: com.atlassian.utils.process.ProcessException: Non-zero exit code: 255
at com.atlassian.utils.process.PluggableProcessHandler.complete(PluggableProcessHandler.java:69) [atlassian-processutils-1.5.14.jar:?]
at com.atlassian.utils.process.ExternalProcessImpl.wrapUpProcess(ExternalProcessImpl.java:509) [atlassian-processutils-1.5.14.jar:?]
at com.atlassian.utils.process.ExternalProcessImpl.finish(ExternalProcessImpl.java:423) [atlassian-processutils-1.5.14.jar:?]
at com.atlassian.utils.process.ExternalProcessImpl.execute(ExternalProcessImpl.java:378) [atlassian-processutils-1.5.14.jar:?]
at com.atlassian.fisheye.dvcs.client.DvcsContext.executeCommand(DvcsContext.java:250) [fisheye.jar:?]
... 22 more
Running the following command against the Mercurial repository on the Mercurial Server reveals repository corruption:
hg verify
Cause
There is corruption in the Mercurial repository. Fisheye/Crucible cannot index past the commit which is problematic.
Solution
Follow instructions in Mercurial - Repository Corruption
After the repository is fixed on the server, reclone and reindex the repository:
- Go to Administration > Repositories
- Click on the repository, then click Maintenance
- Under Repository Source Index click Start next to "Re-clone and Re-index"