Do not hard fail on non-decodable events

Signed-off-by: Matthew Heon <mheon@redhat.com>
This commit is contained in:
Matthew Heon 2019-04-26 10:50:57 -04:00
parent 04d6ff0582
commit e05af78329
2 changed files with 8 additions and 4 deletions

View File

@ -92,7 +92,7 @@ func StringToType(name string) (Type, error) {
case Volume.String():
return Volume, nil
}
return "", errors.Errorf("unknown event type %s", name)
return "", errors.Errorf("unknown event type %q", name)
}
// StringToStatus converts a string to an Event Status
@ -111,7 +111,6 @@ func StringToStatus(name string) (Status, error) {
case Commit.String():
return Commit, nil
case Create.String():
return Create, nil
case Exec.String():
return Exec, nil
@ -164,7 +163,7 @@ func StringToStatus(name string) (Status, error) {
case Untag.String():
return Untag, nil
}
return "", errors.Errorf("unknown event status %s", name)
return "", errors.Errorf("unknown event status %q", name)
}
func (e EventLogFile) getTail(options ReadOptions) (*tail.Tail, error) {

View File

@ -7,6 +7,7 @@ import (
"github.com/coreos/go-systemd/journal"
"github.com/coreos/go-systemd/sdjournal"
"github.com/pkg/errors"
"github.com/sirupsen/logrus"
)
// EventJournalD is the journald implementation of an eventer
@ -87,7 +88,11 @@ func (e EventJournalD) Read(options ReadOptions) error {
}
newEvent, err := newEventFromJournalEntry(entry)
if err != nil {
return err
// We can't decode this event.
// Don't fail hard - that would make events unusable.
// Instead, log and continue.
logrus.Errorf("Unable to decode event: %v", err)
continue
}
include := true
for _, filter := range eventOptions {