From 7be811905fbdadab3724a495318b5d2321898afa Mon Sep 17 00:00:00 2001 From: kishan Date: Wed, 18 Apr 2012 15:39:21 +0530 Subject: [PATCH] bug CS-14532: during 2211-2212 upgrade, do not add resource count entries for resourceTypes that were added in later releases status CS-14532: resolved fixed reviewed-by: Nitin --- .../com/cloud/upgrade/dao/Upgrade2211to2212.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/server/src/com/cloud/upgrade/dao/Upgrade2211to2212.java b/server/src/com/cloud/upgrade/dao/Upgrade2211to2212.java index 9276d3b4d7c..1c922c19d1c 100644 --- a/server/src/com/cloud/upgrade/dao/Upgrade2211to2212.java +++ b/server/src/com/cloud/upgrade/dao/Upgrade2211to2212.java @@ -89,17 +89,20 @@ public class Upgrade2211to2212 implements DbUpgrade { } rs.close(); + //2.2.12 resource types + String[] resourceTypes = {"user_vm", "public_ip", "volume", "snapshot", "template"}; + for (Long accountId : accounts) { - for (ResourceType resourceType : Resource.ResourceType.values()) { + for (String resourceType : resourceTypes) { pstmt = conn.prepareStatement("SELECT * FROM resource_count WHERE type=? and account_id=?"); - pstmt.setString(1, resourceType.toString()); + pstmt.setString(1, resourceType); pstmt.setLong(2, accountId); rs = pstmt.executeQuery(); if (!rs.next()) { s_logger.debug("Inserting resource_count record of type " + resourceType + " for account id=" + accountId); pstmt = conn.prepareStatement("INSERT INTO resource_count (account_id, domain_id, type, count) VALUES (?, null, ?, 0)"); pstmt.setLong(1, accountId); - pstmt.setString(2, resourceType.toString()); + pstmt.setString(2, resourceType); pstmt.executeUpdate(); } rs.close(); @@ -108,16 +111,16 @@ public class Upgrade2211to2212 implements DbUpgrade { } for (Long domainId : domains) { - for (ResourceType resourceType : Resource.ResourceType.values()) { + for (String resourceType : resourceTypes) { pstmt = conn.prepareStatement("SELECT * FROM resource_count WHERE type=? and domain_id=?"); - pstmt.setString(1, resourceType.toString()); + pstmt.setString(1, resourceType); pstmt.setLong(2, domainId); rs = pstmt.executeQuery(); if (!rs.next()) { s_logger.debug("Inserting resource_count record of type " + resourceType + " for domain id=" + domainId); pstmt = conn.prepareStatement("INSERT INTO resource_count (account_id, domain_id, type, count) VALUES (null, ?, ?, 0)"); pstmt.setLong(1, domainId); - pstmt.setString(2, resourceType.toString()); + pstmt.setString(2, resourceType); pstmt.executeUpdate(); } rs.close();