KML exhausts memory
The MappingServiceImpl#filteredKml
is generating the KML in memory and returns a String
. This exhausts memory on the server.
Please add a test and allow execution if filters give <= 200,000 records to
-
mappingService.filteredGeoJson
-
mappingService.filteredKml
Throw exception if filter produces over 200,000 records.
Next, convert the filteredGeoJson to accept the response OutputStream
and write the KML directly to the response stream, not a String
buffer.
Exhausting memory on the server
- Go to "https://sandbox.genesys-pgr.org/welcome";
- Click on the map area;
- Click on the "DOWNLOAD KML" button;
- On the Download pop-up click "cancel" button;
- Click on the "DOWNLOAD KML" button again;
The reproducibility of the error is unstable, and it can take several repetitions.
Edited by Matija Obreza