-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature Request] Support fs health check monitor on Azure Blob Storage / S3 #16743
Comments
Here is what the health check does: https://github.com/opensearch-project/OpenSearch/blob/2.x/server/src/main/java/org/opensearch/monitor/fs/FsHealthService.java#L223-L229 tl;dr: create a file, write a byte, fsync, close file, delete file This is all pretty straightforward stuff using the Java NIO API. I would expect anything that is acting as a filesystem to need to work for these APIs. @audunsolemdal It looks like your stack trace is pointing to a failure when attempting to close the |
I am not sure why it fails on that step, but there are some limitations in Azure blob storage compared to a full fledged file system. I am mounting a Kubernetes Persistent Volume via the Azure Blob Storage CSI driver, which is based on Blobfuse2 https://github.com/Azure/azure-storage-fuse?tab=readme-ov-file#un-supported-file-system-operations So far I have not noticed any issues using this apart from the health check. |
I'm not sure if this is actionable for us at the moment. I think we'd need more specific details about the failure you're seeing and how we could accommodate it. It's really odd that these simple operations would fail but he actual usage of the file system by OpenSearch (which surely includes creating, writing, flushing, and deleting files) would succeed. I might suggest writing a super simple Java program that mimics our health check to see if you can isolate the failure in a more controlled environment. @audunsolemdal what do you think? |
Is your feature request related to a problem? Please describe
Currently I running the opensearch helm chart on kubernetes
monitor.fs.health.enabled = true
My node uses azure blob storage as the backend which seems to work fine, but the fs health check seems to fail
[ERROR][o.o.m.f.FsHealthService ] [datalev-opensearch-master-0] health check of [/usr/share/opensearch/data/nodes/0] failed
Describe the solution you'd like
Ideally a health check which works on azure blob storage / Amazon S3 storage.
Related component
Other
Describe alternatives you've considered
Current workaround is setting
monitor.fs.health.enabled = false
Additional context
Error log
The text was updated successfully, but these errors were encountered: