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