Sfoglia il codice sorgente

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 12 anni fa
parent
commit
9eb8bcccd5
1 ha cambiato i file con 1 aggiunte e 0 eliminazioni
  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 {