[
https://issues.apache.org/jira/browse/OPENJPA-2019?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oleg Lyalikov updated OPENJPA-2019:
-----------------------------------
Attachment: jpa_datacache_stack_trace.txt
jpa-data-cache.zip
> 2 connections can be opened simultaneously during some DataCache work inside
> single query.getResultList()
> ---------------------------------------------------------------------------------------------------------
>
> Key: OPENJPA-2019
> URL: https://issues.apache.org/jira/browse/OPENJPA-2019
> Project: OpenJPA
> Issue Type: Bug
> Components: datacache, kernel, query
> Affects Versions: 2.0.0
> Environment: WinXP SP3, JDK 1.6.0_21, Postgres
> Reporter: Oleg Lyalikov
> Attachments: jpa-data-cache.zip, jpa_datacache_stack_trace.txt
>
>
> Test configuration:
> @Entity
> public class Document { ... }
> @Entity
> public class Person {
> ...
> @JoinTable(name="person_document", joinColumns =
> {@JoinColumn(name="person_id", referencedColumnName="ID")},
> inverseJoinColumns = {@JoinColumn(name="documents_id",
> referencedColumnName="ID")})
> @OneToMany(fetch = FetchType.EAGER)
> private List<Document> documents;
> ...
> }
> Test case:
> 0. Set DataCache to: true(CacheSize=40, SoftReferenceSize=0), and limit
> connection pool size by 1 connection
> 1. Create 20 objects of Person entity (+ 3 documents per each Person): 80
> objects total (only half of objects can be located in data cache)
> 2. Clear entity manager and run query "SELECT p FROM Person p WHERE p.id IN
> (?1, ?2, ... , ?20)"
> Openjpa tries to open second connection at some time and fails.
> Attached test project and stack trace of getting second connection.
> The problem is significant for me because I have lots of threads executing
> queries like in 2. point and I have hard limits on connection pool size. I
> cannot have connection_pool_size > possible_threads_count. So at some time I
> get connection pool exhausted and application stops working.
> It seems that the problem is related to DataCache work and L1 cache work (I
> didn't reproduce the problem with big sized or small sized DataCache - to
> reproduce it's better to assign DataCache size = 1/2 of total query objects
> count. Also I didn't reproduce it with Ehcache and openjpa-2.2.0 with
> Lru=true).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira