Browse Source

Disconnect the broker when it returns us certain errors

Specifically, in the cases that indicate it is probably unreachable or
something. Otherwise we never reconnect, even if it comes back up.

Fixes #133
Evan Huus 11 years ago
parent
commit
9eb8bcccd5
1 changed files with 1 additions and 0 deletions
  1. 1 0
      producer.go

+ 1 - 0
producer.go

@@ -339,6 +339,7 @@ func (bp *brokerProducer) flushRequest(p *Producer, prb produceRequestBuilder, e
 		errorCb(err)
 		errorCb(err)
 		return false
 		return false
 	default:
 	default:
+		p.client.disconnectBroker(bp.broker)
 		overlimit := 0
 		overlimit := 0
 		prb.reverseEach(func(msg *produceMessage) {
 		prb.reverseEach(func(msg *produceMessage) {
 			if err := msg.reenqueue(p); err != nil {
 			if err := msg.reenqueue(p); err != nil {