Mitigating Lengthy Reindex Times
If reindexing your repository takes longer than you can allow, you can use a temporary copy of your repository and FishEye instance to reduce downtime during the reindexing process.
Most upgrades (even major ones) do not require a reindex. If an upgrade is required, this will always be explicitly mentioned in the Upgrade Guide for that release.
Reindexing With a Temporary Copy of Your FishEye Instance
To reindex a temporary copy of your FishEye instance:
- Make a copy of your FishEye instance to another server. See 'How to Make a Temporary Copy of Your FishEye Instance' below for instructions.
- Upgrade the temporary FishEye, then start it up, connected to your repository. It will automatically begin the scanning process.
If you are concerned about the repository being overloaded by the scanning process, you can make a copy of that as well. See 'How to Make a Temporary Copy of Your Repository' below for instructions.
If you do that, you must edit the
config.xml of your temporary FishEye instance to point to your temporary repository.
- The copied instance will run its course without affecting your production instance.
- Shutdown both your servers completely.
- Make a backup of your
- Replace the
FISHEYE_INST/var/cache directory on live FishEye with the
FISHEYE_INST/var/cache from your test server.
- Download the latest FishEye/Crucible from Atlassian downloads.
- Follow the instructions in the Upgrade Guide to upgrade to the new version.
- The scan of the temporary FishEye instance (and repository, if you copied that also) is complete. You're now free to delete the temporary copy(s).
How to Make a Temporary Copy of Your FishEye Instance?
To make a copy of your FishEye instance, follow the instructions for Migrating FishEye Between Servers.
How to Make a Temporary Copy of Your Repository?
To make a copy of your repository use rsync (for CVS repositories in the Linux environment) or svnsync documentation (for Subversion only).
How to Reindex a Single Repository on a Test Server?
If you need to reindex your repository on your production system but don't want to burden your production server, carry out the following steps:
1. Install another instance of FishEye on a test server (the same FishEye version as the one you are using).
2. Add a repository to FishEye with the exact same name and details as that referenced by the production server.
3. Let it finish indexing. Go to Administration > View Repository List > Stop (shown next to the name of your repository) and disable on both production and test.
4. Copy over the
FISHEYE_INST/var/cache/REPO directory on the production FishEye with the
FISHEYE_INST/var/cache/REPO directory from the test server.
5. Trigger a review revision data re-index: Administration > Repository > Maintenance > Review-Revision Data Index.
For this procedure, neither server needs to be shut down.