So far it looks OK, although it's a bit troubling that the query plan cache
does this. I'm not a big fan of heavy constructors, but in this case it
makes some sense.

I think you can make your test behave correctly (i.e fail when it should)
by adding a second pass of GC.Collect()

A JIRA issue and an accompanying unit test (for now, remove the dependency
on SQLite) would be nice.

/G


2013/12/12 Gunnar Liljas <[email protected]>

> Great work, Lauri!
>
> I'll do some tests tomorrow, just to give you feedback.
>
> /G
>
>
>
> 2013/12/11 Lauri Kotilainen <[email protected]>
>
>> Hi,
>>
>> I originally posted the description of this issue to the nhusers list:
>>
>> https://groups.google.com/d/topic/nhusers/v_6WCod79XE/discussion
>>
>> and I won't waste bits by pasting the entire description here unless it's
>> deemed necessary. Anyway, I think I have a patch that fixes the session
>> leak, but I don't understand the big picture well enough to evaluate
>> whether or not it's a safe change. Essentially, what I did was move most of
>> the code from NhLinqExpression.Translate to the NhLinqExpression
>> constructor and eliminated the _expression field, making it a local
>> variable in the ctor. It didn't cause any test failures in the master
>> branch, and after I backported it to the 3.4.x branch and tested with the
>> problematic application, the leak is gone (according to ANTS profiler).
>>
>> Here's the patch:
>> https://gist.github.com/rytmis/3735cfc274e135aae753
>>
>> Unfortunately, even with that patch applied, the unit test in my other
>> post fails -- even though a heap inspection with WinDBG confirms that the
>> session is no longer rooted and is eligible for collection.
>>
>> What I would like to know at this point is whether the change is likely
>> to cause performance regressions or other unexpected side effects.
>>
>> Thanks,
>>
>> -Lauri
>>
>> --
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "nhibernate-development" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"nhibernate-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to