Skip to content

Commit

Permalink
Adding docs about possible future issues with Harvest Client timer. R…
Browse files Browse the repository at this point in the history
…elates to IQSS#5345.
  • Loading branch information
poikilotherm committed Dec 18, 2018
1 parent 78ab470 commit 72e9076
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 3 deletions.
7 changes: 7 additions & 0 deletions doc/sphinx-guides/source/admin/harvestclients.rst
Expand Up @@ -22,6 +22,13 @@ Clients are managed on the "Harvesting Clients" page accessible via the :doc:`da

The process of creating a new, or editing an existing client, is largely self-explanatory. It is split into logical steps, in a way that allows the user to go back and correct the entries made earlier. The process is interactive and guidance text is provided. For example, the user is required to enter the URL of the remote OAI server. When they click *Next*, the application will try to establish a connection to the server in order to verify that it is working, and to obtain the information about the sets of metadata records and the metadata formats it supports. The choices offered to the user on the next page will be based on this extra information. If the application fails to establish a connection to the remote archive at the address specified, or if an invalid response is received, the user is given an opportunity to check and correct the URL they entered.

Known issues
~~~~~~~~~~~~
When running harvest clients, you should validate from the logs if all of your harvesters complete their job.
"Trouble" and incomplete harvests might await you, when your harvests take longer than one hour or stack up when grouped
at start times lying just an hour or two away from each other. If you suffer from this, please open an issue referencing
the :doc:`../developers/timers` part of the docs.

New in Dataverse 4, vs. DVN 3
-----------------------------

Expand Down
7 changes: 6 additions & 1 deletion doc/sphinx-guides/source/admin/timers.rst
Expand Up @@ -58,6 +58,11 @@ recommendation or not. In new installations, this will not be necessary.
Known Issues
------------

Former to Dataverse 4.10, we've received several reports of an intermittent issue where the application fails to deploy
Prior to Dataverse 4.10, we've received several reports of an intermittent issue where the application fails to deploy
with the error message "EJB Timer Service is not available." Please see the :doc:`/admin/troubleshooting` section of
this guide for a workaround.

When running harvest clients, you should validate from the logs if all of your harvesters complete their job. "Trouble"
and incomplete harvests might await you, when your harvests take longer than one hour or stack up when grouped at start
times lying just an hour or two away from each other. If you suffer from this, please open an issue referencing the
:doc:`../developers/timers` part of the docs.
9 changes: 7 additions & 2 deletions doc/sphinx-guides/source/developers/timers.rst
Expand Up @@ -8,8 +8,13 @@ techniques used for scheduling.
* :doc:`../admin/metadataexport` is done via ``@Schedule`` annotation on ``OAISetServiceBean.exportAllSets()`` and
``DatasetServiceBean.exportAll()``. Fixed to 2AM local time every day, non persistent.
* Harvesting is a bit more complicated. The timer is attached to ``HarvesterServiceBean.harvestEnabled()`` via
``@Schedule`` annotation every hour at minute 50, non-persistent.
That method collects all enabled ``HarvestingClient`` and runs them.
``@Schedule`` annotation every hour, non-persistent.
That method collects all enabled ``HarvestingClient`` and runs them if time from client config matches.

**NOTE:** the timers for Harvesting might cause trouble, when harvesting takes longer than one hour or multiple
harvests configured for the same starting hour stack up. There is a lock in place to prevent "bad things", but that
might result in lost harvest. If this really causes trouble in the future, the code should be refactored to use either
a proper task scheduler, JBatch API or asynchronous execution. A *TODO* message has been left in the code.

.. contents:: |toctitle|
:local:
Expand Down

0 comments on commit 72e9076

Please sign in to comment.