From 74eaea36f34e28984e1ae337f65b2086934ab1d7 Mon Sep 17 00:00:00 2001 From: Vishesh Date: Mon, 4 Mar 2024 16:30:54 +0530 Subject: [PATCH 1/3] Add indexes for vm_stats --- .../cloud/upgrade/DatabaseUpgradeChecker.java | 2 +- .../upgrade/dao/Upgrade41900to41910.java | 33 ++++++++++++++++--- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java b/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java index 614e6058aa67..23721b96512e 100644 --- a/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java +++ b/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java @@ -33,6 +33,7 @@ import javax.inject.Inject; +import com.cloud.upgrade.dao.Upgrade41900to41910; import com.cloud.utils.FileUtil; import org.apache.cloudstack.utils.CloudStackVersion; import org.apache.commons.lang3.StringUtils; @@ -85,7 +86,6 @@ import com.cloud.upgrade.dao.Upgrade41720to41800; import com.cloud.upgrade.dao.Upgrade41800to41810; import com.cloud.upgrade.dao.Upgrade41810to41900; -import com.cloud.upgrade.dao.Upgrade41900to41910; import com.cloud.upgrade.dao.Upgrade420to421; import com.cloud.upgrade.dao.Upgrade421to430; import com.cloud.upgrade.dao.Upgrade430to440; diff --git a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41900to41910.java b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41900to41910.java index 6085faba6348..3d2d7429b978 100644 --- a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41900to41910.java +++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41900to41910.java @@ -16,16 +16,20 @@ // under the License. package com.cloud.upgrade.dao; +import com.cloud.upgrade.SystemVmTemplateRegistration; import com.cloud.utils.exception.CloudRuntimeException; +import org.apache.log4j.Logger; import java.io.InputStream; import java.sql.Connection; -public class Upgrade41900to41910 implements DbUpgrade { +public class Upgrade41900to41910 implements DbUpgrade, DbUpgradeSystemVmTemplate { + final static Logger LOG = Logger.getLogger(Upgrade41900to41910.class); + private SystemVmTemplateRegistration systemVmTemplateRegistration; @Override public String[] getUpgradableVersionRange() { - return new String[] {"4.19.0.0", "4.19.1.0"}; + return new String[]{"4.19.0.0", "4.19.1.0"}; } @Override @@ -46,11 +50,12 @@ public InputStream[] getPrepareScripts() { throw new CloudRuntimeException("Unable to find " + scriptFile); } - return new InputStream[] {script}; + return new InputStream[]{script}; } @Override public void performDataMigration(Connection conn) { + addIndexes(conn); } @Override @@ -61,6 +66,26 @@ public InputStream[] getCleanupScripts() { throw new CloudRuntimeException("Unable to find " + scriptFile); } - return new InputStream[] {script}; + return new InputStream[]{script}; + } + + private void initSystemVmTemplateRegistration() { + systemVmTemplateRegistration = new SystemVmTemplateRegistration(""); + } + + @Override + public void updateSystemVmTemplates(Connection conn) { + LOG.debug("Updating System Vm template IDs"); + initSystemVmTemplateRegistration(); + try { + systemVmTemplateRegistration.updateSystemVmTemplates(conn); + } catch (Exception e) { + throw new CloudRuntimeException("Failed to find / register SystemVM template(s)"); + } + } + + private void addIndexes(Connection conn) { + DbUpgradeUtils.addIndexIfNeeded(conn, "vm_stats", "vm_id", "timestamp"); + DbUpgradeUtils.addIndexIfNeeded(conn, "vm_stats", "timestamp"); } } From c9bf687b7da3115045c4e329cae6c13d4a2e410a Mon Sep 17 00:00:00 2001 From: Vishesh Date: Thu, 14 Mar 2024 01:36:41 +0530 Subject: [PATCH 2/3] Remove index on timestamp --- .../java/com/cloud/upgrade/dao/Upgrade41900to41910.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41900to41910.java b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41900to41910.java index 3d2d7429b978..0c216c3f8808 100644 --- a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41900to41910.java +++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41900to41910.java @@ -69,8 +69,8 @@ public InputStream[] getCleanupScripts() { return new InputStream[]{script}; } - private void initSystemVmTemplateRegistration() { - systemVmTemplateRegistration = new SystemVmTemplateRegistration(""); + private void addIndexes(Connection conn) { + DbUpgradeUtils.addIndexIfNeeded(conn, "vm_stats", "vm_id", "timestamp"); } @Override @@ -84,8 +84,7 @@ public void updateSystemVmTemplates(Connection conn) { } } - private void addIndexes(Connection conn) { - DbUpgradeUtils.addIndexIfNeeded(conn, "vm_stats", "vm_id", "timestamp"); - DbUpgradeUtils.addIndexIfNeeded(conn, "vm_stats", "timestamp"); + private void initSystemVmTemplateRegistration() { + systemVmTemplateRegistration = new SystemVmTemplateRegistration(""); } } From a71b7e05793b2c3d65871591dc351fca08f8f1d4 Mon Sep 17 00:00:00 2001 From: Vishesh Date: Tue, 19 Mar 2024 13:32:01 +0530 Subject: [PATCH 3/3] Chnage index from vm_id,timestamp to vm_id --- .../src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java | 2 +- .../main/java/com/cloud/upgrade/dao/Upgrade41900to41910.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java b/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java index 23721b96512e..614e6058aa67 100644 --- a/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java +++ b/engine/schema/src/main/java/com/cloud/upgrade/DatabaseUpgradeChecker.java @@ -33,7 +33,6 @@ import javax.inject.Inject; -import com.cloud.upgrade.dao.Upgrade41900to41910; import com.cloud.utils.FileUtil; import org.apache.cloudstack.utils.CloudStackVersion; import org.apache.commons.lang3.StringUtils; @@ -86,6 +85,7 @@ import com.cloud.upgrade.dao.Upgrade41720to41800; import com.cloud.upgrade.dao.Upgrade41800to41810; import com.cloud.upgrade.dao.Upgrade41810to41900; +import com.cloud.upgrade.dao.Upgrade41900to41910; import com.cloud.upgrade.dao.Upgrade420to421; import com.cloud.upgrade.dao.Upgrade421to430; import com.cloud.upgrade.dao.Upgrade430to440; diff --git a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41900to41910.java b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41900to41910.java index 0c216c3f8808..5c57fb31fcf8 100644 --- a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41900to41910.java +++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade41900to41910.java @@ -70,7 +70,7 @@ public InputStream[] getCleanupScripts() { } private void addIndexes(Connection conn) { - DbUpgradeUtils.addIndexIfNeeded(conn, "vm_stats", "vm_id", "timestamp"); + DbUpgradeUtils.addIndexIfNeeded(conn, "vm_stats", "vm_id"); } @Override