Uploaded image for project: 'Qpid'
  1. Qpid
  2. QPID-2200

Large message bodies can be truncated in 0.8 support

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • None
    • 0.31
    • Python Client
    • None
    • Broker tested against was rabbitmq. Source examined 2cd99f34c from git repo.

    Description

      The implementation of Channel.read_content (peer.py:355) uses the body eof flag when looping over frames from the queue.

      When using 0.8, the Body implementation (connection08.py:483) hard codes eof = False, therefore only one frame is ever read. This can be recreated by reading messages with largish body contents. The tipping point in my tests was around 130K. The broker was rabbitmq 1.7.

      My current work around sets eof as follows:

      class Body(Frame):

      type = "frame_body"

      def _init_(self, content):
      self.content = content
      self.eof = not content or content[-1] == '\x00'
      self.bof = False

      I'm not sure if this is the right fix however.

      Attachments

        Activity

          People

            Unassigned Unassigned
            g@rre.tt Garrett Smith
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: