Oh wow my feature request got some spot light :). 

 If I get a chance today I'll open a Jira feature request for a "Transaction 
Scope" section on the official reference documentation.


-Carlos

 

Practice makes perfect, but if no one is perfect, why practice?




Date: Thu, 6 May 2010 11:36:28 -0300
Subject: Re: [nhibernate-development] leaking connections when using    
transactionscope without NH transaction
From: [email protected]
To: [email protected]

I feel a déjà vu... we discussed this same issue last month (but I think it was 
on the users group).There's even an open jira: 
http://216.121.112.228/browse/NH-2181

If you ask me... we do have a violation of the principle of least surprise.I 
can't count how many mails in the users group and questions in Stackoverflow 
I've answered with "use a transaction".

While I agree with Fabio in that an official reference on TransactionScope is 
needed (in the main docs), this should be more intuitive for new users. Maybe 
NH 3 is an opportunity to introduce breaking changes...

   Diego



On Thu, May 6, 2010 at 11:12, Davy Brion <[email protected]> wrote:

Well for starters, it just feels pointless to use an NHibernate Transaction if 
TransactionScope is supposed to take care of that for you.  And let's be honest 
here, that's just how it works with probably every other data layer out there 
in the .NET world.  Why should we be different?  


But if usage of an NH transaction is indeed absolutely required, then we sure 
shouldn't put up with the current behavior either.  It's way too easy to make a 
mistake with it and just putting a notice in the official reference about it 
feels like a cop-out instead of actually dealing with a real problem.


On Thu, May 6, 2010 at 4:03 PM, Fabio Maulo <[email protected]> wrote:


IMO is the moment to write something in out official reference.We should 
dedicate a section on : How work with TransactionScope 

I have never found a problem because I'm opening the NH'session and begin, 
always, the NH's transaction inside the transaction scope. All problem I have 
seen is about ppl who don't want use the NH's transaction... with which reason 
? so far I saw only "style" reason... for me the "style" is a matter for 
FashionTV.



On Thu, May 6, 2010 at 9:59 AM, John Davidson <[email protected]> wrote:



It may seem to be a good idea to have a mandatory transaction within a session, 
but you are forgetting that a session may use many transactions, which makes it 
difficult to force a transaction creation within a sesssion. I.E. when you 
commit a transaction and and the session is not yet closed do you automatically 
create another transaction, just in case the session is going to do more 
transactional work?




I think many of the problems are a result of changes from v1.2 to 2.x where it 
was recognized that a transaction was necessary for any read or write activity 
with the database. However, there probably is a substantial body of 
applications started in v1.2 that were upgraded to v2.x where the upgrade to 
wrap all reads did not happen.




I don't think this can easily be fixed by changing the session semantics.
John Davidson


On Thu, May 6, 2010 at 8:42 AM, Davy Brion <[email protected]> wrote:

yup, i feel the same way

On Thu, May 6, 2010 at 2:37 PM, Richard Brown <[email protected]> wrote:





IMHO, if the usage is not allowed, we should change the API to disallow session 
without a tx.  If it is allowed we should fix it.


Sent from my Android phone.


On 6 May 2010 13:19, "Davy Brion" <[email protected]> wrote:

Hey guys,
i just ran into a weird issue with leaking connections due to using a 
TransactionScope without using an NH transaction...  i've described the problem 
here:





http://davybrion.com/blog/2010/05/avoiding-leaking-connections-with-nhibernate-and-transactionscope/







the thing is: is this a bug in NH or not? I mean... it might be due to bad 
usage, but if the usage scenario is bad, then NHibernate should probably warn 
against it instead of playing along and failing silently in some cases...







thoughts?








-- 
Fabio Maulo






                                          

Reply via email to