[jbosscache-issues] [JBoss JIRA] Commented: (JBCACHE-1407) Region-based marshalling to support multiple regions in a PREPARE.

Manik Surtani (JIRA) jira-events at lists.jboss.org
Tue Sep 23 12:04:30 EDT 2008


    [ https://jira.jboss.org/jira/browse/JBCACHE-1407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12430829#action_12430829 ] 

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

        



More information about the jbosscache-issues mailing list