fuse: configurable MaxBackground from go-fuse, minor cleanups#222
Merged
Conversation
EdSchouten
reviewed
May 4, 2026
3fa2050 to
7dae9bd
Compare
EdSchouten
reviewed
May 13, 2026
Member
EdSchouten
left a comment
There was a problem hiding this comment.
Hi Aron,
LGTM, though I have a couple of tiny remarks. Let me know what you think!
Add a maximum_background field to FUSEMountConfiguration. When set, it caps the FUSE asynchronous request queue (FUSE_INIT max_background); when zero, go-fuse's default of 12 is used. The default of 12 suits bb_clientd, but is too low for bb_worker, where a single mount serves many concurrent actions and the kernel CongestionThreshold (max_background * 3/4) is reached almost as soon as multiple actions begin reading. Reads beyond the threshold queue in kernel D-state, which presents as the worker wedging while reporting actions as still executing. Recommended value for bb_worker is 1024.
Picks up commit d0c6f26 ("Forward termination signals to child process",
PR #332). Without that fix, processes running as PID 1 in containers
silently ignore SIGTERM and the kubelet has to fall back to SIGKILL
once the grace period expires. For bb_worker that means in-flight
actions are killed and the scheduler has to retry them on another worker.
Bumps both go.mod (gazelle's go_deps source) and the git_override
in MODULE.bazel that actually controls bzlmod resolution; they need
to stay in sync.
The @rules_proto//proto:defs.bzl source has been deprecated in favour of @protobuf//bazel:proto_library.bzl in newer protobuf module versions. This commit switches all proto_library load statements over.
7dae9bd to
69ad305
Compare
EdSchouten
approved these changes
May 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
expose maximum_background in FUSEMountConfiguration
Adds a
maximum_backgroundfield toFUSEMountConfiguration. When set, it caps the FUSE asynchronous request queue (FUSE_INITmax_background); when zero, go-fuse's default of 12 is used.The default of 12 suits
bb_clientd, but is too low forbb_worker, where a single mount serves many concurrent actions. The kernelCongestionThresholdismax_background * 3/4, and once it's reached, reads beyond it queue in D-state, visible as the worker wedging while continuing to report actions as executing.Our recommended value for
bb_workeris1024. Validated in production at Muon Space against full//...Rust builds.bump bb-storage to upstream/main HEAD
bb_workerthat means in-flight actions get killed and have to be re-executed elsewhere. Bumps bothgo.mod(gazelle'sgo_depssource) and thegit_overrideinMODULE.bazelthat controls bzlmod resolution.load proto_library from @protobuf//bazel
@rules_proto//proto:defs.bzlis deprecated in favour of@protobuf//bazel:proto_library.bzlin newerprotobufmodule versions. Same change across all 14pkg/proto/**/BUILD.bazelfiles.