If response unmarshalling fails, RequestCorrelator passes garbage as the response
---------------------------------------------------------------------------------
Key: JGRP-354
URL:
http://jira.jboss.com/jira/browse/JGRP-354
Project: JGroups
Issue Type: Bug
Affects Versions: 2.4
Reporter: Brian Stansberry
Assigned To: Brian Stansberry
Fix For: 2.5
From RequestCorrelator.receiveMessage:
RspCollector coll=findEntry(hdr.id);
if(coll != null) {
Address sender=msg.getSrc();
Object retval=null;
byte[] buf=msg.getBuffer();
try {
retval=marshaller != null? marshaller.objectFromByteBuffer(buf) :
Util.objectFromByteBuffer(buf);
}
catch(Exception e) {
log.error("failed unmarshalling buffer into return value", e);
try {
retval=marshaller != null? marshaller.objectToByteBuffer(e) :
Util.objectToByteBuffer(e);
}
catch(Exception e1) {
log.error("failed marshalling exception " + e1 + "
into buffer", e1);
}
}
coll.receiveResponse(retval, sender);
}
The outer catch block should just be
catch (Exception e) {
log.error("failed unmarshalling buffer into return value", e);
retval = e;
}
Looks like the bit about marshalling the exception came from handleRequest(), where
it's needed.
--
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