I have a CDC solution defined with 3 groups, so there are 3 full load packages and 3 CDC packages. I've modified each of the 3 CDC packages by enclosing the CDC sequence container in an infinite Loop container (with a pause after the CDC sequence). So these 3 CDC packages run continuously and concurrently.

The issue I'm having is that occasionally one of them will get engaged in work that makes the CDC sequence container run for more than 30 seconds. When this happens, the other two packages may fail the "Initialize Change Processing Task" because the PACKCNTX query times out (because the PACKCNTX table is locked during the other CDC package's transaction). The timeout seems to be 30 seconds.

Do I need to change the PACKCNTX query timeout? If so, how do I do this? Or do I need to change the transaction isolation level for the CDC sequence container? Or something else?

What is recommended?

Here's an SSIS log example of this happening:

OnInformation,SW72CIFDEV,SHAW\dcook,SellingStructu re_CDC,{21975803-1AA1-4DB4-A47B-B3B1C81E189E},{39AA2E88-CBCF-4103-903F-6B28EEAC01C1},8/11/2010 2:18:19 PM,8/11/2010 2:18:19 PM,0,0x,RetrieveContext(): selectCommand.CommandText = SELECT strtcntx, endcntx, savecntx FROM "TSFAQA_SFDC"."shxp"."PACKCNTX" WHERE grpname = ?
OnWarning,SW72CIFDEV,SHAW\dcook,Initialize Change Processing Task,{A1A9E455-B05B-4356-8C7C-C07C37263123},{39AA2E88-CBCF-4103-903F-6B28EEAC01C1},8/11/2010 2:18:49 PM,8/11/2010 2:18:49 PM,0,0x,Failed to retrieve contexts. Query timeout expired