Sandhya:

Thanks for the help. Below is more detail as to what is occurring. Note that 
I've had to modify the code & logs because this is a US defense project and we 
can't let out production code.

When the cache is disabled:

<property name="openjpa.DataCache" value="false(CacheSize=100000, 
SoftReferenceSize=0)" />
<property name="openjpa.RemoteCommitProvider" value="sjvm"/>


This query returns a count of 3:
link = dao.findById(linkToCou.getClass(),linkToCou.getSid());
int count = linkToCou.getLinkJmsqOutputs().size();


JPA Logging:
30665  DmJpaCIDI  TRACE  [main] openjpa.jdbc.SQL - <t 15431769, conn 9336124> 
executing prepstmnt 16335556 
SELECT .... 
    FROM t0, t1, t2, t3, t4 
    WHERE ......
[params=(long) 553]
30712  DmJpaCIDI  TRACE  [main] openjpa.jdbc.SQL - <t 15431769, conn 9336124> 
[31 ms] spent
30728  DmJpaCIDI  TRACE  [main] openjpa.jdbc.SQL - <t 15431769, conn 9336124> 
executing prepstmnt 15703296 
SELECT *
    FROM t0, t1, t2 t3, t4, t5, t6 
    WHERE ......
[params=(long) 597]
30743  DmJpaCIDI  TRACE  [main] openjpa.jdbc.SQL - <t 15431769, conn 9336124> 
[15 ms] spent
30790  DmJpaCIDI  TRACE  [main] openjpa.jdbc.SQL - <t 15431769, conn 9336124> 
executing prepstmnt 25615763 
SELECT ...
    FROM t0, t1, t2, t3, t4, t5, t6 
    WHERE ... 
[params=(long) 598]
30806  DmJpaCIDI  TRACE  [main] openjpa.jdbc.SQL - <t 15431769, conn 9336124> 
[16 ms] spent
30837  DmJpaCIDI  TRACE  [main] openjpa.jdbc.SQL - <t 15431769, conn 9336124> 
executing prepstmnt 2968702 
SELECT ...
    FROM t0, t1, t2, t3, t4, t5, t6 
    WHERE ......
[params=(long) 599]

30853  DmJpaCIDI  TRACE  [main] openjpa.jdbc.SQL - <t 15431769, conn 9336124> 
[16 ms] spent


When the cache is enabled:

<property name="openjpa.DataCache" value="true(CacheSize=100000, 
SoftReferenceSize=0)" />
<property name="openjpa.RemoteCommitProvider" value="sjvm"/>


This query returns a count of 0:
link = dao.findById(linkToCou.getClass(),linkToCou.getSid());
int count = linkToCou.getLinkJmsqOutputs().size();


JPA Logging:
35475  DmJpaCIDI  TRACE  [main] openjpa.DataCache - Cache hit while looking up 
key "com.lmco.jpa.entity.Link-554".
39051  DmJpaCIDI  TRACE  [main] openjpa.DataCache - Cache hit while looking up 
key "com.lmco.jpa.entity.Link -554".
39051  DmJpaCIDI  TRACE  [main] openjpa.DataCache - Cache hit while looking up 
key "com.lmco.jpa.entity.Link -554".


Does this help or do you need more?

Jeff

Jeff W. Boring
Lockheed Martin
12506 Lake Underhill Road
Orlando, Fl 32825

-----Original Message-----
From: Sandhya Kishore [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, December 09, 2008 7:37 PM
To: [email protected]
Subject: Re: Strange issue with using DataCache

Hi Jeff,

       One more thing is if you want your entities to be stored in the 
datacache @DataCache annotation should be specified on those entities. 
Otherwise even though you specify the cache size to so much and enable the 
datacache, these entities might not be stored in the cache.
Also I could not reproduce the problem. I have set the same properties as 
specified and tries to find some entities and it seemed work fine for me. Can 
you send your testcase along with your entities and configuration that you have 
specified? 
Also what is it mean when you say "entity set's always have size of zero"

Thanks
Sandhya

--- On Tue, 12/9/08, Boring, Jeff W (N-Viper) <[EMAIL PROTECTED]> wrote:
From: Boring, Jeff W (N-Viper) <[EMAIL PROTECTED]>
Subject: Strange issue with using DataCache
To: [email protected]
Date: Tuesday, December 9, 2008, 3:29 PM

Using OpenJpa v1.0.0

When the following
 properties exist in the persistence.xml file, entity
set's always have size of zero and test cases fail. 

        <property name="openjpa.DataCache"
value="true(CacheSize=5000000,          SoftReferenceSize=0)" />
        <property name="openjpa.RemoteCommitProvider"
value="sjvm"/>

Changing the DataCache property value to false corrects the issue; all
test pass.

I've used the DataCache before in a sample/simple app but now I am
trying to apply it to a production app. I implemented the DataCache fine
but noticed that test cases were failing. I then just turned it off and
everything worked again, but, of course, no cache. I then took out all
new code (except 2 properties above) including the @DataCache
annotations and reran the tests and it still fails when dataCache is set
to true. Passes when set to false.

I then debugged, stepping thru a test and discovered than the sets are
all empty.

Sorry
 for the long question. Thanks for any help you can give.

Jeff

Jeff W. Boring
Lockheed Martin
Orlando, Fl 32825



      

Reply via email to