Features:
- Rapid Buckets Read Performance Improvement: Introduced a new read path for Rapid buckets that optimizes performance by leveraging the read ahead algorithm implemented by kernel which is optimised over the years.
- Configuration Requirements: To use the new reader, we require a few configuration changes on the machines. These configuration changes are fully managed in the GKE environment. On non-GKE environments, GCSFuse requires sudo permissions or users must manually configure
read_ahead_kb,max_background, andcongestion_threshold. Default config values:
* read_ahead_kb: 16384
* max_background: min(max(12, 2*numCPU), 192)
* congestion_threshold: (3 * max_background)/4
* Manual configuration of these settings is shown below using a c4-standard-192 instance:
export MOUNT_POINT=<mount path>
echo 16384 | sudo tee /sys/class/bdi/0:$(stat -c "%d" $MOUNT_POINT)/read_ahead_kb
echo 192 | sudo tee /sys/class/bdi/0:$(stat -c "%d" $MOUNT_POINT)/max_background
echo 144 | sudo tee /sys/class/bdi/0:$(stat -c "%d" $MOUNT_POINT)/congestion_threshold
- Limitations :
1. File Cache compatibility: This read path is incompatible with File Cache. To use File Cache, users must explicitly setenable-kernel-readertofalseduring mounting; otherwise, the cache will remain inactive.
2. Dynamic Mounts: The new read path is not automatically exercised when using dynamic mounting.
Bug fixes & Improvements:
-
Improved handling of errors encountered while deleting objects in non-atomic rename flow(Applicable on non-HNS buckets). GCS Fuse handles the metadata eviction and file cache updation automatically corresponding to deleted objects and there is no action required from the customer.
Dependency Upgrades / CVE fixes
- Go SDK upgrade from v1.59.1 to 1.59.2