Skip to content

Do not memoize Vulnerabilities::Export#export_service method

What does this MR do and why?

The VulnerabilityExports::ExportService#exporter method is memoized, which means, it returns the same exporter for all the calls and that same exporter uses the "initial enumerator" value passed into it when we call the export_segment method multiple times.

For this reason, only the first call of the export_segment method generates the CSV file content for the export part and the subsequent calls do not generate content as the initially given enumerator is already completed and doesn't yield anything.

With this change, we are removing the memoization from the Vulnerabilities::Export#export_service method so whenever we call this method, we get an exporter with a clean state.

Related to Group Vulnerability Report CSV Export fails to ... (#440163)

Edited by Mehmet Emin INAC

Merge request reports