[jboss-jira] [JBoss JIRA] Created: (JBCACHE-883) VersionAwareMarshaller hides true cause of marshalling failures

Brian Stansberry (JIRA) jira-events at jboss.com
Tue Nov 28 23:14:55 EST 2006


VersionAwareMarshaller hides true cause of marshalling failures
---------------------------------------------------------------

                 Key: JBCACHE-883
                 URL: http://jira.jboss.com/jira/browse/JBCACHE-883
             Project: JBoss Cache
          Issue Type: Bug
      Security Level: Public (Everyone can see)
    Affects Versions: 1.4.0.SP1, 1.4.0.GA
            Reporter: Brian Stansberry
         Assigned To: Brian Stansberry
            Priority: Minor
             Fix For: 1.4.1.GA


>From objectFromByteBuffer:

       try
        {
            return marshaller.objectFromStream(in);
        }
        catch (Exception e)
        {
            if (marshaller instanceof LegacyTreeCacheMarshaller)
            {
                // the default marshaller IS the legacy marshaller!!
                throw e;
            }
            else
            {
                // retry with legacy marshaller - this is probably because the version id was incorrectly read.
                if (log.isInfoEnabled())
                {
                    log.info("Caught exception unmarshalling stream with specific versioned marshaller " + marshaller.getClass() + ".  Attempting to try again with legacy marshaller " + LegacyTreeCacheMarshaller.class);
                }
                // create a more 'compatible' ObjectInputStream.
                in = new MarshalledValueInputStream(new ByteArrayInputStream(buf));
                return getMarshaller(VERSION_LEGACY).objectFromStream(in);
            }
        }

Problem is the else block in the catch block, which assumes the LegacyTreeCacheMarshaller will work.  There should be a try/catch there as well, and if the assumption is wrong and there is a failure with the LegacyTreeCacheMarshaller as well, the original exception should be thrown.

-- 
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

        



More information about the jboss-jira mailing list