[
http://jira.jboss.com/jira/browse/JBCACHE-876?page=all ]
Brian Stansberry updated JBCACHE-876:
-------------------------------------
Fix Version/s: 2.0.0.GA
(was: 1.4.1.GA)
Deferred until 2.0.0.GA.
Turns out that custom classes work fine in Fqns. The marshalling code when generating the
initial element to add to the replication message uses Fqn.toString() -- thus any custom
type gets converted to a String form. The recipient cache deserializes this fine, and it
doesn't matter what the string representation of the custom type is -- only the
portion of the Fqn that identifies the region is relevant.
In 2.0.0 it's possible to represent a region with a non-String Fqn, so there we'll
want to look into using the serialized Fqn as the message header rather than a String.
Also, the possible efficiency from shorter messages discussed above needs to be
considered.
New test testCustomFqn has been added to AsyncReplTest and SyncReplTest.
Region marker in region-based marshalling message should be region
fqn
----------------------------------------------------------------------
Key: JBCACHE-876
URL:
http://jira.jboss.com/jira/browse/JBCACHE-876
Project: JBoss Cache
Issue Type: Feature Request
Security Level: Public(Everyone can see)
Reporter: Brian Stansberry
Assigned To: Brian Stansberry
Fix For: 2.0.0.GA
When region based marshalling is used, the replication message first has a serialized Fqn
to identify the region, followed by a separately serialized method call. Receiver
deserializes the identifier fqn and uses it to find the classloader to use to deserialize
the main message.
Problem is the region identifier Fqn is the full Fqn of a node. This prevents the use in
Fqns of classes that require the custom classloader to deserialize.
This can be mitigated by changing the marker Fqn to simply identify the Region, not some
subnode. Now the restriction on use of custom classes is limited to the region Fqn;
portions of Fqns below the region level can be of any serializable class.
This is needed to solve JBCLUSTER-150.
Downside is the node marshalling the message now needs to do a Region lookup to get the
region Fqn.
Upsides are a reduced message size, since the shorter region fqn is marshalled, as well
as a possibly faster region lookup time on the recipient nodes, since extraneous data can
be ignored.
--
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