SNAPLIMD parameter: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (Created page with "0 or max number of occurrences of any particular snap ==Summary== <dl> <dt>Default value <dd>3 <dt>Parameter type <dd>System <dt>Where set <dd>System manager resettable <dt>Relat...")
 
m (link repair)
 
(22 intermediate revisions by 5 users not shown)
Line 1: Line 1:
0 or max number of occurrences of any particular snap
{{Template:SNAPLIMD parameter subtitle}}
 
==Summary==
==Summary==
<dl>
<dl>
Line 9: Line 10:
<dd>System manager resettable
<dd>System manager resettable
<dt>Related products
<dt>Related products
<dd>[[??]]
<dd>All
<dt>Introduced
<dt>Introduced
<dd><var class="product">Sirius Mods</var> 8.1 (and by zap in 8.0)
<dd><var class="product">[[Sirius Mods]]</var> 8.1
</dl>
</dl>
==Description==
==Description==
This is a bitmask parameter that controls the behavior of the <var class="product">[[Fast/Unload User Language Interface]]</var>,
This parameter limits the number of snaps which can be issued with any given snap title.  That is, it prevents some bug from using up the snaps available as specified by the <var>[[SNAPLIM parameter|SNAPLIM]]</var> parameter. The minimum value of <var>SNAPLIMD</var> is 0, which indicates that there is no limit (other than <var>SNAPLIM</var>, of course) to the number of snaps for any given snap title, and the maximum value is 32767.  The default value is 3.
where the bits mean:
 
