Skip to content

Commit fa42a5e

Browse files
committed
Prevent negative summaries caused by 0,0 records
- we have recieved completed records with no EndTime, this causes there usage to be assigned to Month 0 Year 0. - This prevents those records being taken into consideration by the summariser. - In all the cases I have seen a valid completed message is sent eventually. So this doesnt hide any usage - Also updates the update script
1 parent 4af08b6 commit fa42a5e

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

schemas/cloud.sql

+7-1
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,13 @@ BEGIN
294294
PrevRecord.MeasurementTime = (SELECT max(MeasurementTime)
295295
FROM CloudRecords
296296
WHERE VMUUID = ThisRecord.VMUUID
297-
AND MeasurementTime < ThisRecord.MeasurementTime)
297+
AND MeasurementTime < ThisRecord.MeasurementTime
298+
-- This prevents negative summaries being caused
299+
-- by 'completed' records without an EndTime.
300+
-- Now, such Records are not included in this
301+
-- LEFT JOIN statement
302+
AND PrevRecord.MeasurementMonth<>0
303+
AND PrevRecord.MeasurementYear<>0)
298304
);
299305

300306
REPLACE INTO CloudSummaries(SiteID, CloudComputeServiceID, Month, Year,

scripts/update_measurememt_time.sql

+7-1
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,13 @@ BEGIN
174174
PrevRecord.MeasurementTime = (SELECT max(MeasurementTime)
175175
FROM CloudRecords
176176
WHERE VMUUID = ThisRecord.VMUUID
177-
AND MeasurementTime < ThisRecord.MeasurementTime)
177+
AND MeasurementTime < ThisRecord.MeasurementTime
178+
-- This prevents negative summaries being caused
179+
-- by 'completed' records without an EndTime.
180+
-- Now, such Records are not included in this
181+
-- LEFT JOIN statement
182+
AND PrevRecord.MeasurementMonth<>0
183+
AND PrevRecord.MeasurementYear<>0)
178184
);
179185

180186
REPLACE INTO CloudSummaries(SiteID, CloudComputeServiceID, Month, Year,

0 commit comments

Comments
 (0)