Sorry, I should have been clearer.  The memory consumption we were
seeing was caused from the following from the ActionQueue.

public void execute(Executable executable) {
                final boolean lockQueryCache =
session.getFactory().getSettings().isQueryCacheEnabled();
                if ( executable.hasAfterTransactionCompletion() ||
lockQueryCache ) {
                        executions.add( executable );
                }
                if (lockQueryCache) {
                        session.getFactory()
                                .getUpdateTimestampsCache()
                                .preinvalidate(
executable.getPropertySpaces() );
                }
                executable.execute();
        }

Any action that is executed where the query cache is enabled will get
added to the executions list and won't be able to be garbage collected.
Living without the query cache was the lesser of 2 evils for us.

-----Original Message-----
From: Emmanuel Bernard [mailto:[EMAIL PROTECTED] 
Sent: Monday, November 12, 2007 9:42 AM
To: Shawn Clowater
Cc: hibernate-dev@lists.jboss.org
Subject: Re: [hibernate-dev] Memory consumption

No what I am talking about is not related to the caching system.

On  Nov 12, 2007, at 17:31, Shawn Clowater wrote:

> I believe this only comes into play if you are using query  
> caching.  We
> had to turn that off for this very reason.
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Emmanuel
> Bernard
> Sent: Sunday, November 11, 2007 5:29 PM
> To: Markus Heiden
> Cc: hibernate-dev@lists.jboss.org
> Subject: Re: [hibernate-dev] Memory consumption
>
> You're missing one part, how about custom event listeners. Hibernate
> Search used to use those events and needed the entity instances for
> example.
> For the optimization, the JIRA issue has not been created AFAIK.
>
> On  Nov 11, 2007, at 17:00, Markus Heiden wrote:
>
>> Hi Emmanuel,
>>
>>> You need it for the post commit insert event.
>>
>> I know, but during the execution of "post commit" code of the
>> EntityInsertAction only the id of the instance is needed and this
>> should be retrievable after a flush. So in all cases there is no
>> need to keep the reference to the instance after flushing.
>>
>>> But we could optimize that if there is no such event.
>>
>> Anyway this solution would be sufficient for first. Or does
>> hibernate keeps references to instances after a flush somewhere
>> else too?
>> Shall I create a JIRA issue?
>>
>> Markus Heiden
>>
>>
>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev


_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to