Here is my log.
There is one suspicious momemt (with loadedFlags) but I don't know how to
interpret it.

FINE: Object with id
"ru.englishvocabulary.model.test.Container:Container(738)" not found in
Level 1 cache [cache size = 0]
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl putObjectIntoCache
FINE: Object "ru.englishvocabulary.model.test.contai...@ad9064"
(id="ru.englishvocabulary.model.test.Container:Container(738)") added to
Level 1 cache (loadedFlags="[NY]")
09.04.2010 11:16:58 org.datanucleus.transaction.Transaction enlistResource
FINE: Running enlist operation on resource:
org.datanucleus.store.appengine.datastorexaresou...@150b604, error code
TMNOFLAGS and transaction: [DataNucleus Transaction, ID=Xid=, enlisted
resources=[]]

// My item is added to cache
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl getObjectFromCache
FINE: Object with id
"ru.englishvocabulary.model.test.Item:Container(738)/Item(743)" not found in
Level 1 cache [cache size = 1]
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl putObjectIntoCache
FINE: Object "ru.englishvocabulary.model.test.i...@3b971e"
(id="ru.englishvocabulary.model.test.Item:Container(738)/Item(743)") added
to Level 1 cache (loadedFlags="[NYN]")

// I change my item
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl enlistInTransaction
FINE: Object "ru.englishvocabulary.model.test.i...@3b971e"
(id="com.google.appengine.api.datastore.Key:Container(738)/Item(743)")
enlisted in transactional cache
09.04.2010 11:16:58 ru.englishvocabulary.bl.local.test.LocalService
changeItems
SEVERE: changed item: i...@3b971e [key=Container(738)/Item(743), value=xxx]

// Load the list that contains my item
09.04.2010 11:16:58 org.datanucleus.sco.backed.List <init>
FINE: Object "ru.englishvocabulary.model.test.contai...@ad9064" field
"items" is replaced by a SCO wrapper of type
"org.datanucleus.sco.backed.List" [cache-values=true, lazy-loading=true,
queued-operations=true, allow-nulls=false]
09.04.2010 11:16:58 org.datanucleus.sco.backed.List loadFromStore
FINE: Object "ru.englishvocabulary.model.test.contai...@ad9064" field
"items" loading contents to SCO wrapper from the datastore
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl getObjectFromCache
FINE: Object with id
"ru.englishvocabulary.model.test.Item:Container(738)/Item(739)" not found in
Level 1 cache [cache size = 2]
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl getObjectFromCache
FINE: Object with id
"ru.englishvocabulary.model.test.Item:Container(738)/Item(739)" not found in
Level 1 cache [cache size = 2]
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl putObjectIntoCache
FINE: Object "ru.englishvocabulary.model.test.i...@12b23ce"
(id="ru.englishvocabulary.model.test.Item:Container(738)/Item(739)") added
to Level 1 cache (loadedFlags="[NYN]")
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl getObjectFromCache
FINE: Object with id
"ru.englishvocabulary.model.test.Item:Container(738)/Item(740)" not found in
Level 1 cache [cache size = 3]
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl getObjectFromCache
FINE: Object with id
"ru.englishvocabulary.model.test.Item:Container(738)/Item(740)" not found in
Level 1 cache [cache size = 3]
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl putObjectIntoCache
FINE: Object "ru.englishvocabulary.model.test.i...@13bc5ad"
(id="ru.englishvocabulary.model.test.Item:Container(738)/Item(740)") added
to Level 1 cache (loadedFlags="[NYN]")
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl getObjectFromCache
FINE: Object with id
"ru.englishvocabulary.model.test.Item:Container(738)/Item(741)" not found in
Level 1 cache [cache size = 4]
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl getObjectFromCache
FINE: Object with id
"ru.englishvocabulary.model.test.Item:Container(738)/Item(741)" not found in
Level 1 cache [cache size = 4]
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl putObjectIntoCache
FINE: Object "ru.englishvocabulary.model.test.i...@12f1aef"
(id="ru.englishvocabulary.model.test.Item:Container(738)/Item(741)") added
to Level 1 cache (loadedFlags="[NYN]")
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl getObjectFromCache
FINE: Object with id
"ru.englishvocabulary.model.test.Item:Container(738)/Item(742)" not found in
Level 1 cache [cache size = 5]
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl getObjectFromCache
FINE: Object with id
"ru.englishvocabulary.model.test.Item:Container(738)/Item(742)" not found in
Level 1 cache [cache size = 5]
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl putObjectIntoCache
FINE: Object "ru.englishvocabulary.model.test.i...@19146a5"
(id="ru.englishvocabulary.model.test.Item:Container(738)/Item(742)") added
to Level 1 cache (loadedFlags="[NYN]")

// My item is taken from cache (loadedFlags ([NYY]) differ from previous
value ([NYN]))
09.04.2010 11:16:58 org.datanucleus.ObjectManagerImpl getObjectFromCache
FINE: Object "ru.englishvocabulary.model.test.i...@3b971e"
(id="ru.englishvocabulary.model.test.Item:Container(738)/Item(743)") taken
from Level 1 cache (loadedFlags="[NYY]") [cache size = 6]

09.04.2010 11:16:58 ru.englishvocabulary.bl.local.test.LocalService
changeItems
SEVERE: list item: i...@12b23ce [key=Container(738)/Item(739), value=0]
09.04.2010 11:16:58 ru.englishvocabulary.bl.local.test.LocalService
changeItems
SEVERE: list item: i...@13bc5ad [key=Container(738)/Item(740), value=1]
09.04.2010 11:16:58 ru.englishvocabulary.bl.local.test.LocalService
changeItems
SEVERE: list item: i...@12f1aef [key=Container(738)/Item(741), value=2]
09.04.2010 11:16:58 ru.englishvocabulary.bl.local.test.LocalService
changeItems
SEVERE: list item: i...@19146a5 [key=Container(738)/Item(742), value=3]

// My item's changes disappear. Why?
09.04.2010 11:16:58 ru.englishvocabulary.bl.local.test.LocalService
changeItems
SEVERE: list item: i...@3b971e [key=Container(738)/Item(743), value=4]

09.04.2010 11:16:58 ru.englishvocabulary.bl.local.test.LocalService
changeItems
SEVERE: changed item: i...@3b971e [key=Container(738)/Item(743), value=4]


On Fri, Apr 9, 2010 at 4:41 PM, datanucleus <andy_jeffer...@yahoo.com>wrote:

> > I think you've misunderstood where problem is.
>
> I simply point out where the persistence code is plain wrong; whether
> that has an impact on what happens after is unknown. Debugging what is
> happening in that particular operation you quote there ought to make
> reference to the log at DEBUG level since it will tell you when things
> go to the datastore (or at least it ought to if the GAE/J plugin has
> adequate logging - and if it doesn't then raise an issue on them).
> Calling setValue will make the Item dirty, hence there is no need for
> any call to JDOHelper.makeDirty ... the log would tell this. The log
> would also tell you where items come from (L1 cache, L2 cache, etc).
>
> --
> You received this message because you are subscribed to the Google Groups
> "Google App Engine for Java" group.
> To post to this group, send email to
> google-appengine-j...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-appengine-java+unsubscr...@googlegroups.com<google-appengine-java%2bunsubscr...@googlegroups.com>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-appengine-java?hl=en.
>
>


-- 
Verba volant, scripta manent

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-j...@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to