Skip to content

Commit 9cef33a

Browse files
reimport: prefetch endpoint status
1 parent 406b698 commit 9cef33a

2 files changed

Lines changed: 23 additions & 13 deletions

File tree

dojo/finding/deduplication.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,10 +252,20 @@ def build_candidate_scope_queryset(test, mode="deduplication", service=None):
252252
)
253253
queryset = Finding.objects.filter(scope_q)
254254

255+
# Base prefetches for both modes
256+
prefetch_list = ["endpoints", "vulnerability_id_set"]
257+
258+
# Additional prefetches for reimport mode
259+
if mode == "reimport":
260+
prefetch_list.extend([
261+
"status_finding",
262+
"status_finding__endpoint",
263+
])
264+
255265
return (
256266
queryset
257267
.select_related("test", "test__engagement", "test__test_type")
258-
.prefetch_related("endpoints", "vulnerability_id_set")
268+
.prefetch_related(*prefetch_list)
259269
)
260270

261271

unittests/test_importers_performance.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -244,9 +244,9 @@ def test_import_reimport_reimport_performance_async(self):
244244
self._import_reimport_performance(
245245
expected_num_queries1=340,
246246
expected_num_async_tasks1=7,
247-
expected_num_queries2=276,
247+
expected_num_queries2=238,
248248
expected_num_async_tasks2=18,
249-
expected_num_queries3=163,
249+
expected_num_queries3=120,
250250
expected_num_async_tasks3=17,
251251
)
252252

@@ -262,9 +262,9 @@ def test_import_reimport_reimport_performance_pghistory_async(self):
262262
self._import_reimport_performance(
263263
expected_num_queries1=306,
264264
expected_num_async_tasks1=7,
265-
expected_num_queries2=269,
265+
expected_num_queries2=231,
266266
expected_num_async_tasks2=18,
267-
expected_num_queries3=158,
267+
expected_num_queries3=115,
268268
expected_num_async_tasks3=17,
269269
)
270270

@@ -286,9 +286,9 @@ def test_import_reimport_reimport_performance_no_async(self):
286286
self._import_reimport_performance(
287287
expected_num_queries1=346,
288288
expected_num_async_tasks1=6,
289-
expected_num_queries2=282,
289+
expected_num_queries2=244,
290290
expected_num_async_tasks2=17,
291-
expected_num_queries3=169,
291+
expected_num_queries3=126,
292292
expected_num_async_tasks3=16,
293293
)
294294

@@ -308,9 +308,9 @@ def test_import_reimport_reimport_performance_pghistory_no_async(self):
308308
self._import_reimport_performance(
309309
expected_num_queries1=312,
310310
expected_num_async_tasks1=6,
311-
expected_num_queries2=275,
311+
expected_num_queries2=237,
312312
expected_num_async_tasks2=17,
313-
expected_num_queries3=164,
313+
expected_num_queries3=121,
314314
expected_num_async_tasks3=16,
315315
)
316316

@@ -334,9 +334,9 @@ def test_import_reimport_reimport_performance_no_async_with_product_grading(self
334334
self._import_reimport_performance(
335335
expected_num_queries1=348,
336336
expected_num_async_tasks1=8,
337-
expected_num_queries2=284,
337+
expected_num_queries2=246,
338338
expected_num_async_tasks2=19,
339-
expected_num_queries3=171,
339+
expected_num_queries3=128,
340340
expected_num_async_tasks3=18,
341341
)
342342

@@ -357,9 +357,9 @@ def test_import_reimport_reimport_performance_pghistory_no_async_with_product_gr
357357
self._import_reimport_performance(
358358
expected_num_queries1=314,
359359
expected_num_async_tasks1=8,
360-
expected_num_queries2=277,
360+
expected_num_queries2=239,
361361
expected_num_async_tasks2=19,
362-
expected_num_queries3=166,
362+
expected_num_queries3=123,
363363
expected_num_async_tasks3=18,
364364
)
365365

0 commit comments

Comments
 (0)