Skip to content

Gcsfuse v3.7.1

Choose a tag to compare

@gcsfuse-github-machine-user-bot gcsfuse-github-machine-user-bot released this 06 Feb 13:49
· 73 commits to master since this release

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, and congestion_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 & Buffered Reader compatibility: This read path is incompatible with File Cache & Buffered Reader. To use these features, users must explicitly set enable-kernel-reader to false during mounting; otherwise, these features will remain inactive.
      2. Dynamic Mounts: The new read path is not supported when using dynamic mounting.

Bug fixes & Improvements:

  • Improved the retry logic in new read path for Rapid Buckets

  • #3974

    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

Full Changelog: v3.6.0...v3.7.1