Repository navigation
Releases
v2.6.1-blacksmith.18
v2.6.1-blacksmith.17
v2.6.1-blacksmith.16
cache/disk: census splits resident and evicted bytes by object class and records action wall time on AC hits and writes (#69). Additive census JSON fields (by_class, acby_bucket, ac*_no_metadata); ClickHouse columns land with useblacksmith/web#20536, inserts use input_format_skip_unknown_fields so either side can ship first.
v2.6.1-blacksmith.15
Rebuild of the (asset-less) .14 from the current patchset head f3ea996.
- #65 server: bump klauspost/compress to v1.20.2 and recover handler panics so a crafted zstd upload can't exit the process
- #66 server: recover panics in the ByteStream Write put goroutine so a decoder panic fails one write, not the process
- #67 server: list grpc_recovery.go and the new tests in server/BUILD.bazel (the .14 release build failed without them)
v2.6.1-blacksmith.14
v2.6.1-blacksmith.13
Cut from patchset head 3494b19 (#60).
Changed
- Every build tool skips MinIO once the disconnect is on. A non-empty disconnect list no longer skips only the named tools. Named tools keep their reason labels. Any other tool counts as tool_disconnect. A request with no build-tool identity still reads the backend.
- Gzip and zstd identity uploads are stored once. A blob that already starts with a gzip member or a zstd frame is written as an identity casblob. Plain blobs are still zstd-compressed at rest. A read returns the original bytes.
v2.6.1-blacksmith.12
Cut from patchset head 12b9aac (#53 + #54 + #55). cgo zstd build (libzstd), same as the -9/-22 canaries.
Changed
- Bounded in-flight CAS writes and per-stream gRPC buffering (#53):
BAZEL_REMOTE_MAX_INFLIGHT_CAS_WRITESgates concurrent CAS writes (excess shedsRESOURCE_EXHAUSTED, which Bazel retries);BAZEL_REMOTE_GRPC_WINDOW_BYTESpins the stream window so transport buffering stops scaling with in-flight writes. - Client-compressed (zstd) CAS uploads are stored as received and verified in the background (#54): no inline decode on the write path. Verifier backlog is capped (fallback to inline verify beyond it,
bazel_remote_verbatim_zstd_fallback_total). Blobs still pending verification keep the in-progress (setgid) marker and are deleted by the boot scan after a restart (bazel_remote_disk_cache_incomplete_files_removed_total). - Proxy write-through removed (#55): proxy backends are read-only;
--num_uploaders/--max_queued_uploadsare gone. A.12binary refuses to start against an env file that still passes them — render FastActions/fa#6544's env first.
Metrics
bazel_remote_verbatim_zstd_puts_total, bazel_remote_verbatim_zstd_verify_total{result}, bazel_remote_verbatim_zstd_verify_pending, bazel_remote_verbatim_zstd_fallback_total{reason}, bazel_remote_disk_cache_incomplete_files_removed_total.
v2.6.1-blacksmith.11
Generalizes the S3 backend disconnect from a go-only boolean to a set of build tools (#50), so tools can be cut off MinIO one at a time rather than all-or-Go.
New
BAZEL_REMOTE_BACKEND_DISCONNECT_TOOLS — comma-separated build tool IDs (go,turbo,bazel,buck2,pants). Listed tools bypass the S3 backend entirely: reads answer clean misses, write-through Puts and that tool's LRU artifacts are dropped before the queue. Threaded to every backend, so it applies in both single-backend and map mode.
Skips are counted as bazel_remote_s3_backend_lookups_skipped_total{reason="<tool>_disconnect"} and the matching uploads-skipped series.
Compatibility
BAZEL_REMOTE_GO_BACKEND_DISCONNECT=1 still works and unions with the new list — it does not override and is not overridden. The binary and the rendered env file roll independently, so a node that re-renders before its binary reaches .11 keeps its Go cut rather than silently resuming writes to MinIO. Go's reason label is unchanged (go_disconnect), and a test pins that literal so existing dashboards and alerts keep working.
Safe to drop the legacy variable once every node is past .11.
v2.6.1-blacksmith.10
v2.6.1-blacksmith.9
Go backend disconnect (#47): BAZEL_REMOTE_GO_BACKEND_DISCONNECT=1 makes every Go-namespace request bypass the S3 backend entirely - reads answer clean misses, write-through Puts and go-tenant LRU artifacts drop before the queue, all counted on the go_disconnect skip counters for cut verification. Dark by default; the one-region canary toggle per agent/docs/go-l1-minio-disconnect.md. MinIO's existing go bytes are untouched (rollback warm store).