Skip to content

Commit

Permalink
Added function not implemented error in troubleshooting guide (#2405)
Browse files Browse the repository at this point in the history
* Added function not implemented errors in troubleshooting guide

More details of the issue is at #2386.

* Update troubleshooting.md

* Update troubleshooting.md
  • Loading branch information
gargnitingoogle authored Aug 28, 2024
1 parent 1eb339c commit 9c18e72
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion docs/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,5 @@ discusses potential solutions to the same.
| Experiencing hang while executing `ls` on a directory containing large number of files/directories. | By default `ls` does listing but sometimes additionaly does `stat` for each list entry. Additional stat on each entry slows down the entire `ls` operation and may look like hang, but in reality is iterating one by one and slow. There are two ways to overcome this: <ul><li>**Get rid of `stat`:** Execute without coloring `ls --color=never` or `\ls` to remove the stat part of `ls`.</li> <li>**Improve the `stat` lookup time:** increase the metadata ([stat](https://cloud.google.com/storage/docs/gcsfuse-cache#stat-cache-overview) + [type](https://cloud.google.com/storage/docs/gcsfuse-cache#type-cache-overview)) cache ttl/capacity which is populated as part of listing and makes the `stat` lookup faster. Important to note here, `ls` will be faster from the first execution itself as cache is populated in listing phase, leading to quicker stat lookup for each entry.</li></ul> |
| GCSFuse Errors on Google Cloud Console Metrics Dashboard: `CANCELLED ReadObject` & `NOT_FOUND GetObjectMetadata` | Both these errors are expected and part of GCSFuse standard operating procedure. More details [here](https://github.com/GoogleCloudPlatform/gcsfuse/discussions/2300). |
| GCSFuse logs showing errors for StatObject: `StatObject(\"<object_name>") (<time>ms): gcs.NotFoundError: storage: object doesn't exist"` | This is an expected error. Please refer to **NOT_FOUND GetObjectMetadata** section [here](https://github.com/GoogleCloudPlatform/gcsfuse/discussions/2300#discussioncomment-10261838). |
| Empty directory doesn't obey `--kernel-list-cache-ttl-secs` ttl. | In case a new file is added to the empty directory remotely, outside of the mount, the client will not be able to see the new file in listing even if ttl is expired.<br></br>Please don't use kernel-list-cache for multi node/mount-point file create scenario, this is recommended to be used only for read only workloads, e.g. for Serving and Training workloads. Or you need to create a new file/directory from the mount to see the newly added remote files. |
| Empty directory doesn't obey `--kernel-list-cache-ttl-secs` ttl. | In case a new file is added to the empty directory remotely, outside of the mount, the client will not be able to see the new file in listing even if ttl is expired.<br></br>Please don't use kernel-list-cache for multi node/mount-point file create scenario, this is recommended to be used only for read only workloads, e.g. for Serving and Training workloads. Or you need to create a new file/directory from the mount to see the newly added remote files. |
| `fuse: *fuseops.FallocateOp error: function not implemented`. Or other similar `function not implemented` errors. | This is an expected error for file operations unsupported in FUSE file system (details [here](https://github.com/GoogleCloudPlatform/gcsfuse/discussions/2386#discussioncomment-10417635)). |

0 comments on commit 9c18e72

Please sign in to comment.