mirror of https://github.com/apache/cloudstack.git
server: PingRoutingCommand - apply some optimizations
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
This commit is contained in:
parent
013ebfaf46
commit
337add8fb9
|
|
@ -5037,11 +5037,20 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
}
|
||||
|
||||
private List<Long> listStalledVMInTransitionStateOnUpHost(final long hostId, final Date cutTime) {
|
||||
final String sql = "SELECT i.id FROM vm_instance as i, host as h WHERE h.status = 'UP' " +
|
||||
"AND h.id = ? AND i.power_state_update_time < ? AND i.host_id = h.id " +
|
||||
"AND (i.state ='Starting' OR i.state='Stopping' OR i.state='Migrating') " +
|
||||
"AND i.id NOT IN (SELECT w.vm_instance_id FROM vm_work_job AS w JOIN async_job AS j ON w.id = j.id WHERE j.job_status = ?)" +
|
||||
"AND i.removed IS NULL";
|
||||
final String sql = "SELECT i.id\n" +
|
||||
"FROM vm_instance AS i\n" +
|
||||
"INNER JOIN host AS h ON i.host_id = h.id\n" +
|
||||
"WHERE h.status = 'UP'\n" +
|
||||
" AND h.id = ?\n" +
|
||||
" AND i.power_state_update_time < ?\n" +
|
||||
" AND i.state IN ('Starting', 'Stopping', 'Migrating')\n" +
|
||||
" AND i.id NOT IN (\n" +
|
||||
" SELECT vm_instance_id\n" +
|
||||
" FROM vm_work_job AS w\n" +
|
||||
" INNER JOIN async_job AS j ON w.id = j.id\n" +
|
||||
" WHERE j.job_status = ?\n" +
|
||||
" )\n" +
|
||||
" AND i.removed IS NULL";
|
||||
|
||||
final List<Long> l = new ArrayList<>();
|
||||
try (TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.CLOUD_DB)) {
|
||||
|
|
@ -5063,11 +5072,17 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
}
|
||||
|
||||
private List<Long> listVMInTransitionStateWithRecentReportOnUpHost(final long hostId, final Date cutTime) {
|
||||
final String sql = "SELECT i.id FROM vm_instance as i, host as h WHERE h.status = 'UP' " +
|
||||
"AND h.id = ? AND i.power_state_update_time > ? AND i.host_id = h.id " +
|
||||
"AND (i.state ='Starting' OR i.state='Stopping' OR i.state='Migrating') " +
|
||||
"AND i.id NOT IN (SELECT w.vm_instance_id FROM vm_work_job AS w JOIN async_job AS j ON w.id = j.id WHERE j.job_status = ?)" +
|
||||
"AND i.removed IS NULL";
|
||||
final String sql = "SELECT i.id\n" +
|
||||
"FROM vm_instance AS i\n" +
|
||||
"INNER JOIN host AS h ON i.host_id = h.id\n" +
|
||||
"WHERE h.status = 'UP' \n" +
|
||||
" AND h.id = ?\n" +
|
||||
" AND i.power_state_update_time > ?\n" +
|
||||
" AND i.state IN ('Starting', 'Stopping', 'Migrating')\n" +
|
||||
" AND i.id NOT IN (SELECT vm_instance_id FROM vm_work_job AS w\n" +
|
||||
" INNER JOIN async_job AS j ON w.id = j.id\n" +
|
||||
" WHERE j.job_status = ?)\n" +
|
||||
" AND i.removed IS NULL";
|
||||
|
||||
final List<Long> l = new ArrayList<>();
|
||||
try (TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.CLOUD_DB)) {
|
||||
|
|
@ -5090,11 +5105,16 @@ public class VirtualMachineManagerImpl extends ManagerBase implements VirtualMac
|
|||
}
|
||||
|
||||
private List<Long> listStalledVMInTransitionStateOnDisconnectedHosts(final Date cutTime) {
|
||||
final String sql = "SELECT i.* FROM vm_instance as i, host as h WHERE h.status != 'UP' " +
|
||||
"AND i.power_state_update_time < ? AND i.host_id = h.id " +
|
||||
"AND (i.state ='Starting' OR i.state='Stopping' OR i.state='Migrating') " +
|
||||
"AND i.id NOT IN (SELECT w.vm_instance_id FROM vm_work_job AS w JOIN async_job AS j ON w.id = j.id WHERE j.job_status = ?)" +
|
||||
"AND i.removed IS NULL";
|
||||
final String sql = "SELECT i.*\n" +
|
||||
"FROM vm_instance AS i\n" +
|
||||
"INNER JOIN host AS h ON i.host_id = h.id\n" +
|
||||
"WHERE h.status != 'UP' \n" +
|
||||
" AND i.power_state_update_time < ?\n" +
|
||||
" AND i.state IN ('Starting', 'Stopping', 'Migrating')\n" +
|
||||
" AND i.id NOT IN (SELECT vm_instance_id FROM vm_work_job AS w\n" +
|
||||
" INNER JOIN async_job AS j ON w.id = j.id\n" +
|
||||
" WHERE j.job_status = ?)\n" +
|
||||
" AND i.removed IS NUL";
|
||||
|
||||
final List<Long> l = new ArrayList<>();
|
||||
try (TransactionLegacy txn = TransactionLegacy.open(TransactionLegacy.CLOUD_DB)) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue