Opened 9 years ago
Closed 9 years ago
#1146 closed defect (wontfix)
start_rasdaman.sh should check RASBASE directory exists first
Reported by: | Bang Pham Huu | Owned by: | Alex Toader |
---|---|---|---|
Priority: | minor | Milestone: | 9.2 |
Component: | rasserver | Version: | development |
Keywords: | start_rasdaman, rasserver | Cc: | Dimitar Misev, George Merticariu, Alex Dumitru, Peter Baumann |
Complexity: | Medium |
Description
When reinstall Rasdaman in /home/rasdaman/install, I forgot to create_db.sh to create RASBASE data. However, start_rasdaman.sh can start without any error.
In fact, only in log file of Rasdaman show error
Base DBMS file not found at '/home/rasdaman/install/data/RASBASE', please run create_db.sh first.
and Petascope show error in the log also
WARN RasUtil@408: Failed retrieving rasdaman version RasdamanUnavailable: Unable to get a free rasdaman server.
start_rasdaman.sh notice that
start_rasdaman.sh: starting all rasdaman servers... Started 9 servers on 1 hosts
and when terminate servers, I only see 2 server was killed
stop_rasdaman.sh: terminating all rasdaman servers stop_rasdaman.sh: terminating server N1... Server N1 was killed done. stop_rasdaman.sh: terminating server N3... Server N3 was killed
So start_rasdaman.sh should check where is RASBASE does exist first.
Change History (9)
comment:1 by , 9 years ago
Owner: | set to |
---|---|
Status: | new → assigned |
comment:2 by , 9 years ago
Ok before implementing anything write down your idea on how to fix it here first.
comment:3 by , 9 years ago
Owner: | changed from | to
---|
Actually there's no good way to do this in start_rasdaman.sh itself.
Ideally rasmgr would detect if rasservers fail to start and exit with an error as well.
Alex what do you think?
comment:4 by , 9 years ago
I will have to experiment a bit. Ideally, rasserver should return an error code when it fails to start because the DB is missing. If this happens, rasmgr can see the error code and abort with an error message.
comment:5 by , 9 years ago
@Toader: its run perfectly without checking RASBASE in rasserver, so you can check also.
comment:6 by , 9 years ago
I have been looking into this issue. When a server process is created, it receives the connect string for the database host with which it is associated as a command line parameter.
On a single rasmgr instance, you can have multiple database hosts defined by the user. This means that rasmgr cannot check at startup if the database hosts exist. At this point they are not even defined.
If you define two DBHs, one that exists, and one that doesn't, and you have servers for each DBH, the ones serving the missing DBH will die upon creation while the ones serving the existing DBH will function correctly. This means that rasmgr cannot be killed if a server dies/or a set of servers die.
I think that we can probably solve this problem for users that use the default configuration which forget to run create_db.sh. A solution would be to have create_db.sh create a file when it is run (independent of the type of DB and connect string) and start_rasdaman.sh would check for the existence of that file. I do not like this solution and I am open to suggestions.
comment:7 by , 9 years ago
Cc: | added |
---|
comment:8 by , 9 years ago
Priority: | major → minor |
---|
I think it's not worth investing much time on this.
Users should follow the installation guide, and a simple look at the server log will reveal the issue.
I suggest we just close the ticket as wontfix.
comment:9 by , 9 years ago
Resolution: | → wontfix |
---|---|
Status: | assigned → closed |
This problem also happens on rasnet so I will add to start_rasdaman.sh a check error.