On Wed, Mar 10, 2010 at 9:27 PM, Chris Dennis
<cden...@terracottatech.com> wrote:

> Yes, if the entry is non local (i.e. an ObjectID) then the map will attempt
> to lookup the object from the server, and fault it into the map.  Since that
> lookup is done with an ObjectID from a dirty read it is possible for the
> lookup to throw a TCObjectNotFoundException.  These will be logged, but
> otherwise ignored and the get will return null.

I've got an odd result with a ConcurrentDistributedMap containing
instances of other ConcurrentDistributedMaps.
I've inserted an item (an inner ConcurrentDistributedMap) into the
first map from node A, then I've tried to retrieve it from node B with
an unlockedGet, but it returned null!

Same test works fine with the old ConcurrentDistributedMap implementation.

As a side note, if I do a locked get for the first time, subsequent
unlocked get operations works fine.

So, shouldn't the unlocked get always return a non-null value, given
that keys a fully loaded and the object should be automatically
faulted?
And as a related question, when (in my example) does Terracotta load
the inserted key on node B? Does it load the key at insertion or read
time?

-- 
Sergio Bossa
http://www.linkedin.com/in/sergiob
_______________________________________________
tc-dev mailing list
tc-dev@lists.terracotta.org
http://lists.terracotta.org/mailman/listinfo/tc-dev

Reply via email to