Hi Sharon,

thank you for your fast reply.

I tried your job and it works fine, but not my job. So I did some more testing
to find the difference. Here it is: I am using </hold> in the <finally> part of 
a <try>.
The following modified "block2", reproduces the problem as I describedit in my
irst mail:

        <block name="'Block2'">
          <try>

            <log message="1">
              'In Block2 in "try" body'
            </log>

            <finally>
              <sequence>

                <log message="1">
                  'In Block2 before hold (in "finally")'
                </log>

                <hold/>

                <log message="1">
                  'After hold in Block2.  Should not be logged if Block1 or 
Block2 is terminated before Block2 is released'
                </log>

              </sequence>
            </finally>
          </try>
        </block>

Knowing the reason for the problem, I probably can work around it. At least it
should be written to the known bugs, I Think.

Best regards
Bodo



From: Sharon Lucas [mailto:luc...@us.ibm.com]
Sent: Friday, June 26, 2009 7:41 PM
To: 'staf-users@lists.sourceforge.net'
Cc: Strösser, Bodo
Subject: Re: [staf-users] Wrong picture on STAXMon when terminating a block


When a block is terminated, that block and all of its child blocks are 
terminated.  So if you terminate a black that has a held child block, the 
terminate should override the held block and terminate the entire block that 
you asked to be terminated.  Note that the STAX Monitor simply submits HOLD, 
TERMINATE, RELEASE, etc requests to the STAX service, so its the STAX service, 
not the STAX Monitor that handles holding, terminating, and releasing blocks.  
The STAX Monitor simply gets messages (via the Event service) to update it on 
what actions have taken place in the job).

The following STAX job demonstrates this.  If you run this job, it will hold 
Block2.  If you terminate Block1 (Block2's parent) or Block2 without first 
releasing Block2, then  message "After hold in Block2.  Should not be logged if 
Block1 or Block2 is terminated before Block2 is released" will not be logged 
and the job will then run Block 3.  This is working as designed.  Post again if 
this did not answer your question.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "stax.dtd">
<stax>

<defaultcall function="StartHere"/>

<script>
  machine = 'local'
</script>

<function name="StartHere">
  <sequence>

    <block name="'Block1'">
      <sequence>

        <block name="'Block2'">
          <sequence>

            <log message="1">
              'In Block2 before hold'
            </log>

            <hold/>

            <log message="1">
              'After hold in Block2.  Should not be logged if Block1 or Block2 
is terminated before Block2 is released'
            </log>

          </sequence>
        </block>

      </sequence>
    </block>

    <block name="'Block3'">
      <sequence>

        <log message="1">
          'Logged by Block3 which is run after Block2 completes'
        </log>

        <stafcmd name="'Delay for 5 seconds'">
          <location>'local'</location>
          <service>'DELAY'</service>
          <request>'DELAY 5s'</request>
        </stafcmd>

      </sequence>
    </block>

  </sequence>
</function>
</stax>

--------------------------------------------------------------
Sharon Lucas
IBM Austin,   luc...@us.ibm.com
(512) 286-7313 or Tieline 363-7313



Strösser, Bodo <bodo.stroes...@ts.fujitsu.com>

06/26/2009 11:53 AM

To
"'staf-users@lists.sourceforge.net'" <staf-users@lists.sourceforge.net>
cc
Subject
[staf-users] Wrong picture on STAXMon when terminating a block





Hi,

i'm using STAX 3.3.6

I think, there is a bug in STAXMon, that can be reproduced performing the 
following
steps:

- A STAX job holds the innermost block of itself using <hold/>.
- Now we kill a parent block, as we want some part of the job to be skipped when
  the block in "hold" is released.
- As soon as the parent block is terminated from STAXMon, STAXMon no longer
  displays the terminated block's childs, which I think is wrong.
- As the block in "hold" no longer is displayed, it can not be released via 
STAXMon.

When the Monitor window is closed and started again, the missing blocks are 
back.

Best Regards
Bodo------------------------------------------------------------------------------
_______________________________________________
staf-users mailing list
staf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/staf-users

------------------------------------------------------------------------------
_______________________________________________
staf-users mailing list
staf-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/staf-users

Reply via email to