MS DTC stopped BizTalk's transaction causing stuck message in Receive Pipeline

0

We had the error that the Microsoft Distributed Transaction Coordinator (MS DTC) has cancelled a transaction of BizTalk which causes some stuck messages in the Receive Port, it has never happened before for years but it just occurs recently in 1 minute which causes few stuck messages. Is there anyway to make the Receive Location retries on error? What caused the DTC issue? I notice all the instances of stuck messages having in active running service instances, is it an issue? and how can I fix it?

Running service instances

Error from BizTalk:

There was a failure executing the receive pipeline: "CargoWise.eHub.Gateway.Pipelines.Rcv_ResolveInboundGatewayMessage, CargoWise.eHub.Gateway.Pipelines, Version=3.0.0.0, Culture=neutral, PublicKeyToken=4f570df270576350" Source: "Unknown " Receive Port: "Gateway_SelectInboxMessageByStatus_CACustoms" URI: "mssql://ehubtransactions.db.wisegrid.net//eHubTransactions?InboundId=SelectInboxMessagesByStatus&Category=CACustoms" Reason: 0x8004d00e

Error from SQL Server:

Microsoft Distributed Transaction Coordinator (MS DTC) has stopped this transaction Error: 8522, Severity: 18, State: 1

It is a WCF-SQL receive port which pulls a message from database and its pipeline will dissemble and add properties to the message. The pipeline components don't access to database. However, there is no error in the query as it will update the db status to 1:

UPDATE top (1) Inbox WITH (ROWLOCK) SET Status = 1 WHERE PK = @PK AND Status = 0

SELECT PK,MessageTrackingID,Content FROM InboxMessage WITH (ROWLOCK) WHERE PK = @PK and InsertUTC = @InsertUTC

sql-server
biztalk
msdtc
biztalk-2016
asked on Stack Overflow Feb 15, 2021 by Darren Bui • edited Feb 16, 2021 by Darren Bui

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0