Closed Jollyfant closed 5 years ago
Thanks @Jollyfant,
this is not a bug. In case of errors (i.e. HTTP status codes of endpoint request not in (200, 413)
) eida-federator
does not remove temporary files. The current implementation exclusively logs a WARNING
:
Due to development purposes I implemented it this way in order to be able to easier check for errors. Which approach do you purpose/prefer?:
tmpreaper
removing (outdated) files periodically (Question: What means outdated for long running requests?).eida-federator
removes outdated temporary files after some (configurable) time.one more option: have "Remove temporary files even on errors = true|false" as a configuration option.
Remove temporary files even on errors?
I think this a good idea. No reason to keep them around if the client hangs up or there's an error. Also there could be a (non-federator) clean-up script that runs daily. But I prefer to have the Federator clean what it writes.
I'm going to implement the solution suggested by @kaestli.
@Jollyfant, is it ok for you if I'll assign the issue to myself? Thanks and Cheers.
Yeah no problem I think I accidentally assigned me.
Should be fixed with 2801d8e37a1b97c10c79b67530cb31391e9213a1.
Note, that for fdsnws-station?format=xml
still under certain race conditions temporary files might remain. StationXMLNetworkCombinerTask
internally uses a multiprocessing.Pool
which appears tasks being actually force killed when executing pool.terminate()
. The cleanest approach would have been implementing something such as pool.shutdown()
which
However, I did not go for that, yet.
Hi, it looks like data files are not deleted from
/var/tmp/
when the request is aborted. Our disk filled up with 300GB of data! At least that means it was being tested :D