You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Daniel Lee (JIRA)" <ji...@apache.org> on 2007/07/20 22:29:06 UTC
[jira] Updated: (OPENJPA-263) Introducing getAll(List) method for
data cache to be called by loadAll() will allow data cache plug-ins to
leverage the advantage of any third-party cache that provides a way to get
multiple object in one call by providing a list of keys (oids).
[ https://issues.apache.org/jira/browse/OPENJPA-263?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Lee updated OPENJPA-263:
-------------------------------
Attachment: OpenJPA-263.patch
The result of performance measurement which has been done on a smaller data set (1 customer with 10 orders, each order has 100 orderitems) has shown 96% performance gain (please refer to the result below). This is on a standalone environment without network overhead. It is sure that the performance improvement will be much greater if the data cache is on a separate machine.
Test scenario:
reload the customer which has 10 orders, each order has 100 orderitems. All relationship are EAGER. DataCache is turned on with plug-in to an IBM caching products.
Performance result:
- average time without the new (getAll) implementation: 11.38 sec.
- average time with this (getAll) implementation: 5.8 sec.
Please refer to the final patch (OpenJPA-263.patch) for the complete changes.
> Introducing getAll(List) method for data cache to be called by loadAll() will allow data cache plug-ins to leverage the advantage of any third-party cache that provides a way to get multiple object in one call by providing a list of keys (oids).
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: OPENJPA-263
> URL: https://issues.apache.org/jira/browse/OPENJPA-263
> Project: OpenJPA
> Issue Type: New Feature
> Components: datacache
> Affects Versions: 1.0.0
> Reporter: Daniel Lee
> Attachments: datacache.patch, kernel.patch, OpenJPA-263.patch, OpenJPAJIRA.doc
>
>
> OpenJPA: 5 files to be donated to OpenJPA: (changed, no new file)
> There are changes to the following 5 files which will be donated to OpenJPA to be able to leverage ObjectGrid map agent to improve the performance on getting the relationship loaded.
> (the donation is upon the approval of OpenJPA committee)
> - org.apache.openjpa.datacache:
> o AbstractPCData:
> toField: calling toNestedFields(new) instead of looping thru all elements in the field
> (Implements the Collection only for now, may need to apply it to Map and Array)
> toNestedFields: (new)
> toRelationFields: (new) calls findAll()
> - org.apache.openjpa.datacache:
> o DataCacheStoreManager: enhance loadAll() to issue getAll() instead get()
> o AbstractDataCache: add getAll() to abstract as default
> o DataCache: add getAll() to interface
> o DelegatingDataCache: add getAll() delegation
> (Please see detail information in the attached Word document.)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.