SVN Repository Indexing Stopped Due to java.lang.NullPointerException

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. 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

Symptoms

Indexing has stopped for an SVN repository after an upgrade and the following exception can be seen in the logs:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 2011-12-06 16:04:31,587 ERROR - Problem processing revisions from repo <Repository Name> due to class java.lang.NullPointerException - null java.lang.NullPointerException at com.cenqua.fisheye.rep.impl.CommonChangeSetDAO.createPositionAfter(CommonChangeSetDAO.java:410) at com.cenqua.fisheye.rep.impl.CommonChangeSetDAO.determinePosition(CommonChangeSetDAO.java:375) at com.cenqua.fisheye.rep.impl.CommonChangeSetDAO.storeAttributes(CommonChangeSetDAO.java:363) at com.cenqua.fisheye.svn.db.SvnChangeSetDAO.storeAttributes(SvnChangeSetDAO.java:39) at com.cenqua.fisheye.svn.db.SvnChangeSetDAO.storeAttributes(SvnChangeSetDAO.java:19) at com.cenqua.fisheye.rep.impl.CommonChangeSetDAO.storeWithoutLimits(CommonChangeSetDAO.java:271) at com.cenqua.fisheye.rep.impl.CommonChangeSetDAO.store(CommonChangeSetDAO.java:258) at com.cenqua.fisheye.svn.DiffChangeSetProcessor.processChangeSet(DiffChangeSetProcessor.java:384) at com.cenqua.fisheye.svn.DiffChangeSetProcessor.createChangeSet(DiffChangeSetProcessor.java:311) at com.cenqua.fisheye.svn.SvnRepositoryScanner.slurpRevisionBlock(SvnRepositoryScanner.java:407) at com.cenqua.fisheye.rep.RepositoryScanner.processRevisions(RepositoryScanner.java:156) at com.cenqua.fisheye.rep.BaseRepositoryScanner.slurpRepository(BaseRepositoryScanner.java:257) at com.cenqua.fisheye.rep.BaseRepositoryScanner.doSlurpTransaction(BaseRepositoryScanner.java:225) at com.cenqua.fisheye.rep.BaseRepositoryScanner.ping(BaseRepositoryScanner.java:184) at com.cenqua.fisheye.rep.BaseRepositoryEngine.doSlurp(BaseRepositoryEngine.java:92) at com.cenqua.fisheye.rep.RepositoryEngine.slurp(RepositoryEngine.java:379) at com.cenqua.fisheye.rep.ping.OneOffPingRequest.doRequest(OneOffPingRequest.java:28) at com.cenqua.fisheye.rep.ping.PingRequest.process(PingRequest.java:67) at com.cenqua.fisheye.rep.RepositoryHandle.processPingRequests(RepositoryHandle.java:138) at com.cenqua.fisheye.rep.RepositoryHandle.queuePingRequest(RepositoryHandle.java:128) at com.cenqua.fisheye.rep.ping.PingRequest.run(PingRequest.java:33) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)

Cause

The repository index has been corrupted and needs to be re-generated.

Resolution

To re-generate the index for the repository:

  1. Shut down Fisheye/Crucible.

  2. Remove the FISHEYE_INST/var/cache/<Repository> and all its contents.

  3. Restart Fisheye/Crucible.

  4. This will force the Fisheye/Crucible repository data to be re-indexed from scratch.

Re-indexing a repository may take a while depending upon the size of the repository.

Updated on April 1, 2025

Still need help?

The Atlassian Community is here for you.