3 Commits

Author SHA1 Message Date
ChristopherHX
49e6324e5c remove weird symbol from comment 2026-02-20 17:05:29 +00:00
Christopher Homberger
9ab05e3d6a retry log upload and result independently 2026-02-20 15:26:11 +01:00
Christopher Homberger
6d2ce82645 fix not all logs are submitted error check 2026-02-20 15:22:00 +01:00

View File

@@ -5,6 +5,7 @@ package report
import (
"context"
"errors"
"fmt"
"regexp"
"strings"
@@ -263,12 +264,15 @@ func (r *Reporter) Close(lastWords string) error {
log.Error("No Response from RunDaemon for 60s, continue best effort")
}
return retry.Do(func() error {
if err := r.ReportLog(true); err != nil {
return err
}
// Report the job outcome even when all log upload retry attempts have been exhausted
return errors.Join(
retry.Do(func() error {
return r.ReportLog(true)
}, retry.Context(r.ctx)),
retry.Do(func() error {
return r.ReportState(true)
}, retry.Context(r.ctx))
}, retry.Context(r.ctx)),
)
}
func (r *Reporter) ReportLog(noMore bool) error {
@@ -296,10 +300,11 @@ func (r *Reporter) ReportLog(noMore bool) error {
r.stateMu.Lock()
r.logRows = r.logRows[ack-r.logOffset:]
submitted := r.logOffset + len(rows)
r.logOffset = ack
r.stateMu.Unlock()
if noMore && ack < r.logOffset+len(rows) {
if noMore && ack < submitted {
return fmt.Errorf("not all logs are submitted")
}