+1 We've had the same problems for a long time but I never considered that it could be because of a bug in NH :-).
2012/10/19 Roy Jacobs <[email protected]> > Ah, okay. Good to hear! One of the workarounds I've read is to use the > regular non-distributed factory because the underlying SqlConnection will > enlist anyway, but that it may cause problems with second level caching. > Are there alternative workarounds to consider for now? > > Roy > > > On Friday, October 19, 2012 2:32:18 PM UTC+2, Oskar Berggren wrote: > >> I started to look at all those issues in unison a few weeks back (that's >> when a unified them under the TransactionScope label) and I have a few >> ideas plus some things that needs further thought. Currently, I think that >> some of those issues are "simple" bugs that should be fixed, while other >> issues might in fact be unsolvable with the approach that NH currently use. >> >> Eventually I decided that I need to finish and merge the .Net 4 changes >> first, before I shift focus. This should be really close now. >> >> /Oskar >> >> >> 2012/10/19 Roy Jacobs <[email protected]> >> >> Hi all, >>> >>> I see quite a few bugs on JIRA relating to the same topic: >>> https://nhibernate.jira.com/**secure/IssueNavigator.jspa?** >>> reset=true&jqlQuery=labels+%**3D+TransactionScope<https://nhibernate.jira.com/secure/IssueNavigator.jspa?reset=true&jqlQuery=labels+%3D+TransactionScope> >>> >>> They're all about the fact that SQL errors cause a session's >>> SqlConnection to be closed from a different thread than the thread that >>> opened it (through the AdoNetDistributedTransacionFac**tory). We've >>> been running into this issue for quite some time now as well. We store >>> NServiceBus saga's using NHibernate and occasionally we may get a deadlock. >>> Normally this would not be a huge problem (just retry the message), but >>> once this deadlock occurs, we get, for a minute or 2, a log full of errors >>> like "New request is not allowed to start because it should come with valid >>> transaction descriptor" and "Distributed transaction completed. Either >>> enlist this session in a new transaction or the NULL transaction.". >>> >>> Now, this is something we'd like to have fixed, or fix ourselves. Is >>> anyone actively looking at this, right now? Or willing to share some >>> suggestions/findings? >>> >>> Roy >>> >> >>
