[
http://jira.jboss.com/jira/browse/JGRP-393?page=all ]
Bela Ban resolved JGRP-393.
---------------------------
Resolution: Done
Message.removeHeader() now calls getHeader() and *never* removes a header
NAKACK/UNICAST: headers are removed from message when passing the
message up; retransmit will fail
---------------------------------------------------------------------------------------------------
Key: JGRP-393
URL:
http://jira.jboss.com/jira/browse/JGRP-393
Project: JGroups
Issue Type: Bug
Affects Versions: 2.4
Reporter: Bela Ban
Assigned To: Bela Ban
Fix For: 2.5
Issue appears with UNICAST or NAKACK, example below uses NAKACK:
- Message M1 is received and placed into received_msgs. M1 has a FragHeader attached
(FRAG2 was somewhere above NAKACK)
- M1 is retrieved from received_msgs and passed up
- FRAG2 *removes* the FragHeader
- A retransmission request is received for M1
- M1 is retrieved from received_msgs and passed down.
Problem: the FragHeader is missing ! The receiver will not recognize M1 as a fragment and
FRAG2 will *not* handle M1 !
SOLUTION 1: all protocols (maybe only the ones above UNICAST/NAKACK) should *never*
remove headers. We could ensure this is the case by simply making removeHeader() a no-op
SOLUTION 2: investigate into who owns the message and who is allowed to modify it. Look
into sealing techniques
--
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