Downloads (PDF, HTML & XML formats)
[FishEye Knowledge Base]
Most upgrades (even major ones) do not require a reindex. If a reindex is required, this will always be explicitly mentioned in the Upgrade Guide for that release.
This section describes how to perform a full reindex of a particular repository. Note that, depending on the repository size, the reindex could take up to several days.
To reindex a temporary copy of your FishEye instance:
config.xml
of your temporary FishEye instance to point to your temporary repository.FISHEYE_INST
directory.FISHEYE_INST/var/cache
directory on live FishEye with the FISHEYE_INST/var/cache
from your test server.To make a copy of your FishEye instance, follow the instructions for Migrating FishEye Between Servers.
To make a copy of your repository use rsync (for CVS repositories in the Linux environment) or svnsync documentation (for Subversion only).
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.
This section describes how to upgrade the cross-repository index for selected repositories. Note that, depending on the repository size, the reindex will typically finish in a few hours, but should never take longer than a few days.
In this procedure it is assumed that you have a production server (referred to as PROD in these instructions) that is running a FishEye version earlier than 3.1, and a separate staging server (STAGING) that will be used to perform the cross-repository index upgrade offline.
You can do this either from the FishEye Admin area (go to Administration > System Settings > Backup), or from a command line, for example:
$ ./bin/fisheyectl.sh backup -f ~/Documents/backup.zip --no-uploads --no-templates --no-plugins --cache --no-ao
Delete the following FishEye indexes on the PROD server and replace them with the equivalent caches from the STAGING server. You can choose your preferred option to copy files between machines using ssh/scp/rsync, possibly combined with tar/zip tools. The example below shows how the scp command could be used:
ssh PROD cd FISHEYE_INST # replace FISHEYE_INST with the location of your FISHEYE_INST folder rm -rf cache/globalfe rm -rf var/cache/repoX # repeat for each repository repoX that was upgraded on STAGING server scp -r STAGING:STAGING_FISHEYE_INST/cache/globalfe cache/ scp -r STAGING:STAGING_FISHEYE_INST/var/cache/repoX var/cache/ # repeat for each repository repoX that was upgraded on STAGING server
The only drawback with this procedure is that changeset comments added for changesets in PROD after step 1 will not get indexed, so they will not appear in the activity stream. There is no easy way to reindex them, apart from fully reindexing each affected repository, which is what this procedure is intended to avoid. A new REST endpoint could be implemented to address this (see - FECRU-3764Getting issue details... STATUS ).
Note: the following REST endpoint could be used to force a cross-repository index upgrade for a selected repository: /rest-service-fecru/admin/repositories-v1/repoX/reindex-search. There should be no need to use this, but it may be useful if something goes wrong.