From 9a0578986d1ffc1100ee40ee5a0a04646ae17bb7 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Thu, 6 Apr 2023 17:15:58 +0530 Subject: [PATCH 1/5] schema: acquire for console_session turned into datetime Fixes #7159 Signed-off-by: Abhishek Kumar --- .../src/main/java/com/cloud/vm/ConsoleSessionVO.java | 9 +++++---- .../java/com/cloud/vm/dao/ConsoleSessionDaoImpl.java | 10 +++++----- .../main/resources/META-INF/db/schema-41810to41900.sql | 4 ++++ 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/engine/schema/src/main/java/com/cloud/vm/ConsoleSessionVO.java b/engine/schema/src/main/java/com/cloud/vm/ConsoleSessionVO.java index 4b476af463cf..53e98226db86 100644 --- a/engine/schema/src/main/java/com/cloud/vm/ConsoleSessionVO.java +++ b/engine/schema/src/main/java/com/cloud/vm/ConsoleSessionVO.java @@ -19,13 +19,14 @@ package com.cloud.vm; +import java.util.Date; + import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; -import java.util.Date; @Entity @Table(name = "console_session") @@ -55,7 +56,7 @@ public class ConsoleSessionVO { private long hostId; @Column(name = "acquired") - private boolean acquired; + private Date acquired; @Column(name = "removed") private Date removed; @@ -124,11 +125,11 @@ public void setRemoved(Date removed) { this.removed = removed; } - public boolean isAcquired() { + public Date getAcquired() { return acquired; } - public void setAcquired(boolean acquired) { + public void setAcquired(Date acquired) { this.acquired = acquired; } } diff --git a/engine/schema/src/main/java/com/cloud/vm/dao/ConsoleSessionDaoImpl.java b/engine/schema/src/main/java/com/cloud/vm/dao/ConsoleSessionDaoImpl.java index f2f4703a2a2c..8e7e229622e8 100644 --- a/engine/schema/src/main/java/com/cloud/vm/dao/ConsoleSessionDaoImpl.java +++ b/engine/schema/src/main/java/com/cloud/vm/dao/ConsoleSessionDaoImpl.java @@ -19,12 +19,12 @@ package com.cloud.vm.dao; +import java.util.Date; + +import com.cloud.utils.db.GenericDaoBase; import com.cloud.utils.db.SearchBuilder; import com.cloud.utils.db.SearchCriteria; import com.cloud.vm.ConsoleSessionVO; -import com.cloud.utils.db.GenericDaoBase; - -import java.util.Date; public class ConsoleSessionDaoImpl extends GenericDaoBase implements ConsoleSessionDao { @@ -48,7 +48,7 @@ public boolean isSessionAllowed(String sessionUuid) { if (consoleSessionVO == null) { return false; } - return !consoleSessionVO.isAcquired(); + return consoleSessionVO.getAcquired() == null; } @Override @@ -61,7 +61,7 @@ public int expungeSessionsOlderThanDate(Date date) { @Override public void acquireSession(String sessionUuid) { ConsoleSessionVO consoleSessionVO = findByUuid(sessionUuid); - consoleSessionVO.setAcquired(true); + consoleSessionVO.setAcquired(new Date()); update(consoleSessionVO.getId(), consoleSessionVO); } diff --git a/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql b/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql index 5e13b1c0157e..077e0b8ef6ea 100644 --- a/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql +++ b/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql @@ -19,3 +19,7 @@ -- Schema upgrade from 4.18.1.0 to 4.19.0.0 --; +-- Invalidate existing console_session records +UPDATE console_session SET removed=now(); +-- Modify acquired column in console_session to datetime type +ALTER TABLE console_session MODIFY acquired datetime COMMENT 'When the session was acquired; From 044d6a0d73387491b6af763759ba21b02d4a3196 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Thu, 6 Apr 2023 22:01:53 +0530 Subject: [PATCH 2/5] fix --- .../src/main/resources/META-INF/db/schema-41810to41900.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql b/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql index 077e0b8ef6ea..2e530b96505f 100644 --- a/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql +++ b/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql @@ -20,6 +20,6 @@ --; -- Invalidate existing console_session records -UPDATE console_session SET removed=now(); +UPDATE `cloud`.`console_session` SET removed=now(); -- Modify acquired column in console_session to datetime type -ALTER TABLE console_session MODIFY acquired datetime COMMENT 'When the session was acquired; +ALTER TABLE `cloud`.`console_session` MODIFY `acquired` datetime COMMENT 'When the session was acquired; From 32482d74fd358bb3ed01e236f75a770cbbc09313 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Fri, 7 Apr 2023 00:12:55 +0530 Subject: [PATCH 3/5] Update schema-41810to41900.sql --- .../src/main/resources/META-INF/db/schema-41810to41900.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql b/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql index 2e530b96505f..91326209d32d 100644 --- a/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql +++ b/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql @@ -22,4 +22,4 @@ -- Invalidate existing console_session records UPDATE `cloud`.`console_session` SET removed=now(); -- Modify acquired column in console_session to datetime type -ALTER TABLE `cloud`.`console_session` MODIFY `acquired` datetime COMMENT 'When the session was acquired; +ALTER TABLE `cloud`.`console_session` MODIFY `acquired` datetime COMMENT 'When the session was acquired'; From 87b104e73600718561a0194c72bf45b401915a61 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Fri, 7 Apr 2023 00:16:21 +0530 Subject: [PATCH 4/5] Update schema-41810to41900.sql --- .../src/main/resources/META-INF/db/schema-41810to41900.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql b/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql index 91326209d32d..fa3a60a3097c 100644 --- a/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql +++ b/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql @@ -20,6 +20,6 @@ --; -- Invalidate existing console_session records -UPDATE `cloud`.`console_session` SET removed=now(); +UPDATE `cloud`.`console_session` SET acquired=NULL, removed=now(); -- Modify acquired column in console_session to datetime type ALTER TABLE `cloud`.`console_session` MODIFY `acquired` datetime COMMENT 'When the session was acquired'; From 575960d5cdb72fc4eb4d7e0e6df7c10876dab5d0 Mon Sep 17 00:00:00 2001 From: Abhishek Kumar Date: Mon, 10 Apr 2023 11:51:46 +0530 Subject: [PATCH 5/5] fix Signed-off-by: Abhishek Kumar --- .../src/main/resources/META-INF/db/schema-41810to41900.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql b/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql index fa3a60a3097c..b039546a2b78 100644 --- a/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql +++ b/engine/schema/src/main/resources/META-INF/db/schema-41810to41900.sql @@ -20,6 +20,6 @@ --; -- Invalidate existing console_session records -UPDATE `cloud`.`console_session` SET acquired=NULL, removed=now(); +UPDATE `cloud`.`console_session` SET removed=now(); -- Modify acquired column in console_session to datetime type -ALTER TABLE `cloud`.`console_session` MODIFY `acquired` datetime COMMENT 'When the session was acquired'; +ALTER TABLE `cloud`.`console_session` DROP `acquired`, ADD `acquired` datetime COMMENT 'When the session was acquired' AFTER `host_id`;