This is an automated email from the ASF dual-hosted git repository.
winterhazel pushed a commit to branch 4.20
in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.20 by this push:
new 7bc458ff85e Fix for usage server getting stuck due to duplicate VM
events (#13019)
7bc458ff85e is described below
commit 7bc458ff85eb950b84a350a00c7a6d5ffe376b8e
Author: Abhisar Sinha <[email protected]>
AuthorDate: Thu Jun 11 23:50:33 2026 +0530
Fix for usage server getting stuck due to duplicate VM events (#13019)
---
.../com/cloud/upgrade/DatabaseUpgradeChecker.java | 4 +-
.../com/cloud/upgrade/dao/Upgrade42030to42040.java | 58 ++++++++++++++++++++++
2 files changed, 61 insertions(+), 1 deletion(-)
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 a8a166fbf27..0d9807dcb2d 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 java.util.List;
import javax.inject.Inject;
-import com.cloud.upgrade.dao.Upgrade42020to42030;
import com.cloud.utils.FileUtil;
import org.apache.cloudstack.utils.CloudStackVersion;
import org.apache.commons.lang3.StringUtils;
@@ -90,6 +89,8 @@ import com.cloud.upgrade.dao.Upgrade41810to41900;
import com.cloud.upgrade.dao.Upgrade41900to41910;
import com.cloud.upgrade.dao.Upgrade41910to42000;
import com.cloud.upgrade.dao.Upgrade42000to42010;
+import com.cloud.upgrade.dao.Upgrade42020to42030;
+import com.cloud.upgrade.dao.Upgrade42030to42040;
import com.cloud.upgrade.dao.Upgrade420to421;
import com.cloud.upgrade.dao.Upgrade421to430;
import com.cloud.upgrade.dao.Upgrade430to440;
@@ -238,6 +239,7 @@ public class DatabaseUpgradeChecker implements
SystemIntegrityChecker {
.next("4.19.1.0", new Upgrade41910to42000())
.next("4.20.0.0", new Upgrade42000to42010())
.next("4.20.2.0", new Upgrade42020to42030())
+ .next("4.20.3.0", new Upgrade42030to42040())
.build();
}
diff --git
a/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade42030to42040.java
b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade42030to42040.java
new file mode 100644
index 00000000000..90f69a87cb0
--- /dev/null
+++ b/engine/schema/src/main/java/com/cloud/upgrade/dao/Upgrade42030to42040.java
@@ -0,0 +1,58 @@
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements. See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership. The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License. You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied. See the License for the
+// specific language governing permissions and limitations
+// under the License.
+package com.cloud.upgrade.dao;
+
+import java.io.InputStream;
+import java.sql.Connection;
+import java.util.ArrayList;
+import java.util.List;
+
+public class Upgrade42030to42040 extends DbUpgradeAbstractImpl implements
DbUpgrade, DbUpgradeSystemVmTemplate {
+
+ @Override
+ public String[] getUpgradableVersionRange() {
+ return new String[]{"4.20.3.0", "4.20.4.0"};
+ }
+
+ @Override
+ public String getUpgradedVersion() {
+ return "4.20.4.0";
+ }
+
+ @Override
+ public boolean supportsRollingUpgrade() {
+ return false;
+ }
+
+ @Override
+ public InputStream[] getPrepareScripts() {
+ return null;
+ }
+
+ @Override
+ public void performDataMigration(Connection conn) {
+ final List<String> indexList = new ArrayList<String>();
+ logger.debug("Dropping index vm_instance_id from usage_vm_instance
table if it exists");
+ indexList.add("vm_instance_id");
+ DbUpgradeUtils.dropKeysIfExist(conn, "cloud_usage.usage_vm_instance",
indexList, false);
+ }
+
+ @Override
+ public InputStream[] getCleanupScripts() {
+ return null;
+ }
+}