[
http://jira.jboss.com/jira/browse/JBCACHE-173?page=comments#action_12340062 ]
Ben Wang commented on JBCACHE-173:
----------------------------------
To be more canonical, basically every pojo will be stored under the _JBOSS_INTERNAL_
region (even if there is not sub-object). This is needed such that I may have,
cache.attach(id1, address);
cache.attach(id2, joe);
where address is also part of joe. So everything is represented by a PojoReference under
the regular ID. That is the external facing reference value that a user will see. This
should be transparent. However, for visualization purpose (e.g., Cache IDE), we will need
some trick to do it. That is, the normal GUI won't work anymore.
In addition, all the internal id is generated by GUID that should be unique among the
cluster.
Locking model when pojo is multiple referenced
----------------------------------------------
Key: JBCACHE-173
URL:
http://jira.jboss.com/jira/browse/JBCACHE-173
Project: JBoss Cache
Issue Type: Task
Security Level: Public(Everyone can see)
Components: PojoCache
Affects Versions: POJOCache
Reporter: Ben Wang
Assigned To: Ben Wang
Fix For: 2.0.0
Original Estimate: 2 weeks
Remaining Estimate: 2 weeks
Under the new PojoCache, when a pojo is multiple referenced (let's say a pojo, Joe),
it will be located under JBOSS_INTERANL node while leaving the original with a fqn/id
reference.
In terms of locking, there are various implications.
1. If we are modifying Joe under a tx context directly, the locking will be done under
the JBoss_INTERNAL node. As a result, consistency is warranted.
2. If Joe is part of a sub-object, say, a UserState object that has a Person Joe
reference. Then, a tx context under that UserState obejct is not locking on Joe (since it
has been moved to under JBOSS_INTERNAL, and therefore not under the same fqn sub-tree).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira