Skip to content

Commit 22b0316

Browse files
author
Jon Mullen
authored
Merge pull request #120 from pinpt/NAN-543/smartshovel-2
fix blocking channel when shutting down a publish-only session
2 parents c7a737b + c1bac93 commit 22b0316

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

rabbitmq/rabbitmq.go

+4-2
Original file line numberDiff line numberDiff line change
@@ -332,8 +332,10 @@ func (session *Session) Close() error {
332332
var err error
333333
log.Debug(session.logger, "start shutdown of rabbit session")
334334
session.mu.Lock()
335-
// block until we've nacked anyting in flight
336-
<-session.done
335+
if !session.config.PublishOnly {
336+
// block until we've nacked anyting in flight..but not if we're only a Publisher!
337+
<-session.done
338+
}
337339

338340
// session.config.PublisherConnectionPool.ReturnChannel(session.publisherchannelhost, false)
339341
session.config.ConsumerConnectionPool.ReturnChannel(session.consumerchannelhost, false)

rabbitmqsmartshovel/rabbitmqsmartshovel.go

+5-2
Original file line numberDiff line numberDiff line change
@@ -357,8 +357,11 @@ func (session *Session) Close() error {
357357
var err error
358358
log.Debug(session.logger, "start shutdown of rabbit session")
359359
session.mu.Lock()
360-
// block until we've nacked anyting in flight
361-
<-session.done
360+
361+
if !session.config.PublishOnly {
362+
// block until we've nacked anyting in flight..but not if we're only a Publisher!
363+
<-session.done
364+
}
362365

363366
session.config.ConsumerConnectionPool.ReturnChannel(session.consumerchannelhost, false)
364367
close(session.messages)

0 commit comments

Comments
 (0)