Commit 81ca4c9
Batch network lookups per NIC in NetworkOrchestrator to eliminate N+1 queries during migration
Three methods called _networksDao.findById(nic.getNetworkId()) per NIC in a loop:
setHypervisorHostname, prepareNicForMigration, prepareAllNicsForMigration.
Now batch-loads all networks for a VM's NICs in a single WHERE id IN (...) query.
- Add NetworkDao.listByIds(List<Long>) for batch ID lookup
- Add getNetworkMapForNics helper returning Map<Long, NetworkVO>
- Replace per-NIC findById with map lookup at 3 sites
- Add null guard for deleted networks (pre-existing NPE risk on all 3 sites)
- Site 2 (prepare) left unchanged — findById only on error path, not N+11 parent 21b2025 commit 81ca4c9
4 files changed
Lines changed: 51 additions & 3 deletions
File tree
- engine
- orchestration/src/main/java/org/apache/cloudstack/engine/orchestration
- schema/src/main/java/com/cloud/network/dao
- server/src/test/java/com/cloud/vpc/dao
Lines changed: 31 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2085 | 2085 | | |
2086 | 2086 | | |
2087 | 2087 | | |
| 2088 | + | |
| 2089 | + | |
| 2090 | + | |
| 2091 | + | |
| 2092 | + | |
| 2093 | + | |
| 2094 | + | |
| 2095 | + | |
| 2096 | + | |
| 2097 | + | |
| 2098 | + | |
| 2099 | + | |
| 2100 | + | |
| 2101 | + | |
2088 | 2102 | | |
2089 | 2103 | | |
2090 | 2104 | | |
2091 | 2105 | | |
2092 | 2106 | | |
| 2107 | + | |
2093 | 2108 | | |
2094 | | - | |
| 2109 | + | |
| 2110 | + | |
| 2111 | + | |
| 2112 | + | |
2095 | 2113 | | |
2096 | 2114 | | |
2097 | 2115 | | |
| |||
2266 | 2284 | | |
2267 | 2285 | | |
2268 | 2286 | | |
| 2287 | + | |
2269 | 2288 | | |
2270 | | - | |
| 2289 | + | |
| 2290 | + | |
| 2291 | + | |
| 2292 | + | |
| 2293 | + | |
2271 | 2294 | | |
2272 | 2295 | | |
2273 | 2296 | | |
| |||
2311 | 2334 | | |
2312 | 2335 | | |
2313 | 2336 | | |
| 2337 | + | |
2314 | 2338 | | |
2315 | 2339 | | |
2316 | | - | |
| 2340 | + | |
| 2341 | + | |
| 2342 | + | |
| 2343 | + | |
| 2344 | + | |
2317 | 2345 | | |
2318 | 2346 | | |
2319 | 2347 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
| 36 | + | |
35 | 37 | | |
36 | 38 | | |
37 | 39 | | |
| |||
Lines changed: 13 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
563 | 563 | | |
564 | 564 | | |
565 | 565 | | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
566 | 579 | | |
567 | 580 | | |
568 | 581 | | |
| |||
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
280 | 280 | | |
281 | 281 | | |
282 | 282 | | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
283 | 288 | | |
0 commit comments