Bruce Schuchardt created GEODE-1751: ---------------------------------------
Summary: Exception handling logic error in MsgStreamerList Key: GEODE-1751 URL: https://issues.apache.org/jira/browse/GEODE-1751 Project: Geode Issue Type: Task Components: messaging Reporter: Bruce Schuchardt MsgStreamerList has some very questionable code in writeMessage(). Darrel added this comment: {noformat} for (MsgStreamer streamer : this.streamers) { if (ex != null) { streamer.release(); // TODO: shouldn't we call continue here? // It seems wrong to call writeMessage on a streamer we have just released. // But why do we call release on a streamer when we had an exception on one // of the previous streamer? // release clears the direct bb and returns it to the pool but leaves // it has the "buffer". THen we call writeMessage and it will use "buffer" // that has also been returned to the pool. // I think we only have a MsgStreamerList when a DS has a mix of versions // which usually is just during a rolling upgrade so that might be why we // haven't noticed this causing a bug. } try { result += streamer.writeMessage(); ... {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)