Skip to content

Commit a0f2ab5

Browse files
author
Zhang Wenhao
committed
<feature>[kvm]: use SQLBatch for TPM state reset
Combine two separate delete operations for VmHostFileVO and VmHostBackupFileVO into a single SQLBatch transaction. This reduces database transaction overhead and improves performance during TPM state reset. Resolves: ZSV-11440 Related: ZSV-11310 Change-Id: I6b6f73786e6e736475686771747065686676726a
1 parent 1eab431 commit a0f2ab5

1 file changed

Lines changed: 14 additions & 8 deletions

File tree

plugin/kvm/src/main/java/org/zstack/kvm/tpm/KvmTpmManager.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.zstack.core.cloudbus.MessageSafe;
1010
import org.zstack.core.db.Q;
1111
import org.zstack.core.db.SQL;
12+
import org.zstack.core.db.SQLBatch;
1213
import org.zstack.core.thread.ChainTask;
1314
import org.zstack.core.thread.SyncTaskChain;
1415
import org.zstack.core.thread.ThreadFacade;
@@ -430,14 +431,19 @@ private void handle(ResetVmTpmMsg msg) {
430431
ResetVmTpmReply reply = new ResetVmTpmReply();
431432

432433
String vmUuid = msg.getVmInstanceUuid();
433-
SQL.New(VmHostFileVO.class)
434-
.eq(VmHostFileVO_.vmInstanceUuid, vmUuid)
435-
.eq(VmHostFileVO_.type, VmHostFileType.TpmState)
436-
.delete();
437-
SQL.New(VmHostBackupFileVO.class)
438-
.eq(VmHostBackupFileVO_.resourceUuid, vmUuid)
439-
.eq(VmHostBackupFileVO_.type, VmHostFileType.TpmState)
440-
.delete();
434+
new SQLBatch() {
435+
@Override
436+
protected void scripts() {
437+
sql(VmHostFileVO.class)
438+
.eq(VmHostFileVO_.vmInstanceUuid, vmUuid)
439+
.eq(VmHostFileVO_.type, VmHostFileType.TpmState)
440+
.delete();
441+
sql(VmHostBackupFileVO.class)
442+
.eq(VmHostBackupFileVO_.resourceUuid, vmUuid)
443+
.eq(VmHostBackupFileVO_.type, VmHostFileType.TpmState)
444+
.delete();
445+
}
446+
}.execute();
441447

442448
bus.reply(msg, reply);
443449
}

0 commit comments

Comments
 (0)