From 29ac76c28b53faa717b451850711773460f55571 Mon Sep 17 00:00:00 2001 From: mhmtszr Date: Wed, 3 Aug 2022 19:35:09 +0300 Subject: [PATCH 1/5] Update WriteErrors error message --- error.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/error.go b/error.go index 7181fde77..276529a36 100644 --- a/error.go +++ b/error.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" "io" + "strings" "syscall" ) @@ -701,5 +702,9 @@ func (err WriteErrors) Count() int { } func (err WriteErrors) Error() string { - return fmt.Sprintf("kafka write errors (%d/%d)", err.Count(), len(err)) + var sb strings.Builder + for i, writeError := range err { + sb.WriteString(fmt.Sprintf("Message %d: %s \n", i, writeError.Error())) + } + return fmt.Sprintf("kafka write errors (%d/%d), errors: %s", err.Count(), len(err), sb.String()) } From 0fcb0949c8469cbfd70ac641f691665536591d99 Mon Sep 17 00:00:00 2001 From: Achille Date: Fri, 5 Aug 2022 10:13:46 -0700 Subject: [PATCH 2/5] Update error.go --- error.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/error.go b/error.go index 276529a36..7b20762b3 100644 --- a/error.go +++ b/error.go @@ -704,7 +704,7 @@ func (err WriteErrors) Count() int { func (err WriteErrors) Error() string { var sb strings.Builder for i, writeError := range err { - sb.WriteString(fmt.Sprintf("Message %d: %s \n", i, writeError.Error())) + fmt.Fprintf(&sb, "Message %d: %s \n", i, writeError.Error()) } return fmt.Sprintf("kafka write errors (%d/%d), errors: %s", err.Count(), len(err), sb.String()) } From 719991c353edf0986e7c1f858fa5476b01712fac Mon Sep 17 00:00:00 2001 From: mhmtszr Date: Sun, 28 Aug 2022 10:44:23 +0300 Subject: [PATCH 3/5] Handle error nil case --- error.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/error.go b/error.go index 7b20762b3..638ec3893 100644 --- a/error.go +++ b/error.go @@ -685,7 +685,6 @@ func makeError(code int16, message string) error { // // handle other errors // ... // } -// type WriteErrors []error // Count counts the number of non-nil errors in err. @@ -704,6 +703,9 @@ func (err WriteErrors) Count() int { func (err WriteErrors) Error() string { var sb strings.Builder for i, writeError := range err { + if writeError == nil { + continue + } fmt.Fprintf(&sb, "Message %d: %s \n", i, writeError.Error()) } return fmt.Sprintf("kafka write errors (%d/%d), errors: %s", err.Count(), len(err), sb.String()) From c5a8f4dc81c2b34e18c211fc77c58e1569e7deec Mon Sep 17 00:00:00 2001 From: mhmtszr Date: Fri, 2 Sep 2022 08:02:24 +0300 Subject: [PATCH 4/5] Update error message for write errors --- error.go | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/error.go b/error.go index 638ec3893..986e21f45 100644 --- a/error.go +++ b/error.go @@ -4,7 +4,6 @@ import ( "errors" "fmt" "io" - "strings" "syscall" ) @@ -701,12 +700,12 @@ func (err WriteErrors) Count() int { } func (err WriteErrors) Error() string { - var sb strings.Builder - for i, writeError := range err { + var errors []string + for _, writeError := range err { if writeError == nil { continue } - fmt.Fprintf(&sb, "Message %d: %s \n", i, writeError.Error()) + errors = append(errors, writeError.Error()) } - return fmt.Sprintf("kafka write errors (%d/%d), errors: %s", err.Count(), len(err), sb.String()) + return fmt.Sprintf("Kafka write errors (%d/%d), errors: %v", err.Count(), len(err), errors) } From b866e78fbf149296b8ff1cc655f5cbd746860748 Mon Sep 17 00:00:00 2001 From: mhmtszr Date: Fri, 2 Sep 2022 08:09:29 +0300 Subject: [PATCH 5/5] preallocate the errors slice --- error.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/error.go b/error.go index 986e21f45..4a7a8a278 100644 --- a/error.go +++ b/error.go @@ -700,12 +700,13 @@ func (err WriteErrors) Count() int { } func (err WriteErrors) Error() string { - var errors []string + errCount := err.Count() + errors := make([]string, 0, errCount) for _, writeError := range err { if writeError == nil { continue } errors = append(errors, writeError.Error()) } - return fmt.Sprintf("Kafka write errors (%d/%d), errors: %v", err.Count(), len(err), errors) + return fmt.Sprintf("Kafka write errors (%d/%d), errors: %v", errCount, len(err), errors) }