OpenWorklist timeouterrors after upgrade from Sp2a to Sp4a

  • 16 September 2008
  • 6 replies
  • 2 views

Badge +1

Hi all


I have written a custom task list for a web page using the K2ROM to retrieve all of a users or groups tasks. This could be a very large task list for some users (1000+) and it was all working fine until we upgraded from Sp2a to Sp4a.


Depending on the time of day it keeps timing out or the user receives a system message of “Thread was being aborted” error on the connection.OpenWorklist call when passed a worklistcriteria object. The call works fine early morning or late evening when there are fewer users on the system.


We have indexed the K2 database with suggestions made from the SQL Server Index Tuning Wizard, which made no difference to performance.


Any ideas as to what maybe causing the connection.OpenWorklist to fail during the working day?

Thanks

6 replies

Badge +1

Hi Blake


Thanks for getting back to me.


Unfortunately we need process data (we filter and sort the data) so we can't set NoData to true.


Thanks for the advice and I've been investigating further on the SQL aspect of the problem.


 


When the OpenWorkList call is made K2 starts processing. The K2 log file shows that it has opened the worklist for the user, then opens the worklist displaying the count, number of bytes and time taken (about 4 seconds). It then starts sending and receiving to load each WorkListItem. This is shown in SQL Profiler as executing the stored procedure kfieldOnDemand for each process instance. While the process is running the web app will timeout with the “Thread was being aborted” error in the event log, but within SQL Profiler it is still processing through all the process instances until complete.


 


As mentioned in my original post we have already indexed the K2 database, which included the tables that kfieldOnDemand references. The SQL statement that is built (as we are now on SP4) takes only 20 milliseconds.


 


Is there anyway of configuring OpenWorkList to wait for all the data? or any other ideas?


 


Paresh

Badge +3

Hiya


I wonder if it's worth having a look at the following post? It's about worklist performance tuning...


http://www.k2underground.com/forums/thread/24644.aspx

Badge

Hi All,


         I am new user for this k2 forum.


my application used k2 rom.When I open ,K2Connection.OpenWorklist(worklistCriteria),


worklist.count is 0,there should be 1 actually I think.How can I solve please help me ?


daniel_1978


 


 

Badge +3

Hi Daniel


This is a new topic and so should be in it's own thread. Please also post some more details i.e. code you are using to open the worklist items.


Thanks

Badge

Hi Smully,


                   Thanks for your reply.Please see muy code below


WorklistCriteria wlCriteria = new WorklistCriteria();
            wlCriteria.AddFilterField(WCLogical.And, WCField.ProcessData, DataField.Agreement_ID, WCCompare.Equal,
                                     Agreement_ID.ToString());          
wlCriteria.AddFilterField(WCLogical.And, WCField.ProcessFolio, WCCompare.Equal, AgreementNumber);
wlCriteria.AddFilterField(WCLogical.And, WCField.ActivityName, WCCompare.NotEqual, "Global Reminder");


Worklist wl = K2Connection.OpenWorklist(wlCriteria);


I have created 2 agreement,ID-2010-0022 and ID-2010-0042 since last week,now Once I open


ID-2010-0042 is still ok that wl count is returning 1 but ID-2010-0022 is returning 0 and I can't do


other process if I got return is 0.This problem is happen after 2 or 3 days of that I have created


agreements.Is that something we need to change any timeing status or whichever in k2 workflow


side to get the worklist?Please any replys are very helpfull for me.Thanks alot


Regards,


daniel_1978


 


 


 

Badge +3

Have you confirmed inside the workspace that both processes are running? Is it possible that one is in an error state?

Reply