[
https://jira.jboss.org/jira/browse/JBCACHE-1407?page=com.atlassian.jira.p...
]
Manik Surtani commented on JBCACHE-1407:
----------------------------------------
This can be dealt with easily enough: instead of just providing a String rep of an Fqn as
a region marker at the start of a stream, use a REGION_MARKER magic number which is
followed by a String rep of an Fqn. So in unmarshallObject, every time a REGION_MARKER
magic number is encountered, expect the String rep of an Fqn next, and use this region for
all future unmarshalling of the stream. The tricky bit comes when you need to marshall a
return value. Right now this is easy since there is just one region per stream, but if we
have > 1, which do we use?
I guess this isn't as big a problem since you would only see > 1 region in a
prepare call, which doesn't expect any specific class loaders for the retval, but this
is still clunky IMO. Let me have a think about it and see what makes sense.
Region-based marshalling to support multiple regions in a PREPARE.
------------------------------------------------------------------
Key: JBCACHE-1407
URL:
https://jira.jboss.org/jira/browse/JBCACHE-1407
Project: JBoss Cache
Issue Type: Feature Request
Security Level: Public(Everyone can see)
Components: Replication
Reporter: Brian Stansberry
Assignee: Manik Surtani
Fix For: 3.0.0.GA
A transaction can operate on multiple regions within a cache, so the resulting PREPARE
will include data from multiple regions. But the region-based marshalling logic will
identify a single region Fqn for the message (first one it finds); result is data from
other regions will not unmarshall properly.
Region-based marshalling needs to be able to handle such a case; analyze the prepare and
create a separate region-fqn/data pair for each time the region changes.
Storing the node's data in an org.jboss.cache.marshall.MarshalledValue doesn't
solve the problem, as in use cases like Hibernate, custom types can be part of the Fqn
(below the region root.)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira