Issue Details (XML | Word | Printable)

Key: NUCCORE-539
Type: Improvement Improvement
Status: Closed Closed
Resolution: Fixed
Priority: Trivial Trivial
Assignee: Erik Bengtson
Reporter: Erik Bengtson
Votes: 0
Watchers: 1

If you were logged in you would be able to see more operations.
DataNucleus Core

Make IdentityReference class Serializable, so it can be used in level2 cache

Created: 02/Jun/10 09:43 PM   Updated: 11/Jun/10 01:38 PM   Resolved: 02/Jun/10 09:45 PM
Component/s: Cache
Affects Version/s: None
Fix Version/s: 2.1.0.release

 Description  « Hide

A situation where IdentityReference needs to be serializable

Caused by: java.lang.IllegalArgumentException: can't accept class org.datanucleus.identity.IdentityReference as a memcache entity
    at org.datanucleus.cache.javaxcache.JavaxCacheLevel2Cache.evict(
    at org.datanucleus.ObjectManagerImpl.performLevel2CacheUpdateAtCommit(
    at org.datanucleus.ObjectManagerImpl.preCommit(
    at org.datanucleus.TransactionImpl.internalPreCommit(
    at org.datanucleus.TransactionImpl.commit(
    at org.datanucleus.jpa.EntityTransactionImpl.commit(

Sort Order: Ascending order - Click to sort in descending order
Andy Jefferson added a comment - 03/Jun/10 07:28 AM - edited
Isn't IdentityReference a temporary identity, while waiting for the real identity to be assigned ? So why is that object being put in the L2 cache with it? The id should be real at that point. Perhaps it was really just
and that class doesn't need to be Serializable at all