qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "michael j. goulish (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Updated: (QPID-1488) QueuePolicy serialization fix for cluster braindump.
Date Wed, 26 Nov 2008 20:24:44 GMT

     [ https://issues.apache.org/jira/browse/QPID-1488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

michael j. goulish updated QPID-1488:
-------------------------------------

    Description: 
In cluster braindump (when a new member is being added to a cluster) the QueuePolicy is not
being serialized out as part of the brain dump.  As a result the newbie cluster can get a
mistaken idea of the queue size (in bytes).  

After many dequeues, the size can go negative, but since the queue size is an unsigned number
it wraps around and look like a large positive.  Which sets off the flow-to-disk code, because
it thinks that the queue has gotten too large.

The result:    what():  framing-error: Unexpected command start frame. (qpid/SessionState.cpp:57)


This fix just adds a little serialization of the QueuePolicy on to the end of the serialization
of the Queue.



  was:
In cluster braindump (when a new member is being added to a cluster) the QueuePolicy is not
being serialized out as part of the brain dump.  As a result the newbie cluster can get a
mistaken idea of the queue size (in bytes).  
After many dequeues, the size can go negative, but since the queue size is an unsigned number
it wraps around and look like a large positive.  Which sets off the flow-to-disk code, because
it thinks that the queue has gotten too large.

This fix just adds a little serialization of the QueuePolicy on to the end of the serialization
of the Queue.




> QueuePolicy serialization fix for cluster braindump.
> ----------------------------------------------------
>
>                 Key: QPID-1488
>                 URL: https://issues.apache.org/jira/browse/QPID-1488
>             Project: Qpid
>          Issue Type: Improvement
>          Components: C++ Broker
>         Environment: tested on F9
>            Reporter: michael j. goulish
>            Priority: Blocker
>         Attachments: queue_policy_serialization_bug.diff
>
>
> In cluster braindump (when a new member is being added to a cluster) the QueuePolicy
is not being serialized out as part of the brain dump.  As a result the newbie cluster can
get a mistaken idea of the queue size (in bytes).  
> After many dequeues, the size can go negative, but since the queue size is an unsigned
number it wraps around and look like a large positive.  Which sets off the flow-to-disk code,
because it thinks that the queue has gotten too large.
> The result:    what():  framing-error: Unexpected command start frame. (qpid/SessionState.cpp:57)
> This fix just adds a little serialization of the QueuePolicy on to the end of the serialization
of the Queue.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message