Teneo: performance fall of HibernatePersistableEList [message #68304] |
Fri, 19 January 2007 07:27  |
Eclipse User |
|
|
|
When list is already loaded by eager loading or by subselect fetch
loading then HibernatePersistableEList isLoaded() method in this case
calls doLoad. doLoad() method begins transaction and commit transaction
when there is no need for it.
I have profiled my eclipse application:
HibernatePersistableEList.doLoad was called 455 times and cumulative
time was 91 secs.
JDBCTransaction was called 456 and cumulative time was 76 secs.
The first transaction is initial loading and the next transactions are
not needed at all.
So my application looses many idle time.
Is it possible not to begin and commit transaction in
HibernatePersistableEList when list is already loaded?
Thanks.
Ilya.
|
|
|
|
|
|
Re: Teneo: performance fall of HibernatePersistableEList [message #68347 is a reply to message #68336] |
Fri, 19 January 2007 08:03  |
Eclipse User |
|
|
|
I have created bug report #171035.
Ilya
Martin Taal wrote:
> Yes I agree, this can be improved. Can you enter a bugzilla for this? I
> plan to do a new release next week which will contain a fix for this.
>
> gr. Martin
>
> Ilya Klyuchnikov wrote:
>> I am using Teneo I200701051518.
>>
>> Described problem is real problem for me.
>>
>> Details:
>>
>> I have about 500 collections already loaded by fetch subselect - 2-3
>> collections are loaded from HibernatePersistableEList's point of view
>> and delegates for others are loaded.
>>
>> So when I touch collections with already loaded delegates -
>> HibernatePersistableEList.isLoaded() is called. This method reveals
>> that delegate is loaded but isLoaded field is false. So it calls
>> doLoad() method. DoLoad() method begins and commit transaction (but
>> there is no need for it - cause delegate is already loaded).
>> transaction.commit takes very long time.
>>
>> BTW I have made workaround in my app - I have introduced
>> SessionController (so HibernatePersistableEList doesn't begin and
>> commit transactions) for my resource and time of touching of all my
>> collections (from UI) reduced from 91 sec to 9 sec.
>>
>> So main point: there is no need to begin and commit transaction in
>> HibernatePersistableEList when delegate is already loaded.
>>
>> Ilya
>>
>> Martin Taal wrote:
>>> Hi Ilya,
>>> Are you using the latest teneo build? Something similar should have
>>> been solved in the latest build. See also the newsgroup discussion here:
>>> http://dev.eclipse.org/newslists/news.eclipse.technology.emf t/msg01687.html
>>>
>>>
>>> gr. Martin
>>>
>>> Ilya Klyuchnikov wrote:
>>>> When list is already loaded by eager loading or by subselect fetch
>>>> loading then HibernatePersistableEList isLoaded() method in this
>>>> case calls doLoad. doLoad() method begins transaction and commit
>>>> transaction when there is no need for it.
>>>>
>>>> I have profiled my eclipse application:
>>>> HibernatePersistableEList.doLoad was called 455 times and cumulative
>>>> time was 91 secs.
>>>>
>>>> JDBCTransaction was called 456 and cumulative time was 76 secs.
>>>>
>>>> The first transaction is initial loading and the next transactions
>>>> are not needed at all.
>>>>
>>>> So my application looses many idle time.
>>>>
>>>> Is it possible not to begin and commit transaction in
>>>> HibernatePersistableEList when list is already loaded?
>>>>
>>>> Thanks.
>>>>
>>>> Ilya.
>>>
>>>
>
>
|
|
|
Re: Teneo: performance fall of HibernatePersistableEList [message #601364 is a reply to message #68304] |
Fri, 19 January 2007 07:38  |
Eclipse User |
|
|
|
Hi Ilya,
Are you using the latest teneo build? Something similar should have been solved in the latest build.
See also the newsgroup discussion here:
http://dev.eclipse.org/newslists/news.eclipse.technology.emf t/msg01687.html
gr. Martin
Ilya Klyuchnikov wrote:
> When list is already loaded by eager loading or by subselect fetch
> loading then HibernatePersistableEList isLoaded() method in this case
> calls doLoad. doLoad() method begins transaction and commit transaction
> when there is no need for it.
>
> I have profiled my eclipse application:
> HibernatePersistableEList.doLoad was called 455 times and cumulative
> time was 91 secs.
>
> JDBCTransaction was called 456 and cumulative time was 76 secs.
>
> The first transaction is initial loading and the next transactions are
> not needed at all.
>
> So my application looses many idle time.
>
> Is it possible not to begin and commit transaction in
> HibernatePersistableEList when list is already loaded?
>
> Thanks.
>
> Ilya.
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: Teneo: performance fall of HibernatePersistableEList [message #601375 is a reply to message #68316] |
Fri, 19 January 2007 07:51  |
Eclipse User |
|
|
|
I am using Teneo I200701051518.
Described problem is real problem for me.
Details:
I have about 500 collections already loaded by fetch subselect - 2-3
collections are loaded from HibernatePersistableEList's point of view
and delegates for others are loaded.
So when I touch collections with already loaded delegates -
HibernatePersistableEList.isLoaded() is called. This method reveals that
delegate is loaded but isLoaded field is false. So it calls doLoad()
method. DoLoad() method begins and commit transaction (but there is no
need for it - cause delegate is already loaded). transaction.commit
takes very long time.
BTW I have made workaround in my app - I have introduced
SessionController (so HibernatePersistableEList doesn't begin and commit
transactions) for my resource and time of touching of all my collections
(from UI) reduced from 91 sec to 9 sec.
So main point: there is no need to begin and commit transaction in
HibernatePersistableEList when delegate is already loaded.
Ilya
Martin Taal wrote:
> Hi Ilya,
> Are you using the latest teneo build? Something similar should have been
> solved in the latest build. See also the newsgroup discussion here:
> http://dev.eclipse.org/newslists/news.eclipse.technology.emf t/msg01687.html
>
> gr. Martin
>
> Ilya Klyuchnikov wrote:
>> When list is already loaded by eager loading or by subselect fetch
>> loading then HibernatePersistableEList isLoaded() method in this case
>> calls doLoad. doLoad() method begins transaction and commit
>> transaction when there is no need for it.
>>
>> I have profiled my eclipse application:
>> HibernatePersistableEList.doLoad was called 455 times and cumulative
>> time was 91 secs.
>>
>> JDBCTransaction was called 456 and cumulative time was 76 secs.
>>
>> The first transaction is initial loading and the next transactions are
>> not needed at all.
>>
>> So my application looses many idle time.
>>
>> Is it possible not to begin and commit transaction in
>> HibernatePersistableEList when list is already loaded?
>>
>> Thanks.
>>
>> Ilya.
>
>
|
|
|
Re: Teneo: performance fall of HibernatePersistableEList [message #601377 is a reply to message #68325] |
Fri, 19 January 2007 07:52  |
Eclipse User |
|
|
|
Yes I agree, this can be improved. Can you enter a bugzilla for this? I plan to do a new release
next week which will contain a fix for this.
gr. Martin
Ilya Klyuchnikov wrote:
> I am using Teneo I200701051518.
>
> Described problem is real problem for me.
>
> Details:
>
> I have about 500 collections already loaded by fetch subselect - 2-3
> collections are loaded from HibernatePersistableEList's point of view
> and delegates for others are loaded.
>
> So when I touch collections with already loaded delegates -
> HibernatePersistableEList.isLoaded() is called. This method reveals that
> delegate is loaded but isLoaded field is false. So it calls doLoad()
> method. DoLoad() method begins and commit transaction (but there is no
> need for it - cause delegate is already loaded). transaction.commit
> takes very long time.
>
> BTW I have made workaround in my app - I have introduced
> SessionController (so HibernatePersistableEList doesn't begin and commit
> transactions) for my resource and time of touching of all my collections
> (from UI) reduced from 91 sec to 9 sec.
>
> So main point: there is no need to begin and commit transaction in
> HibernatePersistableEList when delegate is already loaded.
>
> Ilya
>
> Martin Taal wrote:
>> Hi Ilya,
>> Are you using the latest teneo build? Something similar should have
>> been solved in the latest build. See also the newsgroup discussion here:
>> http://dev.eclipse.org/newslists/news.eclipse.technology.emf t/msg01687.html
>>
>>
>> gr. Martin
>>
>> Ilya Klyuchnikov wrote:
>>> When list is already loaded by eager loading or by subselect fetch
>>> loading then HibernatePersistableEList isLoaded() method in this case
>>> calls doLoad. doLoad() method begins transaction and commit
>>> transaction when there is no need for it.
>>>
>>> I have profiled my eclipse application:
>>> HibernatePersistableEList.doLoad was called 455 times and cumulative
>>> time was 91 secs.
>>>
>>> JDBCTransaction was called 456 and cumulative time was 76 secs.
>>>
>>> The first transaction is initial loading and the next transactions
>>> are not needed at all.
>>>
>>> So my application looses many idle time.
>>>
>>> Is it possible not to begin and commit transaction in
>>> HibernatePersistableEList when list is already loaded?
>>>
>>> Thanks.
>>>
>>> Ilya.
>>
>>
--
With Regards, Martin Taal
Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
|
|
|
Re: Teneo: performance fall of HibernatePersistableEList [message #601383 is a reply to message #68336] |
Fri, 19 January 2007 08:03  |
Eclipse User |
|
|
|
I have created bug report #171035.
Ilya
Martin Taal wrote:
> Yes I agree, this can be improved. Can you enter a bugzilla for this? I
> plan to do a new release next week which will contain a fix for this.
>
> gr. Martin
>
> Ilya Klyuchnikov wrote:
>> I am using Teneo I200701051518.
>>
>> Described problem is real problem for me.
>>
>> Details:
>>
>> I have about 500 collections already loaded by fetch subselect - 2-3
>> collections are loaded from HibernatePersistableEList's point of view
>> and delegates for others are loaded.
>>
>> So when I touch collections with already loaded delegates -
>> HibernatePersistableEList.isLoaded() is called. This method reveals
>> that delegate is loaded but isLoaded field is false. So it calls
>> doLoad() method. DoLoad() method begins and commit transaction (but
>> there is no need for it - cause delegate is already loaded).
>> transaction.commit takes very long time.
>>
>> BTW I have made workaround in my app - I have introduced
>> SessionController (so HibernatePersistableEList doesn't begin and
>> commit transactions) for my resource and time of touching of all my
>> collections (from UI) reduced from 91 sec to 9 sec.
>>
>> So main point: there is no need to begin and commit transaction in
>> HibernatePersistableEList when delegate is already loaded.
>>
>> Ilya
>>
>> Martin Taal wrote:
>>> Hi Ilya,
>>> Are you using the latest teneo build? Something similar should have
>>> been solved in the latest build. See also the newsgroup discussion here:
>>> http://dev.eclipse.org/newslists/news.eclipse.technology.emf t/msg01687.html
>>>
>>>
>>> gr. Martin
>>>
>>> Ilya Klyuchnikov wrote:
>>>> When list is already loaded by eager loading or by subselect fetch
>>>> loading then HibernatePersistableEList isLoaded() method in this
>>>> case calls doLoad. doLoad() method begins transaction and commit
>>>> transaction when there is no need for it.
>>>>
>>>> I have profiled my eclipse application:
>>>> HibernatePersistableEList.doLoad was called 455 times and cumulative
>>>> time was 91 secs.
>>>>
>>>> JDBCTransaction was called 456 and cumulative time was 76 secs.
>>>>
>>>> The first transaction is initial loading and the next transactions
>>>> are not needed at all.
>>>>
>>>> So my application looses many idle time.
>>>>
>>>> Is it possible not to begin and commit transaction in
>>>> HibernatePersistableEList when list is already loaded?
>>>>
>>>> Thanks.
>>>>
>>>> Ilya.
>>>
>>>
>
>
|
|
|
Powered by
FUDForum. Page generated in 0.06046 seconds