----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/22339/ -----------------------------------------------------------
Review request for cloudstack and Kishan Kavala. Bugs: CLOUDSTACK-6669 https://issues.apache.org/jira/browse/CLOUDSTACK-6669 Repository: cloudstack-git Description ------- This patch fixes the remaining bug in the initial fix for CLOUDSTACK-6669. See my example here: https://issues.apache.org/jira/browse/CLOUDSTACK-6669?focusedCommentId=14020334 Diffs ----- usage/src/com/cloud/usage/parser/VolumeUsageParser.java cd092a9 Diff: https://reviews.apache.org/r/22339/diff/ Testing ------- 1. Create a DATA volume with "Custom Disk", size 1GB 2. Resize it to "Custom Disk", size 3GB 3. Resize it to "Custom Disk", size 20GB 4. Change disk offering to "Medium Disk, 20GB" 5. Check cloud_usage database: mysql> select * from usage_volume where id = 9; +----+---------+------------+-----------+------------------+-------------+-------------+---------------------+---------------------+ | id | zone_id | account_id | domain_id | disk_offering_id | template_id | size | created | deleted | +----+---------+------------+-----------+------------------+-------------+-------------+---------------------+---------------------+ | 9 | 1 | 2 | 1 | 6 | NULL | 1073741824 | 2014-06-07 07:00:01 | 2014-06-07 07:02:54 | | 9 | 1 | 2 | 1 | 6 | NULL | 3221225472 | 2014-06-07 07:02:54 | 2014-06-07 07:26:40 | | 9 | 1 | 2 | 1 | 6 | NULL | 21474836480 | 2014-06-07 07:26:40 | 2014-06-07 07:29:49 | | 9 | 1 | 2 | 1 | 4 | NULL | 21474836480 | 2014-06-07 07:29:49 | NULL | +----+---------+------------+-----------+------------------+-------------+-------------+---------------------+---------------------+ and: mysql> select description, raw_usage, offering_id, size, start_date, end_date from cloud_usage where usage_id=9 and usage_type = 6; +-------------------------------------------+--------------------+-------------+-------------+---------------------+---------------------+ | description | raw_usage | offering_id | size | start_date | end_date | +-------------------------------------------+--------------------+-------------+-------------+---------------------+---------------------+ | Volume Id: 9 usage time (DiskOffering: 6) | 0.0480558350682259 | 6 | 1073741824 | 2014-06-07 06:55:00 | 2014-06-07 07:05:00 | | Volume Id: 9 usage time (DiskOffering: 6) | 0.0350027792155743 | 6 | 3221225472 | 2014-06-07 06:55:00 | 2014-06-07 07:05:00 | | Volume Id: 9 usage time (DiskOffering: 6) | 0.166666939854622 | 6 | 3221225472 | 2014-06-07 07:05:00 | 2014-06-07 07:15:00 | | Volume Id: 9 usage time (DiskOffering: 6) | 0.16666667163372 | 6 | 3221225472 | 2014-06-07 07:15:00 | 2014-06-07 07:25:00 | | Volume Id: 9 usage time (DiskOffering: 6) | 0.0277749989181757 | 6 | 3221225472 | 2014-06-07 07:25:00 | 2014-06-07 07:35:00 | | Volume Id: 9 usage time (DiskOffering: 6) | 0.052500281482935 | 6 | 21474836480 | 2014-06-07 07:25:00 | 2014-06-07 07:35:00 | | Volume Id: 9 usage time (DiskOffering: 4) | 0.0863919407129288 | 4 | 21474836480 | 2014-06-07 07:25:00 | 2014-06-07 07:35:00 | +-------------------------------------------+--------------------+-------------+-------------+---------------------+---------------------+ We can see that usage records are duplicated when a volume has multiple sizes or multiple disk offerings on a given time range. Previously, usage records were aggregated, and size and offering_id were the values at the end of the period (see example https://issues.apache.org/jira/browse/CLOUDSTACK-6669?focusedCommentId=14020334) Thanks, Olivier Lemasle