Removal of a Pojo stored in an attached List when the List is created in memory works
fine. However, when this Collection is stored in a CacheLoader and later, after a Cache
restart, the List is retrieved via getObject() and an attempt is made to remove a Pojo from
the List, any Collection Pojo's located after this member are cleared, i.e. their instances
attributes are zeroed or nulled.
The problem also occurs with a Map. After loading the Map from the CacheLoader, if we
remove one of its elements and check the value returned by the remove call, which
should return the previously stored element in there, the Pojo's values have been cleared.
TreeCacheAopDelegate._regularRemoveObject receives Object result which is the
Object that should be returned by the remove call. When cache_.removeData(fqn); is
called inside regularRemoveObject and the node is cleared, result parameter is cleared as
I have added a few test methods to FileCacheLoaderAopCollectionsTest replicating this issue.
I was talking to Jason yesterday. He's gonna look into it.
This affects the 1.4.x series.