AIStore 4.8 is a small release focused on authorization correctness, rebalance stability, and ETL initialization.
It follows 4.7 by about four weeks and is 100% backward compatible.
The primary changes authorize every input bucket referenced by a get-batch request, harden global-rebalance preemption, and keep the 2PC transaction GC from aborting slow ETL initialization.
A get-batch (multi-object streaming) request can reference multiple input buckets.
This release adds per-bucket authorization for get-batch: each bucket in apc.MossReq is validated and authorized before the batch is served, with proxy-side parsing that mirrors the target's unmarshaling of apc.MossIn entries.
get-batch(aka Get-Batch) serves multiple objects and//or archived files in a single request, across one or more buckets, whether or not those buckets hold.tar,.tgz, or other serialized shards.
- 1b86b3601: get-batch: authorize all input buckets
- 4d0a8a6b8: get-batch: authorize all input buckets (part two)
- cf0b9e1e8: follow-up
- 417b04f03: get-batch: initialize input buckets before access check (fix nil-props panic)
- 8f7f1bb19: get-batch: skip the path bucket by bucket equality not pointer identity
Preemption of currently executing global rebalance now waits for the previous local instance to clear from its singleton manager, and stage/abort notifications are made defensive against async cleanup and sent with the originating rebalance ID.
Fixes #317.
- 4721ba634: global rebalance: preemption and stage notification
The 2PC transaction GC reclaimed begin-phase transactions after a flat 2 * max_host_busy timeout, which could abort a slow ETL init (pod creation plus readiness) mid-flight.
ETL init now honors init_timeout plus slack, and the GC warning threshold derives from the per-txn deadline.
- 524a2193d: etl: respect
init_timeoutin 2PC transaction GC for ETL initialization - ee96000e3: etl: refine begin-phase GC timeout (follow-up)
Fixes a race in CPU-utilization sampling by serializing concurrent samplers under lock.
- d35d3e007: sys/cpu: fix CPU sampling race
golang.org/x dependencies with known CVEs are updated to recent, patched releases: crypto v0.53.0, net v0.56.0, sys v0.46.0.
- eb59a3829: build: bump golang.org/x/{crypto,net,sys}