Переглянути джерело

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 роки тому
батько
коміт
9eb8bcccd5
1 змінених файлів з 1 додано та 0 видалено
  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 {