transaction commit error in long running transaction

Home Page Forums BizTalk 2004 – BizTalk 2010 transaction commit error in long running transaction

Viewing 1 reply thread
  • Author
    Posts
    • #19301

      I have an orchestration with a control shape that updates a database from an flat file using a .net assembly.

      The flat file is not received by biztalk but rather is opened by the .net assembly. This works fine for most files but ~ once a month I need to process a flat file that is > 11 MB. In this case the database update takes ~5 min. Even this works but I wind up with a suspended instance (see below). It appears from the stack trace that the Biztalk engine is trying do a commit to the language store. Oddly the stack trace also refers to an AtomicTransaction.OnCommit(). The reason that seems peculiar is that transaction type of my orchestration is set to “Long Running”. My first guess to solving the problem was that the default timeout was too short and this was triggering a dehyradation even though I had specified the Long Running transcation type. I therefore tried to set the timeout to 30 minutes but not joy. Can anyone tell me what is happening?

      Thanks

       Dave Ferguson

      ———————————————— 

      Event Type: Error
      Event Source: XLANG/s
      Event Category: None
      Event ID: 10034
      Date:  04/10/2008
      Time:  2:16:10 PM
      User:  N/A
      Computer: BNSL3T6558
      Description:
      Uncaught exception (see the ‘inner exception’ below) has suspended an instance of service
      ‘Scotiabank.Biztalk.ScotiaACHXInputXLANG.ScotiabankScotiaACHXInputXLANG(f6df02ad-361c-f0c7-bd85-4b1482359b15)’.
      The service instance will remain suspended until administratively resumed or terminated.
      If resumed the instance will continue from its last persisted state and may re-throw the same unexpected exception.
      InstanceId: 51878aac-9062-4473-988f-bfbce5f231f4
      Shape name: EnqueueReportFile
      ShapeId: 6b750935-c468-4b11-9fc1-148b1fd525f4
      Exception thrown from: segment 2, progress 59
      Inner exception: The transaction has already been implicitly or explicitly committed or aborted
      (Exception from HRESULT: 0x8004D00E)
             
      Exception type: COMException
      Source: Microsoft.XLANGs.BizTalk.Engine
      Target Site: Void Commit()
      The following is a stack trace that identifies the location where the exception occured

         at Microsoft.BizTalk.XLANGs.BTXEngine.BTXXlangStore.Commit()
         at Microsoft.XLANGs.Core.Service.Persist(Boolean dehydrate, Context ctx, Boolean idleRequired,
           Boolean finalPersist, Boolean bypassCommit, Boolean terminate)
         at Microsoft.XLANGs.Core.TransactionalContext.OnCommit()
         at Microsoft.XLANGs.Core.AtomicTransaction.OnCommit()
         at Scotiabank.Biztalk.ScotiaACHXInputXLANG.ScotiabankScotiaACHXInputXLANG.segment2(StopConditions stopOn)
         at Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)

             

      For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.

       

       

       

    • #19308

      I solved my own problem. The orchestration was running as a long runing transaction type but I had also defined a scope. The scope used an atomic transaction type. My .net assembly was not serializable so the varibles could not be stored. The problem was solved instead by increasing the timeout of the atomic transaction.

Viewing 1 reply thread
  • The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.