I'm looking for some documentation on the content of a dtc trace file. Some columns is understandable like "pid" could be process id. But what is "tid". Guesswork would lead me to transaction id or thread id.
The reason for this question is that in most cases tid is the same for all log rows for one transaction but in a couple of cases tid is different and mixed between two transactions that happens at the same time. In those cases it looks like I end up with an orphaned transaction in SQL Server,
Before I draw any conclusions on that I need to know what tid is.
Documentation of the tracing output, by Microsoft, is seemingly nonexistent. This knowledgebase article makes reference to thread and this MSDN thread with a posting by a Microsoft employee seems to corroborate.
It sounds like you've got two threads of execution in your program that are trying to execute in parallel and having some kind of contention issue.