SVN indexing fails due to NonWritableChannelException
Fisheye/Crucible is indexing a local disk repository that is updated by svnsync.
Fisheye/Crucible has read only file permission on the local disk repository.
The following appears in the
atlassian-fisheye-<date>.log when Fisheye/Crucible perform indexing and svnsync happen at the same time.
ERROR - Problem processing revisions from repo repoName due to class com.cenqua.fisheye.rep.RepositoryClientException - java.nio.channels.NonWritableChannelException com.cenqua.fisheye.rep.RepositoryClientException: java.nio.channels.NonWritableChannelException at com.cenqua.fisheye.svn.SvnThrottledClient.executeNoThrottle(SvnThrottledClient.java:163) at com.cenqua.fisheye.svn.SvnThrottledClient.execute(SvnThrottledClient.java:132) at com.cenqua.fisheye.svn.SvnThrottledClient.properties(SvnThrottledClient.java:312) at com.atlassian.fisheye.svn.Svn2Infill2Processor.addNewFileChangeInfo(Svn2Infill2Processor.java:799) at com.atlassian.fisheye.svn.Svn2Infill2Processor.processDiffPaths(Svn2Infill2Processor.java:703) at com.atlassian.fisheye.svn.Svn2Infill2Processor.infillChangeSet(Svn2Infill2Processor.java:249) at com.atlassian.fisheye.svn.Svn2Infill2Processor.access$100(Svn2Infill2Processor.java:78)
- SVN library (SVNKit) detects that several threads (svnsync) are accessing the SVN repository and try to write a lock to the repository. The write process fails because Fisheye/Crucible has read-only file permission to the local disk repository. This issue was reported to the team that develops SVNKit: http://issues.tmatesoft.com/issue/SVNKIT-418
2. There is a zero-byte file called rep-cache.db-journal
#1 Add write permission to the
rep-cache.db file in the repository root directory (this is the URL pointing to the svn repository provided in the Fisheye configuration).
This error will cause "Too many open files"
rsync is not recommended to sync the local disk repository.
#2 Remove the rep-cache.db-journal file;