geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bruce Schuchardt (JIRA)" <>
Subject [jira] [Created] (GEODE-1751) Exception handling logic error in MsgStreamerList
Date Wed, 10 Aug 2016 23:24:20 GMT
Bruce Schuchardt created GEODE-1751:

             Summary: Exception handling logic error in MsgStreamerList
                 Key: GEODE-1751
             Project: Geode
          Issue Type: Task
          Components: messaging
            Reporter: Bruce Schuchardt

MsgStreamerList has some very questionable code in writeMessage().  Darrel added this comment:

    for (MsgStreamer streamer : this.streamers) {
      if (ex != null) {
        // 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();

This message was sent by Atlassian JIRA

View raw message