Merge branch '10669-safe-http-cache'
[arvados.git] / services / ws / event.go
index 77acf4496fa7957e13922787606c6da5ef670b3f..304f86bbd0583146c4f88a4499d98d872bdab8ea 100644 (file)
@@ -2,7 +2,6 @@ package main
 
 import (
        "database/sql"
-       "log"
        "sync"
        "time"
 
@@ -23,6 +22,7 @@ type eventSource interface {
 type event struct {
        LogID    uint64
        Received time.Time
+       Ready    time.Time
        Serial   uint64
 
        db     *sql.DB
@@ -42,21 +42,22 @@ func (e *event) Detail() *arvados.Log {
        }
        var logRow arvados.Log
        var propYAML []byte
-       e.err = e.db.QueryRow(`SELECT id, uuid, object_uuid, COALESCE(object_owner_uuid,''), COALESCE(event_type,''), created_at, properties FROM logs WHERE id = $1`, e.LogID).Scan(
+       e.err = e.db.QueryRow(`SELECT id, uuid, object_uuid, COALESCE(object_owner_uuid,''), COALESCE(event_type,''), event_at, created_at, properties FROM logs WHERE id = $1`, e.LogID).Scan(
                &logRow.ID,
                &logRow.UUID,
                &logRow.ObjectUUID,
                &logRow.ObjectOwnerUUID,
                &logRow.EventType,
+               &logRow.EventAt,
                &logRow.CreatedAt,
                &propYAML)
        if e.err != nil {
-               log.Printf("retrieving log row %d: %s", e.LogID, e.err)
+               logger(nil).WithField("LogID", e.LogID).WithError(e.err).Error("QueryRow failed")
                return nil
        }
        e.err = yaml.Unmarshal(propYAML, &logRow.Properties)
        if e.err != nil {
-               log.Printf("decoding yaml for log row %d: %s", e.LogID, e.err)
+               logger(nil).WithField("LogID", e.LogID).WithError(e.err).Error("yaml decode failed")
                return nil
        }
        e.logRow = &logRow