Adds check against metric data cache corruption.
Adds check against metric data cache corruption.
Adds delete/insert behavior to updateByStates if value is null or execution affects zero rows.
RecalculateTask now better detects if it has never executed before and should recalculate all.
Adds a Stats call to RecalculationTask.
Delays reference resolving during RecalculationTask#recalculate.
Merge branch 'release/2.3' into release/2.4
Merge branch 'release/2.4'