gmantele / vollt

Java libraries implementing the IVOA protocol: ADQL, UWS and TAP
http://cdsportal.u-strasbg.fr/taptuto/
29 stars 28 forks source link

job retention time #61

Closed vforchi closed 6 years ago

vforchi commented 6 years ago

Hi,

I was wondering what is the default job retention time in the UWS list, and if and how it can be configured. Also, what happens if a job is aborted? It looks like it disappears from the list altogether: is that the desired behaviour?

Cheers, Vincenzo

gmantele commented 6 years ago

In a TAP service, the retention period of time for async jobs can be configured in the TAP configuration file with the properties: default_retention_period and max_retention_period. They must be expressed in seconds (see http://cdsportal.u-strasbg.fr/taptuto/configurationfile.html#lstprop for more details).

In a UWS service, there will be soon a configuration file as well, but since it is not yet completely tested, I recommend using the "normal" way and that would be slightly different in function of how you set up your UWS service. If you use just UWS, how did you set up the service? Using UWSServlet or UWSService?

vforchi commented 6 years ago

Thanks, I saw those parameters, but it wasn't clear to me that they applied to the job.

In my case I did not configure them, so the jobs should stay there forever, but after a while (can't tell you how long) I don't see them in the list.

gmantele commented 6 years ago

Did you configure the backup (property backup_frequency)?

If no, the jobs disappear from the list each time you restart the web-application corresponding to your TAP service.

Theoretically, even after an ABORT, a job is not deleted if the default retention period is not set ; as you guessed, the default behavior is to keep the jobs forever.

vforchi commented 6 years ago

That's probably it, we have automatic deployments in integration that restart the server.

vforchi commented 6 years ago

The documentation says:

# [OPTIONAL]
# Frequency at which the UWS service (that's to say, all its users and jobs) must be backuped.
# 
# Allowed values: never (no backup will never be done ; default), user_action (each time a user does a writing action, like creating or execution a job),
#                 a time (must be positive and not null) in milliseconds.
# 
# The value user_action can be used ONLY IF backup_mode=true.
# 
# Default: never
backup_frequency = never

But I can't find backup_mode anywhere in the code.

gmantele commented 6 years ago

Indeed, there is a mistake (an old version) in the documentation regarding this property. Instead, it should be:

# The value user_action can be used ONLY IF backup_by_user=true.

So, backup_by_user instead of backup_mode.

Besides, for backup_frequency=user_action, you will also need to have provided a user identification method (as written in the comment of the property backup_by_user): see user_identifier.

gmantele commented 6 years ago

This is fixed in the documentation. It is going to be online very soon.