This error is usually seen at systems were the catalogue is stored on a mounted drive.
By default the catalogue stores its data in a subfolder of the root folder of the archive.
If the root folder is configured as /opt/fews/ the catalogue data will be stored in /opt/fews/catalogue.
Usually this is a folder on a mounted drive. If the connection between the mounted drive and archive server fails to often this might result in "all shards failed errors"
This can be resolved in the following way:
Solution 1:
- stop the archive server,
- remove the catalogue folder (root folder/catalogue)
- start the archive server,
- start the clean catalogue task,
- rebuild the archive build by running the harvester,
This will usually resolve the errors, but if the connection between the mounted drive and the archive is still too unreliable the errors will return.
If that is the case, it is better to apply solution 2.
Solution 2:
By default the catalogue data is stored in the sub folder catalogue of the root folder of the archive.
But it is also possible to define a custom location for the catalogue data.
Below an configuration example (archiveServerConfig.xml) is shown.
<arc:archiveServer xmlns:arc="http://www.wldelft.nl/fews/archive" xsi:schemaLocation="http://www.wldelft.nl/fews/archive http://fews.wldelft.nl/schemas//version1.0/archive-schemas/archiveServer.xsd" xmlns="http://www.wldelft.nl/fews/archive" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <archiveEnvironmentName>My environment</archiveEnvironmentName> <catalogueIndexFolder>d:\archive\cataloguefolder</catalogueIndexFolder> <arc:baseUrlFileServer>http://localhost:8080/thredds/fileServer/Archive</arc:baseUrlFileServer> <arc:baseUrlArchiveRootFolder>file:///d:\fews\archive</arc:baseUrlArchiveRootFolder> </arc:archiveServer>
The tag catalogueIndexFolder can be used to configure a custom location for storing the archive data.
If the all shards failed error occur too often it is better to store the catalogue data at a local disk.
By using the option catalogueIndexFolder a custom folder at a local disk can be configured.
The following steps are required to apply solution 2:
- stop the archive server,
- remove the old catalogue folder (root folder/catalogue),
- configure a custom (local) location for the catalogue folder,
- create the folder which is configured in the archiveServerConfig.xml and check that the user which runs the archive server has read/write access to this folder,
- start the archive server,
- start the clean catalogue task,
- rebuild the archive build by running the harvester.