Expand my Community achievements bar.

SOLVED

database cleanup workflow

Avatar

Level 3

Hi - I have a query related to database cleanup workflow, which is OOTB workflow with Adobe Campaign v6/v7. I understand it executes below command via nlserver module.

cleanup -instance:<%= instanceName %>

1) How is this instanceName defined - is it via the configuration xmls ?

2) How can we get the information about some source code of cleanup command, as in any location/script which will give us an idea which all SQLs will be executed in what sequence they are formed etc via cleanup command ?

Regards

Ankit Kochar

1 Accepted Solution

Avatar

Correct answer by
Level 3

Hi Vipul Raghav​ ,

I have found the actual problem for which I was looking for details around this cleanup workflow.

Basically, the workflow in our instance used to fail regularly without any details in the logs (xtkworkflowlog). Finally we identified that the session which insert data in xtkworkflowlog table has been timed out.
We have DB idle time out setting as 30 mins, now hypothesis what I have build is that the session which writes data in logs (xtkworkflowlog) is waiting for response from actual workflow task, which if has been running for more than 30 min then due to inactivity - it may be getting idle and thus getting timed out. So when the activity gets completed it gives response to the primary session which was already timed out and thus workflow fails.

So I wanted to understand how wfserver manages the session, I could not find any documentation and would be helpful if someone can help with it.

I have asked separate question for this as well Workflow execution/DB session management

Ankit

View solution in original post

6 Replies

Avatar

Employee

Hi ankitkochar,

The instanceName is an internal personalisation code that is inbuilt into product.

Also the cleanup module is all a blackbox, you cannot tab into the code. If you wish to have a read of the SQLs it is firing dedicated to your instance, please go to command line of the server and type following command

nlserver cleanup -instance:instanceName -tracefilter:wdbc

1540105_pastedImage_1.png

It will present the cleanup workflow to run from command line but then you have to go to folder /var/<instanceName>/log and you will see a cleanup.log file.

It will contain all SQL commands fired.

1540271_pastedImage_2.png

There is also an official documentation page which explains what all tasks are performed by this workflow

https://docs.campaign.adobe.com/doc/AC/en/PRO_Data_processing_Database_cleanup_workflow.html

Regards,
Vipul

Avatar

Level 3

Thanks Vipul, yes have tried that command line option already and instead of wdbc, I had used * option with a tracefile . The reason I wanted to tab into code was to understand how it generates & submits SQLs.
Is it a case that once the cleanup is fired, it will connect to Database and will continue to execute all the SQL's or it will do it via multiple session or so

Regards

Ankit

Avatar

Employee

Hi ankitkochar,

I'll assume that all deletions will happen in a single session but I'm not 100% sure.

We will have to ask Engineering for that. Can you please raise a P4 support ticket and ask them to check with Engineering and provide you with answers.

CCing Gaurang Mathur  florentlb (our admins)

Regards,
Vipul

Avatar

Level 3

Thanks Vipul Raghav I did discussed this with engineering as a part of ongoing problem with this workflow and none the less we have been able to pin point the problem.

Regards

Ankit

Avatar

Correct answer by
Level 3

Hi Vipul Raghav​ ,

I have found the actual problem for which I was looking for details around this cleanup workflow.

Basically, the workflow in our instance used to fail regularly without any details in the logs (xtkworkflowlog). Finally we identified that the session which insert data in xtkworkflowlog table has been timed out.
We have DB idle time out setting as 30 mins, now hypothesis what I have build is that the session which writes data in logs (xtkworkflowlog) is waiting for response from actual workflow task, which if has been running for more than 30 min then due to inactivity - it may be getting idle and thus getting timed out. So when the activity gets completed it gives response to the primary session which was already timed out and thus workflow fails.

So I wanted to understand how wfserver manages the session, I could not find any documentation and would be helpful if someone can help with it.

I have asked separate question for this as well Workflow execution/DB session management

Ankit