Skip to content

Releases

v2.6.1-blacksmith.18

Choose a tag to compare

@devin-ai-integration devin-ai-integration released this 02 Nov 16:26
5ebdb31

patchset 5ebdb31: census eviction classification by access state (#71), access-state persistence across restarts (#72), bounded GracefulStop (#73)

v2.6.1-blacksmith.17

Choose a tag to compare

@devin-ai-integration devin-ai-integration released this 02 Nov 16:00
cb17841

patchset @ cb17841: #71 eviction classification by access state; #72 persist index read history across restarts (access-state.v1).

v2.6.1-blacksmith.16

Choose a tag to compare

@devin-ai-integration devin-ai-integration released this 01 Nov 01:31
e23cc52

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

Choose a tag to compare

@devin-ai-integration devin-ai-integration released this 27 Oct 13:28
f3ea996

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

Choose a tag to compare

@rcooney-sh rcooney-sh released this 27 Oct 01:34
b1f4c44

Do not use. The release build failed because server/BUILD.bazel doesn't list grpc_recovery.go, so no binaries are attached. The fix is #67 and will ship as v2.6.1-blacksmith.15.

Cut from patchset head b1f4c44 (#65).

v2.6.1-blacksmith.13

Choose a tag to compare

@shreyas-blacksmith shreyas-blacksmith released this 21 Oct 17:41
3494b19

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

Choose a tag to compare

@devin-ai-integration devin-ai-integration released this 19 Oct 17:40
12b9aac

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_WRITES gates concurrent CAS writes (excess sheds RESOURCE_EXHAUSTED, which Bazel retries); BAZEL_REMOTE_GRPC_WINDOW_BYTES pins 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_uploads are gone. A .12 binary 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

Choose a tag to compare

@shreyas-blacksmith shreyas-blacksmith released this 23 Sep 19:24
daa319d

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

Choose a tag to compare

@shreyas-blacksmith shreyas-blacksmith released this 21 Sep 00:25
8dbc7da

Patchset release: adds entry-count twins for the eviction age metrics (evicted_entries_by_age, evicted_never_read_entries) powering the item-count staleness histograms on the Bazel L1 dashboard. No behavior changes; metrics only. Source: patchset @ 8dbc7da (#49).

v2.6.1-blacksmith.9

Choose a tag to compare

@shreyas-blacksmith shreyas-blacksmith released this 18 Sep 15:40
49e3da3

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).