Here is an example from a Filter log file (ARS 7.1.0 Patch 007) showing the 
Filter doing the delete.

<FLTR> <TID: 0000000006> <RPC ID: 0000002826> <Queue: Escalation> <Client-RPC: 
390603   > 
       <USER: AR_ESCALATOR (Pool 1) > /* Thu Jan 21 2010 04:22:41.1471 */     
Checking "Freds Test Filter"   
<FLTR> <TID: 0000000006> <RPC ID: 0000002826> <Queue: Escalation> <Client-RPC: 
390603   > 
       <USER: AR_ESCALATOR (Pool 1) >         0: Process   
<FLTR> <TID: 0000000006> <RPC ID: 0000002826> <Queue: Escalation> <Client-RPC: 
390603   > 
       <USER: AR_ESCALATOR (Pool 1) >               Application-Delete-Entry 
"01:CA:RecordLocks" LCK000007380319   

Looking at the Escalation Log it definitely waited until all Filter actions 
completed before moving on to the next record.

Actually if you have a lot of records to delete I would make the escalation run 
in its own thread pool (AR System Administration Console -> System -> General 
-> Server Information -> Ports and Queues tab
Set an RPC Prog Number of 390603,  Min Threads and Max threads to however many 
escalation threads you want.

When you define your escalation select a separate pool for this escalation. If 
no pool is selected then the escalation will run in Pool 1.


FYI:  Application-Query-Delete-Entry does each delete in a separate 
transaction.  You can see it do an individual select for each record to delete 
by watching the SQL log.

Fred

-----Original Message-----
From: Action Request System discussion list(ARSList) 
[mailto:arsl...@arslist.org] On Behalf Of Misi Mladoniczky
Sent: Thursday, January 21, 2010 1:25 PM
To: arslist@ARSLIST.ORG
Subject: Re: Delete entry

Hi Joe,

I have to disagree with you here.

Any filter-actions resulting from an Escalation Set-Fields/Push-Fields
operation will be performed in the same thread. I have seen hundreds of
log files to prove this.

I would use the exact same escalation qualification as JK suggested:
'Submit Date' <  ( $TIMESTAMP$ - 86400)

I would then have a single run-process action to do the:
Application-Delete-Entry "$SCHEMA$" $1$

Each delete will then take place in a separate transaction.
If you do an Application-Query-Delete-Entry that handles multiple deletes,
it will take place inside a single transaction that will be rolled back if
any of the deletes fail. This use a lot of resources, especially if you
have attachments on the form.

I would suggest that you put an index on the field, and that you run it as
often as possible. Maybe each hour or so, or maybe even every 7 minutes if
you have a lot of records to delete. This will minimize the impact on
other escalations, as each run will take less time.

        Best Regards - Misi, RRR AB, http://www.rrr.se

Products from RRR Scandinavia:
* RRR|License - Not enough Remedy licenses? Save money by optimizing.
* RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs.
Find these products, and many free tools and utilities, at http://rrr.se.

> That's actually not true.. Filters use a different thread than
> Escalations..
> Let me explain further what I learnt in a performance tuning class years
> ago
> (version 4 days) and I do not think this has changed with the later
> versions..
>
> When an escalation does what it has to do, it terminates its job and
> exits..
> and it runs with a specific thread ID (I do not recall it by memory what
> that ID is but its something like 600630??). But that's besides the
> point..
>
> The filter that actually does the delete does not use the same thread
> number
> as the escalation (try thread logging and you will see this).
>
> So when you have an escalation do what it has to do, namely the first
> phase
> operation of Set Fields, it does that and it doesn't really care if the
> Filter does or does not execute the operations defined to fire on Modify
> when the $USER$ is the escalation user.. Filters when triggered fire and
> utilize a different thread. So the deletes that would be triggered as a
> result of the Modify operation by the Escalation will be independent of
> that
> Escalation thread, and the escalation thread exits before all of the
> deleted
> occur, thus being available to any other escalations that may be designed
> to
> immediately follow..
>
> Joe
>
> -----Original Message-----
> From: Action Request System discussion list(ARSList)
> [mailto:arsl...@arslist.org]on Behalf Of LJ Longwing
> Sent: Thursday, January 21, 2010 12:31 PM
> To: arslist@ARSLIST.ORG
> Subject: Re: Delete entry
>
>
> But Joe, yes the set field happens in phase 1, but the delete action
> happening on the record itself is still a phase 3 action.  Either way the
> Escalation has to wait for each record to 'process' before it goes onto
> the
> next record, so delete from the escalation vs delete from a filter on the
> record will cause the escalation thread to still wait, so I'm not sure I
> agree with your statements.
>
> -----Original Message-----
> From: Action Request System discussion list(ARSList)
> [mailto:arsl...@arslist.org] On Behalf Of Joe D'Souza
> Sent: Thursday, January 21, 2010 10:25 AM
> To: arslist@ARSLIST.ORG
> Subject: Re: Delete entry
>
> Fred,
>
> You are right in that calculation-wise it will not really have any
> benefit.
>
> But doing a delete in an escalation is not the best way - Delete is a 2nd
> phase operation and is queued. You do not want to hold the escalation
> thread
> longer than it should for this queue to complete.
>
> So having a filter aid the escalation to actually do the delete and the
> escalation only to mark the record to be deleted is a better approach as
> set
> fields is a fast operation that happens on the first phase of the
> transaction..
>
> Joe
>
> -----Original Message-----
> From: Action Request System discussion list(ARSList)
> [mailto:arsl...@arslist.org]on Behalf Of Grooms, Frederick W
> Sent: Thursday, January 21, 2010 12:16 PM
> To: arslist@ARSLIST.ORG
> Subject: Re: Delete entry
>
>
> Since it is on the right side of the equation and not using any fields
> from
> the form the Escalation should only do the calculation once.
>
> As for setting a field and having a Filter do the delete, that is my
> preferred method as well
>
> Fred
>
> -----Original Message-----
> From: Action Request System discussion list(ARSList)
> [mailto:arsl...@arslist.org] On Behalf Of Joe D'Souza
> Sent: Thursday, January 21, 2010 10:51 AM
> To: arslist@ARSLIST.ORG
> Subject: Re: Delete entry
>
> **
> John,
>
> Should work but I'd make the process a little more data driven..
>
> Instead of having the escalation calculate all this and chocking an
> escalation thread, I'd set that delete time to a temp field at the time of
> submitting the record. For e.g.. create a temp field called
> ztmpDeleteTime.
> Set the time $TIMESTAMP$ + 86400 to it using a filter..
>
> Then have the Escalation check 'ztmpDeleteTime' < $TIMESTAMP$ and mark the
> record for deletion using another temp field that you have that escalation
> set say 'ztmpDelete' to Y.. Do not have the escalation delete it again for
> the purpose of not choking the escalation thread. Have a filter that
> performs that delete when the record is marked for deletion and the $USER$
> is the escalation user.  It would be more efficient especially over a
> large
> number of records..
>
> Joe
>
> -----Original Message-----
> From: Action Request System discussion list(ARSList)
> [mailto:arsl...@arslist.org]on Behalf Of John Kelley
> Sent: Thursday, January 21, 2010 11:39 AM
> To: arslist@ARSLIST.ORG
> Subject: Delete entry
>
> Hi All
>
> Brain cramp today
> Can someone confirm that this statement is true!
> I am performing a delete action in an escalation for deleting all items in
> a
> form 24 hours and beyond.
> Let me rephrase
> I want to leave items in the form for 24 hours from the submit date.
>
> 'Submit Date' <  ( $TIMESTAMP$ - 86400)
>
>
> Sys:Action
> ARS 7.1
>
> Thanks JK
>
> _______________________________________________________________________________
> UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
> Platinum Sponsor:rmisoluti...@verizon.net ARSlist: "Where the Answers Are"
>
> --
> This message was scanned by ESVA and is believed to be clean.
>

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: "Where the Answers Are"

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor:rmisoluti...@verizon.net ARSlist: "Where the Answers Are"

Reply via email to