Specifying -sync=false (the default for locators) causes the sqlf command to return control after the member reaches "waiting" state. With -sync=true (the default for servers), the sqlf command does not return control until after all dependent members have booted and the member has finished synchronizing disk stores.
Always use
-sync=false when starting multiple members
on the same machine, especially when executing
sqlf commands from a shell script or batch
file, so that the script file does not hang while waiting for a
particular SQLFire member to start. You can use the sqlf
locator wait and/or sqlf server
wait later in the script to verify that each server
has finished synchronizing and has reached the "running" state.
Example Below:
Start Locator
sqlf locator start -peer-discovery-address=localhost -peer-discovery-port=41111 -conserve-sockets=false -client-bind-address=localhost -client-port=1527 -dir=locator -sync=false
Start Servers and run a script once system is up.
sqlf server start -server-groups=MYGROUP -client-bind-address=localhost -conserve-sockets=false -client-port=1528 -critical-heap-percentage=85 -eviction-heap-percentage=75 -locators=localhost[41111] -bind-address=localhost -dir=server1 -sync=false
sqlf server start -server-groups=MYGROUP -client-bind-address=localhost -conserve-sockets=false -client-port=1529 -critical-heap-percentage=85 -eviction-heap-percentage=75 -locators=localhost[41111] -bind-address=localhost -dir=server2 -sync=false
sqlf locator wait -dir=locator
sqlf server wait -dir=server1
sqlf server wait -dir=server2
# Ready to run some SQL now system is up and running
sqlf <<!
connect client 'localhost:1527';
run './sql/add-list.sql';
!
No comments:
Post a Comment