Queue storage diffs if transformer execution fails

- For any error, not just if key isn't recognized
- Means we don't lose track of diffs on random ephemeral errors
This commit is contained in:
Rob Mulholand
2019-05-01 12:32:39 -05:00
parent 76ab914bdc
commit b036053937
2 changed files with 6 additions and 25 deletions
+4 -7
View File
@@ -79,13 +79,10 @@ func (storageWatcher StorageWatcher) processRow(row utils.StorageDiffRow) {
}
executeErr := storageTransformer.Execute(row)
if executeErr != nil {
if isKeyNotFound(executeErr) {
queueErr := storageWatcher.Queue.Add(row)
if queueErr != nil {
logrus.Warn(fmt.Sprintf("error queueing storage diff with unrecognized key: %s", queueErr))
}
} else {
logrus.Warn(fmt.Sprintf("error executing storage transformer: %s", executeErr))
logrus.Warn(fmt.Sprintf("error executing storage transformer: %s", executeErr))
queueErr := storageWatcher.Queue.Add(row)
if queueErr != nil {
logrus.Warn(fmt.Sprintf("error queueing storage diff: %s", queueErr))
}
}
}