OdiStartScen in async mode: variables lost in execution queue
673655Dec 3 2008 — edited Feb 23 2009I have the following case:
- a scenario must be called for each row in a database table
- this scenario has a variable, declared in the scenario parent package: variable values are read from the table
- rows are more than the "maximum number of sessions" for the agent
- execution of the scenarios should run in parallel
So I made a procedure, with only one step. The source command is something like "SELECT col1 alias1 FROM MyTable". The target command, on Sunopsis API, is OdiStartScen -SCEN_NAME=MyScenario "-GLOBAL.VAR1=#alias1"
When the procedure is executed by the agent, I have the following outcomes:
- if OdiStartScen is run synchronously (-SYNC_MODE=1): OK, no problem
- if OdiStartScen is run asynchronously (-SYNC_MODE=2) AND the number of rows in MyTable is less than the "Maximum number of sessions" set in Topology Manager for the executing agent: OK, no problem
- if OdiStartScen is run in async mode, and the number of rows in MyTable is greater then the maximum number of sessions, then the execution is OK only for the first rows of the table. Successive executions get enqueued, but when it's time for the agent to run them, Operator reports the followin error: "Variable has no value".
So it seems to me that variable values don't get enqueued, is it correct?