Fisheye loses configuration after server restart
Asked by Glenn Garrett:

Hi there - I took quite some time to configure Fisheye 3.2.3 to connect to Jira 6.1.5 and my VisualSVN repository but after a routine server restart, no settings have been saved. When I start Fisheye manually, (I find it baffling that it doesn't automatically start like Jira does) I get the initial welcome screen asking for a license key. Then it asks me all the initial configuration questions right from the start again like it was a brand new installation.

How frustrating! Am I missing something obvious that I need to do in order that Fisheye will remember its configuration across server restarts? I am using Linux (Red Hat) and MySQL 5. Any help would be much appreciated.

Thanks

Glenn


Answers:
author: rverschoor
body: This sounds like FishEye doesn't have its FISHEYE_INST environment variable correctly set.

One possibility is that it was set when you configured the application, but the environment variable was lost due to the restart (this is a common mistake, consult your distro documentation on how to make environment variables persistent).

Another possibility is that you configured the application without having a FISHEYE_INST defined. This is perfectly ok, FishEye will work without it, it then just stores all data in the installation directory instead of a nicely separated dir.  
If you then restart FishEye using another user account for which a FISHEYE_INST is defined, the application will expect data in a separate directory, doesn't find it, and starts from scratch.

comments: author: Glenn Garrett
body: Thanks Rene, that's very useful. Now I find that when I start Fisheye whilst logged in as the fisheye user, the configuration is successfully retrieved! So I guess when I started fisheye after the server restart whilst logged in as myself, it didn't find the configuration.

Should I be starting Fisheye under the fisheye user account or my own account? For the moment it seems that I will have to use the fisheye user account if I want to pick up the configuration that I've done.

Strangely, if I type env \|grep FISH then I get FISHEYE_INST=/home/fisheye/instance regardless of whether I'm logged in as myself or as fisheye. I wonder what else could be different between the two accounts that's causing the config to be picked up in the fisheye account but not my own? It would be nice to be able to start and stop Fisheye from my own account.


author: rverschoor
body: It's customary to run an application using its own account, but this is not mandatory.

Apparently you have also defined the FISHEYE_INST environment variable for your own user account. The FishEye application will then use it to look for the data files, but as they reside in the home directory of the fisheye user account, it doesn't have any permission to read there, so it looks like it starts from scratch.  
Any changes it wants to write will also fail.


author: Glenn Garrett
body: Thanks Rene, I am much clearer now! I appreciate your help, especially on a Saturday.


author: Daniel Wester
body: Where is your fisheye home directory?Is it empty after the server restarts?

comments: author: Glenn Garrett
body: Thanks for the quick reply! If I type env while logged in as myself then FISHEYE_INST is set to /home/fisheye/instance. FISHEYE_HOME doesn't seem to be set. I believe the actual Fisheye home directory is /home/fisheye/home. I'm unclear as to whether the environment variable is set on a per-user basis and whether I should be initialising it in a settings/script file somewhere. Do you think the absence of the FISHEYE_HOME environment variable is causing the problem?


Tags: fisheye-crucible-administration