API Gateway 10.15 | Administering API Gateway | Operating API Gateway | Data Management | Data Backup | Troubleshooting Tips: API Data Store Backup
 
Troubleshooting Tips: API Data Store Backup
I see an error while executing apigatewayUtil.bat create backup command
The apigatewayUtil.bat create backup command fails to execute with the following BeanCreationException error:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'elasticSearchClient' defined in URL file:E:/ESB/WM/IntegrationServer/instances/default/packages/WmAPIGateway/config/resources/beans/gateway-es-store.xml : Invocation of init method failed; nested exception is No NodeAvailableException[None of the configured nodes are available: [
Resolution:
Ensure that you have provided a valid elasticsearch hostname and port number in the config.properties file located at SAGInstallDir\IntegrationServer\instances\default\​packages\WmAPIGateway\config\resources\elasticsearch.
When the Elasticsearch is clustered, I am unable to backup the API Gateway database
When I attempt to backup the API Gateway database with the following commands, they fail:
*apigatewayUtil.bat create backup
*apigatewayUtil.bat status backup
*apigatewayUtil.bat list backup
*apigatewayUtil.bat list manageRepo
This is because of the path.repo specified in the elasticsearch.yml. The path.repo was pointing to a local file instead of a shared file location.
Resolution:
In the Elasticsearch cluster environment, it is mandatory to specify a shared file location as path.repo in the elasticsearch.yml located at SAGInstallDir\InternalDataStore\config.
Error occurs when I access the backup repository
When I access the backup repository after some configuration changes, I see the following error message:
Error While getting all snapshots or repository - default.Message-[default] could not read repository data from index blb.
In such scenarios, you can delete the repository and create a fresh one to store your backup files by following the steps given in Resolution 1. Or, you can move the existing backup files to a new repository by following the steps in Resolution 2 .
Resolution 1:
To delete the problematic repository and create a new one
*Run the following command to delete the repository.
Linux
./apigatewayUtil.sh delete manageRepo -repoName repository_name
Windows
apigatewayUtil.bat delete manageRepo -repoName repository_name
Example :
apigatewayUtil.bat delete manageRepo -repoName myrepo
The repository is deleted.
*Create a new backup repository. For details on the commands see Creating Backup of specific Indexes.
You can now store your backup in a new repository.
Resolution 2:
To move the backup files to another repository
*Stop API Data Store.
*Create a new repository to move the required backup files.
*Copy the backup to the new repository (file system copying).
*Start API Data Store.
*Verify if the backup was created. For details on the command see Verifying Backup Status.
When I modify a Network File System repository, how do I ensure that all Internal Data Store yaml files are updated without corrupting the repository
In such scenarios, you can copy the existing backup file to the new repository or if you do no need the backup file you can delete the backup file in the existing repository.
Resolution 1:
To copy the backup file to the new repository
*Stop API Data Store.
*Copy all the exsisting backup files to a new repository(file system copy).
*Start API Data Store.
Note:
Software AG recommends not to run any command before copying the old backup.
Resolution 2:
To delete the backup file in the existing repository
*Stop API Data Store.
*Delete all old repository.
Linux
./apigatewayUtil.sh delete manageRepo -repoName repository_name
Windows
apigatewayUtil.bat delete manageRepo -repoName repository_name
Example :
apigatewayUtil.bat delete manageRepo -repoName myrepo
The repository is deleted.
*Start API Data Store.