File tree Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Expand file tree Collapse file tree 1 file changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -63,6 +63,18 @@ type Config struct {
6363 RequestAck bool `json:"request_ack"`
6464}
6565
66+ type ErrUnknownNetwork struct {
67+ network string
68+ }
69+
70+ func (e * ErrUnknownNetwork ) Error () string {
71+ return "unknown network " + e .network
72+ }
73+
74+ func NewErrUknownNetwork (network string ) error {
75+ return & ErrUnknownNetwork {network }
76+ }
77+
6678type msgToSend struct {
6779 data []byte
6880 ack string
@@ -329,7 +341,7 @@ func (f *Fluent) connect() (err error) {
329341 case "unix" :
330342 f .conn , err = net .DialTimeout (f .Config .FluentNetwork , f .Config .FluentSocketPath , f .Config .Timeout )
331343 default :
332- err = net . UnknownNetworkError (f .Config .FluentNetwork )
344+ err = NewErrUknownNetwork (f .Config .FluentNetwork )
333345 }
334346 return err
335347}
@@ -365,6 +377,11 @@ func (f *Fluent) write(msg *msgToSend) error {
365377 err := f .connect ()
366378 if err != nil {
367379 f .muconn .Unlock ()
380+
381+ if _ , ok := err .(* ErrUnknownNetwork ); ok {
382+ // do not retry on unknown network error
383+ break
384+ }
368385 waitTime := f .Config .RetryWait * e (defaultReconnectWaitIncreRate , float64 (i - 1 ))
369386 if waitTime > f .Config .MaxRetryWait {
370387 waitTime = f .Config .MaxRetryWait
You can’t perform that action at this time.
0 commit comments