Author Topic: Three tiles running problems (RMI)  (Read 6450 times)

Alan784

  • Newbie
  • *
  • Posts: 1
  • Karma: +0/-0
Three tiles running problems (RMI)
« on: June 22, 2021, 02:00:36 AM »
I am currently trying to run with 3 tiles, each tile being driven from its own unique client VM.  I have yet to get a successful 3-tile run.  My problem is probably with the sequence of steps preparing things before the run.  Can someone post what the recommended procedure is?

For example, I noticed that if I used the Control.config that came with the Example VM scripts, then I see jAppInitRstr.sh being run simultaneously from each of the appservers so we have 3 appservers all trying to do a db restore at the same time, which seemed clearly wrong.  I have commented out the PRIME_HOST_INIT_SCRIPT
section from Control.config and am trying to do the Inits from my own script before the run.


When I have completed my initialization I tend to check the following for x=1,2,3
   * http://webserverx/Support
   * http://appserverx:8000/SPECjAppServer/app?action=atomicityTests
and these always look fine
However, during the run something usually fails, for example
Code: [Select]
2017-01-02 19:46:04:095 Warning: .doMyLongCommand received an SocketTimeoutException exception
java.net.SocketTimeoutException: Read timed out

For a three-tile run would the following init sequence be correct?

jAppInitRstr.sh for appserver1 (restores dbserver1)
jAppInit.sh for appserver2, 3 (without restore) (Can these all be run concurrently?)
mailInitRstr.sh for each of mailserver 1,2,3 (assume all can be concurrent)
webInit.sh for each of webserver 1,2,3  (assume all can be concurrent)
batchInit.sh for each of batchserver 1,2,3  (assume all can be concurrent)
Do all VMs need to be rebooted before each run?
« Last Edit: April 01, 2022, 01:09:45 PM by lroderic »

lroderic

  • Moderator
  • Full Member
  • *****
  • Posts: 167
  • Karma: +6/-0
Re: Three tiles running problems (RMI)
« Reply #1 on: June 22, 2021, 01:24:47 PM »
Hi Alan. You're right - that Control.config-example-5tiles isn't any good for more than one tile. I'm sorry about that.

You need to run jAppInitRstr.sh ONLY on the first of the four appservers to restore its dbserver and restart Glassfish and emulator on its appserver. The additional three tiles use jAppInit.sh to restart Glassfish and emulators on their appservers only. So for two tiles: 

PRIME_HOST_INIT_SCRIPT[0][0] = "jAppInitRstr.sh"
PRIME_HOST_INIT_SCRIPT[1][0] = "jAppInit.sh"
PRIME_HOST_INIT_SCRIPT[2][0] = "jAppInit.sh"
PRIME_HOST_INIT_SCRIPT[3][0] = "jAppInit.sh"
PRIME_HOST_INIT_SCRIPT[4][0] = "jAppInitRstr.sh"
PRIME_HOST_INIT_SCRIPT[5][0] = "jAppInit.sh"
PRIME_HOST_INIT_SCRIPT[6][0] = "jAppInit.sh"
PRIME_HOST_INIT_SCRIPT[7][0] = "jappInit.sh"

Everything else looks good.

2017-01-02 19:46:04:095 Warning: .doMyLongCommand received an SocketTimeoutException exception
java.net.SocketTimeoutException: Read timed out


Please see https://spec.org/virt_sc2013/docs/techsupport.html#Mailserver for setting up and restoring a warmed up mailserver.

VMs and clients do not need to be rebooted between runs. You might choose to depending on what you're measuring, but it's not a requirement.

Brakus

  • Newbie
  • *
  • Posts: 2
  • Karma: +0/-2
Re: Three tiles running problems (RMI)
« Reply #2 on: March 02, 2022, 04:59:34 AM »
BindException could mean GlassFish is trying to start on an incorrect host IP address, or the port 7676 is actually already in use.

Before running " ./appsrv-ctrl.sh start", you can check "netstat -an|grep 7676" to see if the port is already in use. If it is, try rebooting the appserver2 VM and recheck.

However, I am suspecting that the tile2 appserver2 /etc/hosts may be missing "appserver" or may be mapped to incorrect IP. Please ensure both appserver2 and appserver point to the same IP.



« Last Edit: March 07, 2022, 09:52:28 AM by DavidSchmidt »