[status] Stop and Restart the ModifiedTasks if any error occurs
Bug: skia:
Change-Id: I2816b4bbead9b8c46576ac8747efeb5c173cf55d
Reviewed-on: https://skia-review.googlesource.com/c/179520
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
diff --git a/status/go/incremental/tasks.go b/status/go/incremental/tasks.go
index 74d4f47..3bdd34b 100644
--- a/status/go/incremental/tasks.go
+++ b/status/go/incremental/tasks.go
@@ -51,6 +51,7 @@
// just "return c.Reset(...)". Assumes the caller holds a lock.
func (c *taskCache) Reset(w *window.Window) (map[string][]*Task, bool, error) {
sklog.Infof("Resetting DB connection.")
+ c.db.StopTrackingModifiedTasks(c.queryId)
c.queryId = ""
queryId, err := c.db.StartTrackingModifiedTasks()
if err != nil {
@@ -77,11 +78,9 @@
return c.Reset(w)
}
newTasks, err := c.db.GetModifiedTasks(c.queryId)
- if db.IsUnknownId(err) {
- sklog.Warningf("Connection to db lost; re-initializing cache from scratch.")
+ if err != nil {
+ sklog.Errorf("Connection to db lost; re-initializing cache from scratch. Error: %s", err)
return c.Reset(w)
- } else if err != nil {
- return nil, false, err
}
return mapTasks(newTasks), false, nil
}