[ 
https://issues.apache.org/jira/browse/QPID-6028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15836034#comment-15836034
 ] 

Alex Rudyy edited comment on QPID-6028 at 1/27/17 3:10 PM:
-----------------------------------------------------------

References to deleted queues are not removed from 
org.apache.qpid.server.exchange.FanoutExchangeImpl.BindingSet#_unfilteredQueues.
 As result, the memory is leaked and on routing of messages the debug logs are 
reported as below:
{noformat}
DEBUG [IO-/127.0.0.1:51446] (o.a.q.s.m.RoutingResult) - Attempt to enqueue 
message onto deleted queue 
qpidsub_/_global__/ffc740f2-ca91-4cc9-b8f5-3fdecdff9b95_/nondurable
{noformat}

Steps to reproduce the issue
* enable debug logging on broker filelogger
* in a loop
** create topic subscriber
** send message into topic
** consume message with subscriber
** close subscriber
{code}
Topic queue = session.createTopic("foo");
MessageProducer messageProducer = session.createProducer(queue);
for(int i = 0; i<10; i++ )
{
    MessageConsumer messageConsumer = session.createConsumer(queue);
    TextMessage message = session.createTextMessage("Hello world! " + i);
    messageProducer.send(message,
                         DeliveryMode.NON_PERSISTENT,
                         Message.DEFAULT_PRIORITY,
                         Message.DEFAULT_TIME_TO_LIVE);

    TextMessage receivedMessage = (TextMessage) messageConsumer.receive(1000);

    if (receivedMessage != null)
    {
        System.out.println(receivedMessage.getText());
    }
    else
    {
        System.out.println("No message received within the given timeout!");
    }
    messageConsumer.close();
}
{code}
* Check broker logs for presense of entries "Attempt to enqueue message onto 
deleted queue"
# tail -f ${QPID_WORK}/log/qpid.log | grep "Attempt to enqueue message onto 
deleted queue


was (Author: alex.rufous):
References to deleted queues are not removed from 
org.apache.qpid.server.exchange.FanoutExchangeImpl.BindingSet#_unfilteredQueues.
 As result, the memory is leaked and on routing of messages the debug logs are 
reported as below:
{noformat}
DEBUG [IO-/127.0.0.1:51446] (o.a.q.s.m.RoutingResult) - Attempt to enqueue 
message onto deleted queue 
qpidsub_/_global__/ffc740f2-ca91-4cc9-b8f5-3fdecdff9b95_/nondurable
{noformat}

> [Java Broker] Configured model objects should have only one parent
> ------------------------------------------------------------------
>
>                 Key: QPID-6028
>                 URL: https://issues.apache.org/jira/browse/QPID-6028
>             Project: Qpid
>          Issue Type: Improvement
>          Components: Java Broker
>            Reporter: Rob Godfrey
>            Assignee: Keith Wall
>             Fix For: qpid-java-7.0
>
>
> Currently it is possible for a configured object to be defined as having 
> multiple parents (of different classes)
> Thus a binding has a "queue" parent and an "exchange" parent, a consumer has 
> a "session" parent and a "queue" parent, a virtualhostalias has a "port" 
> parent and a virtialhost parent.
> This design should be changed.
> h5. Bindings
> Bindings should have a single exchange parent with the queue being an 
> attribute (note that this probably also requires adding binding-key as an 
> attribute and setting the name to queue/binding-key or some such.  
> Exchange-wide validation on the binding-key will be required)
> h5. Consumers
> Since in AMQP 1.0 a link endpoint may outlive the session that created it, it 
> makes sense for the parent of the Consumer to be the Queue.  The Session will 
> be a (derived) attribute of the Consumer.
> h5. VirtualhostAliases
> The primary parent of the virtualhostalias should be the (amqp) port.  The 
> virtualHost should be an attribute.  On creating a VirtualHost we should 
> offer to create an alias for the virtual host on all existing ports with the 
> host name as the alias.  On creating a port we should offer to create aliases 
> for each of the existing virtualhosts.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to