We have latest Stardog installed on Microsoft Azure via Docker
We are facing the following error while creating a new database. Restarting the container seems to fix the problem for a while.
java.io.IOException: IO error: While fdatasync: /var/opt/stardog/data/006772.log: Resource temporarily unavailable
Any ideas ?
Thank you for your help.
Can you provide a few more details on how you have the docker instance setup?
Is this Azure App Service, and do you have Azure Storage mounted?
Yes, the Stardog docker image is launch via a Container Instance ( Serverless containers in Azure - Azure Container Instances | Microsoft Docs ) on which an Azure Storage is mounted
Unfortunately the Azure Container Instances use CIFS, a form of network file system, for the azure storage mount. This is known to have these types of issues, which if caught at certain areas during the persistence algorithms, will result in corruption. Even if it worked for a little while, these errors will keep coming up. Therefore, we can't support Stardog running in this configuration.
For Azure, we recommend that Stardog should be either run on a full virtual machine, or in the Azure Kubernetes Service (AKS). We do provide open source helm charts that work on both AKS and Amazon's EKS, with significant usage across our customer base on both platforms. If you'd like to explore the AKS route, our solution architect team can help provide AKS specific instructions. Note that our helm charts specify for a cluster, but you can also use them to run a single Stardog server. So if you have any existing AKS clusters, Stardog would be a simple helm install away from getting up and running there after adjusting the values file to disable cluster and run 1 node.
Thanks Albaker for this answer. We'll explore both AKS and VM solution and evaluate witch is the most effective.