You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2013/06/03 21:50:32 UTC
svn commit: r1489129 -
/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Router.scala
Author: chirino
Date: Mon Jun 3 19:50:32 2013
New Revision: 1489129
URL: http://svn.apache.org/r1489129
Log:
When a producer target disconnects and the producer was in the process of dispatching to him, make sure we ack the in process delivery so that the producer un-blocks.
Modified:
activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Router.scala
Modified: activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Router.scala
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Router.scala?rev=1489129&r1=1489128&r2=1489129&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Router.scala (original)
+++ activemq/activemq-apollo/trunk/apollo-broker/src/main/scala/org/apache/activemq/apollo/broker/Router.scala Mon Jun 3 19:50:32 2013
@@ -253,7 +253,12 @@ abstract class DeliveryProducerRoute(rou
if( rc ) {
debug("producer route detaching from consumer.")
if( !dispatch_sessions.isEmpty ) {
- dispatch_sessions = dispatch_sessions.filterNot( _ == x )
+ dispatch_sessions = dispatch_sessions.filterNot{ session =>
+ if( session == x ) {
+ dispatch_delivery.ack(Undelivered, null)
+ }
+ session == x
+ }
if( dispatch_sessions.isEmpty ) {
drainer.run
}