Answered DeadLock Issue in WCF SQL Send Port-BizTalk Server 2006

  • Friday, May 04, 2012 9:35 AM
     
     

    Hi,

    I am updating the status record from the custom pipeline component(CP1) in the Send Pipeline in Send Port.

    Again I am updating the same status record in the stored procedure(SP1) called from WCF-SQL Adapter in the Send Port.

    I am getting DeadLock error and send pipeline is rolled back.

    -Deadlock happens due to cyclic dependency ,but I am not able to figure out any cyclic depedency here.

    -Is it possible that CP1 in Send Pipeline created a Lock in the updated row (R1) in Status Table and since sql objects not disposed , so lock remains.And it is a sql adapter(WCF) at send port, so pipeline will wait for the sql adapter(WCF) to finish before releasing the lock.

    -Then the WCF SQL Adapter runs the SP1 and requests the lock on the same record R1.

    ----So SQL adapter cant complete unless Send Pipeline releases the lock and Send Pipeline cant release the lock unless SQL Adapter completes. Isn't it a cyclic dependency which created DeadLock. So, if we dispose the sql objects manually inside finally block in CP1 ,will it resolve the deadlock issue.

    -is it necessary to dispose the sql objects in CP1 ?

    PLEASE HELP.

All Replies

  • Friday, May 04, 2012 9:43 AM
     
     Answered
    Similar thread.

    Regards,
    Bali
    MCTS: BizTalk Server 2010,BizTalk Server 2006 and WCF
    My Blog:dpsbali-biztalkweblog
    -----------------------------------------------------
    Mark As Answer or Vote As Helpful if this helps.