Details
-
Bug
-
Resolution: Timed out
-
Low
-
None
-
2.10.1
-
None
-
Severity 3 - Minor
-
11
-
Description
Steps to reproduce:
- Create an new repository with the command 'svnadmin reponame'
- Make sure that the file 'rep-cache.db' does not exist
- Add the repository into FishEye
Reindex will fail with the following error:2013-05-02 09:18:57,038 INFO [InitialPinger2 reponame] fisheye BaseRepositoryScanner-ping - processing dsagile-hmi 2013-05-02 09:18:57,038 DEBUG [InitialPinger2 reponame] fisheye SvnRepositoryTester-checkRepoSettings - Checking repository: reponame:file:///path/to/repo/svn/reponame/ 2013-05-02 09:18:57,038 DEBUG [SvnExecution1129 reponame] fisheye SvnTask-run - Executing info -r HEAD file:///path/to/repo/svn/reponame/@HEAD 2013-05-02 09:18:57,073 INFO [SvnExecution1129 reponame] svnkit-fsfs DefaultSVNDebugLogger-log - FSFS: CANTOPEN org.tmatesoft.sqljet.core.SqlJetException: CANTOPEN: error code is CANTOPEN at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileSystem.open(SqlJetFileSystem.java:158) at org.tmatesoft.sqljet.core.internal.fs.SqlJetFileSystem.open(SqlJetFileSystem.java:185) at org.tmatesoft.sqljet.core.internal.pager.SqlJetPager.open(SqlJetPager.java:395) at org.tmatesoft.sqljet.core.internal.btree.SqlJetBtree.open(SqlJetBtree.java:325)
Because svnkit can also write to svn repositories (although FishEye never uses it to) it tries to open the rep-cache.db file in read/write mode. If it doesn't exist it will usually create it. If it does exist but is read-only it silently falls back to opening it read-only, which is fine as FishEye never invokes any svnkit operations which require a write. In the case of an empty repository whose files are read only the rep-cache.db file doesn't exist and can't be created, which triggers that error. As soon as that file is created (by a commit) svnkit successfully opens the repository.