Typical way to update/restart ArrayServer

From Array Suite Wiki

Jump to: navigation, search

Contents

Steps

1. Find directory to mono bin and directory to ArrayServer executables

2. Stop current ArrayServer

ps –ef | grep mono

You will see

$ ps -ef | grep mono
omicsoft 16503 15137  0 Jul29 pts/3    00:01:23 /IData/App/mono/mono-2.10.9/bin/mono-sgen ./ArrayServerLinuxBeta.exe
omicsoft 23306 15137  0 09:56 pts/3    00:00:00 grep mono

find job id of ArrayServer then kill jobid, such as

kill 16503 

Double check it is killed and use kill -9 if it is not killed

3. (If Necessary) Update ArrayServer using Omicsoft Updater

OmicSoft is constantly improving its software, by adding new features, optimizing performance, and resolving software issues.

You can check your ArrayServer version by typing

cd /directory-to-ArrayServer-executables
/directory-to-mono-bin/mono ./ArrayServerLinuxBeta.exe --version
ArrayServer version is 10.0.0.73

You can compare this version to the latest versions on our PROD and DEV release page.

OmicSoft generally recommends keeping ArrayServer to the latest PROD release.

ArrayServer PROD

The latest Production (PROD) release (released about once per quarter) can be retrieved by

cd /directory-to-ArrayServer-executables
/directory-to-mono-bin/mono ./OmicsoftUpdater.exe

ArrayServer DEV

If OmicSoft support has informed you that

  • A new feature that you requested has been implemented
  • An issue that you identified has been resolved

they may instruct you to update to the latest Preview/DEV release:

cd /directory-to-ArrayServer-executables
/directory-to-mono-bin/mono ./OmicsoftUpdater.exe --dev

Once updated to DEV, there's no need to run OmicsoftUpdater.exe again until a new PROD release.

Tips.png
Unless OmicSoft Support has instructed you to update to the latest DEV release, we recommend using the main PROD ArrayServer release


[back to top]


4. Check server version

Double check the server version:

cd /directory-to-ArrayServer-executables
/directory-to-mono-bin/mono-sgen ./ArrayServerLinuxBeta.exe --version

Note: if you are running server on Amazon cloud instance, you should use mono instead of mono-sgen.

5. Start ArrayServer

cd /directory-to-ArrayServer-executables
/directory-to-mono-bin/mono-sgen ./ArrayServerLinuxBeta.exe >> ./run.log &

Note: if you are running server on Amazon cloud instance, you should use mono instead of mono-sgen to run ArrayServerLinuxBeta.exe.

Unlink the current terminal (you can shut the current computer while the ArrayServer job still runs on the server)

disown –ar

check launch status

tail -f ./run.log

Q & A

Q: Cannot kill mono ArrayServer process

If user cannot kill the process by

kill jobid

Try

kill -9 jobid

If the job still cannot be killed, it indicates that there is a parent job. Sometimes, there is a mono crash and it triggered gdb and put mono into debug mode in your Linux Server. Find this job by

$ ps -ef | grep jobid

such as

$ ps -ef | grep 16503

Then kill the parent job first then kill the mono job.

Q: Why mono and mono-sgen

Note: You are using mono to run updater and using mono-sgen to run ArrayServerLinuxBeta.exe. They are using different garbage collection methods. Note: if you are running server on Amazon cloud instance, you should use mono instead of mono-sgen to run ArrayServerLinuxBeta.exe.

- Please note that for mono-4+, mono has been replaced by mono-sgen and there is no longer a difference between the two:

Mono.png

Q: Can I use screen instead of disown to keep session

Yes, screen is also a good approach to keep the run in an isolated session.

Use screen to start a new screen, inside the screen run the updater and ArrayServer without sending to background (without &).

cd /directory-to-ArrayServer-executables
/directory-to-mono-bin/mono ./OmicsoftUpdater.exe
cd /directory-to-ArrayServer-executables
/directory-to-mono-bin/mono-sgen ./ArrayServerLinuxBeta.exe

CTRL+a, then press d, you can detach the session.

You can re-attach the session by

session -r sessionID

You can find active sessions by

session -list

Q: What is the current version of ArrayServer?

The Array Studio Change Log will indicate when a new PROD server version has been released.

You can also check here, which checks twice-daily for the current server versions (PROD and DEV branches).