<dl>
===Usage notes===
<dt>X'01'
<ul>
<dd>Indicates that a synchronous [[Fast/Unload]] request is not to be allowed while
<li>The <code>*SNAP</code> snap title is not subject to <var>SNAPLIMD</var>, thus, whenever either the <var>[[*SNAP command|*SNAP]]</var> or <var>[[SIRIUS command#SNAPLMOD|SIRIUS SNAPLMOD]]</var>
an updating transaction is active.
command is issued, each snap thus created is considered unique, and will not be suppressed due to <var>SNAPLIMD</var>. </li>
This is to prevent a ''Fast/Unload'' request that might take a long time to
 
complete from being run while a user has resources enqueued for an updating
<li>When the <var>[[BUMPSNAP command|BUMPSNAP]]</var> command is issued, each snap thus created is considered unique, and will not be suppressed due to <var>SNAPLIMD</var>. </li>
transaction.
 
These resources would, of course, include the blocking of checkpoints if
<li>When the value of <var>SNAPLIMD</var> is greater than 0, the overall count of snaps (that is, the value of the <var>[[SNAPID_parameter|SNAPID]]</var> parameter) and the count for
subtransaction checkpoints are not being used.
each snap title reflect snaps that were <b>actually generated</b>; snaps which are suppressed either due to <var>SNAPLIM</var>
or <var>SNAPLIMD</var> do not increment those counts.
<p>
One useful consequence of this is that, as long as <var>SNAPLIMD</var> had not been zero whenever any snaps occurred,
you can be sure that <var>SNAPID</var> will always be less than or equal to the value of <var>SNAPLIM</var>, and so, to
increase <var>SNAPLIM</var> to generate an additional snap, you can simply:
</p>
<p class="code">RESET SNAPLIM 1+ </p>
<p>
Note that if you want to effectively <b>disable</b> the "duplicate elimination" feature of <var>SNAPLIMD</var> (but why would you?) but   
keep this benefit, you can: </p>
<p class="code">R SNAPLIMD 32767 </p>
<p>
(Any smaller big number will have the same effect, and makes no difference.) </p></li>


If the X'01' bit is set, and a thread attempts a synchronous ''Fast/Unload User Language Interface''
<li>When the value of <var>SNAPLIMD</var> is 0, the value of the <var>SNAPID</var> parameter is incremented for each snap
request (either via $Funload or the [[FastUnload (Recordset function)|FastUnload method]] of the Recordset class)
whether it is generated or suppressed, but the count for each
in the middle of an updating transaction, the transaction will be cancelled
each snap title reflects only snaps that were actually generated. </li>
with a message like the following:
    CANCELLING REQUEST: MSIR.0561: $FUNLOAD: Synchronous request during
                        update transaction in line 43, procedure FUNTEST,
                        file ALEXPROC
<dt>X'02'
<dd>Indicates that "basic"
<var class="product">Fast/Unload</var>
messages for all users are always audited, regardless of the presence of
a <var class="product">Fast/Unload User Language Interface</var>
"report" argument.
<dt>X'04'
<dd>Indicates that <b>all</b> <var class="product">Fast/Unload</var> messages for all users, except "Field statistics"
and <var>REPORT</var> statement lines,
are always audited, regardless of the presence of a
<var class="product">Fast/Unload User Language Interface</var>
"report" argument.
The X'02' bit need not be set if the X'04' bit is set.
<dt>X'08'
<dd>Indicates that "basic"
<var class="product">Fast/Unload</var>
messages for all users are always audited in the
<var class="product">Model 204</var> audit trail, whether or not the <code>FUNAUDIT</code> DD name is present.
If the X'04' bit is on, <b>all</b> messages are audited there as well.
In the odd case that there is no <var class="product">Model 204</var> audit trail, the X'08' bit is ignored, but auditing is
performed as if the X'02' bit were on, whether it is or not.
</dl>


For both of the <var>FUNPARM</var> X'02' and X'04' bits, the same bit has the same meaning (for an individual user) in the <var>[[FUNPRMU parameter|FUNPRMU]]</var> user parameter; the indicated effect takes place if either of the <var>FUNPRMU</var> or <var>FUNPARM</var> bits are on.
<li>If <var>SNAPLIMD</var> is (and has always been) greater than 0 (and so is used to limit duplicate snaps),
That is also true for the X'08' bit, although there are some additional details for the X'08' bit which generally you don't need
to generate additional snaps for those which have already reached the value of <var>SNAPLIMD</var>, you can increase its value, for example:
to concern yourself with, but are explained as part of the more detailed
<p class="code">RESET SNAPLIMD 3+ </p>
[[FUNPRMU parameter#Fast/Unload report processing|"Fast/Unload report processing discussion"]].
<p>
In order to generate these additional snaps, of course, you may also need to increase the value of the <var>SNAPLIM</var> parameter. </p></li>


The X'02', X'04', and X'08' bits of this parameter, together with the same bits of <var>FUNPRMU</var>,
<li>The <var>[[RESET_command|RESET]]</var> examples above use the feature described in [[Relative values for Model 204 numeric parameters]]. </li>
control the auditing of messages when using the <var class="product">Fast/Unload User Language Interface</var>.
These parameters can be used to augment the availability of auditing information, in such a way that the user or the system manager can
ensure that information is available for a single job or all jobs, without changes to any User Language
program invoking <var>[[FastUnload (Recordset function)|FastUnload]]</var>, <var>[[FastUnloadTask (Recordset function)|FastUnloadTask]]</var>, or <var>[[$Funload]]</var>.
Without the use of these parameters,
some auditing information may be available from the <code>FUNAUDIT</code> dataset, but that information may be inadequate:
for example, messages from a <var>FastUnload</var> job will not be in <code>FUNAUDIT</code> if the
<var>Report</var> parameter is used.


Using the X'02', X'04', and X'08' bits of these parameters is fairly straightforward and the above description should be adequate to use them. A complete description of the processing triggered by these bits is presented in the [[FUNPRMU parameter#Fast/Unload report processing|"Fast/Unload report processing discussion"]].
<li>The table of snap titles used by the <var>SNAPLIMD</var> parameter can be viewed or re-initialized using the <var>[[SNAPLIMD command|SNAPLIMD]]</var> command. </li>
</ul>


[[Category:System parameters]]
[[Category:System parameters]]
[[Category:Parameters]]
[[Category:Parameters]]
[[Category:Fast/Unload User Language Interface]]

Latest revision as of 21:02, 26 April 2018

0 or max number of occurrences of any particular snap

Summary

Default value
3
Parameter type
System
Where set
System manager resettable
Related products
All
Introduced
Sirius Mods 8.1

Description

This parameter limits the number of snaps which can be issued with any given snap title. That is, it prevents some bug from using up the snaps available as specified by the SNAPLIM parameter. The minimum value of SNAPLIMD is 0, which indicates that there is no limit (other than SNAPLIM, of course) to the number of snaps for any given snap title, and the maximum value is 32767. The default value is 3.

Usage notes

  • The *SNAP snap title is not subject to SNAPLIMD, thus, whenever either the *SNAP or SIRIUS SNAPLMOD command is issued, each snap thus created is considered unique, and will not be suppressed due to SNAPLIMD.
  • When the BUMPSNAP command is issued, each snap thus created is considered unique, and will not be suppressed due to SNAPLIMD.
  • When the value of SNAPLIMD is greater than 0, the overall count of snaps (that is, the value of the SNAPID parameter) and the count for each snap title reflect snaps that were actually generated; snaps which are suppressed either due to SNAPLIM or SNAPLIMD do not increment those counts.

    One useful consequence of this is that, as long as SNAPLIMD had not been zero whenever any snaps occurred, you can be sure that SNAPID will always be less than or equal to the value of SNAPLIM, and so, to increase SNAPLIM to generate an additional snap, you can simply:

    RESET SNAPLIM 1+

    Note that if you want to effectively disable the "duplicate elimination" feature of SNAPLIMD (but why would you?) but keep this benefit, you can:

    R SNAPLIMD 32767

    (Any smaller big number will have the same effect, and makes no difference.)

  • When the value of SNAPLIMD is 0, the value of the SNAPID parameter is incremented for each snap whether it is generated or suppressed, but the count for each each snap title reflects only snaps that were actually generated.
  • If SNAPLIMD is (and has always been) greater than 0 (and so is used to limit duplicate snaps), to generate additional snaps for those which have already reached the value of SNAPLIMD, you can increase its value, for example:

    RESET SNAPLIMD 3+

    In order to generate these additional snaps, of course, you may also need to increase the value of the SNAPLIM parameter.

  • The RESET examples above use the feature described in Relative values for Model 204 numeric parameters.
  • The table of snap titles used by the SNAPLIMD parameter can be viewed or re-initialized using the SNAPLIMD command.