github pgsty/silo RELEASE.2026-11-09T00-00-00Z
SILO 20261109

one hour ago

SILO Server 20261109 is a maintenance release after 20261026, built from d998292387ccf1d2907749e0fb1575ef5fb93fda with Go 1.27.3, embedded Console 2.7.0, mcli 20261109 and silo-pkg 3.16.0. Package version: 20261109000000.0.0.

Changes

  • Reconcile lifecycle decisions, version history, Object Lock and remote-tier ownership across pools; protect shared tier data and clean up only the intended restored copy or exact key.
  • Stage native restores without holding an object write lock throughout download; validate ownership before publication and bound synchronous cancellation cleanup before background recovery.
  • Enforce Object Lock during S3 bulk version deletion, including directory null versions and protection held by another pool. Replicated deletion obeys destination retention and legal hold.
  • Bind batch execution to the authenticated submitter's current permissions; pause on unavailable authorization dependencies, retry discovery and preserve completed jobs.
  • Align single-pool object locks, fix CopyObject lock ordering and evaluate multipart initiation conditions against the current object.
  • Update persisted IAM edits, long-DN LDAP login, embedded Console login with LDAP, webhook reloads, partial-view reads and healing behavior.
  • Ship Windows ZIP archives, six Linux packages, standard and distroless multi-architecture images, SBOMs and workflow provenance. RPMs are GPG-signed before final package checksums and attestations are regenerated.

Upgrade requirements and costs

  1. Stop batch submissions and drain or cancel unfinished jobs before changing versions. Resubmit unfinished legacy jobs after all nodes upgrade. New submitter-bound manifests and reports cannot be resumed by 20261026; do not downgrade with pending or paused new jobs. Batch upgrade checklist.
  2. A single pool whose erasure sets do not all occupy the same host set requires a drained restart, rather than mixed old/new lock domains. Pause new restores during mixed-version operation: upgraded nodes return 503 while any peer is old or unreachable. Full multi-pool protection requires every serving node to upgrade.
  3. ready and cluster do not independently prove that a restarted node can serve S3. Perform bounded signed writes and readback through every node before resuming applications, preserving peer discovery during bootstrap. Healthcheck contract.
  4. With helm upgrade --reuse-values, explicitly set image.tag=RELEASE.2026-11-09T00-00-00Z.

Physical version removal in Object Lock buckets now checks each item under its mutation lock. This intentionally increases large-batch deletion latency; a bounded Linux ARM64 two-pool check measured about 202→310ms per 1,000 removable versions. Ordinary buckets and delete-marker creation keep the bulk path. Local disk timings varied materially even when testing the same binary against itself; these tests are not production capacity or tail-latency guarantees.

Known limits remain in multipart listing (#79), multi-site delete-marker purge (#217), replayed bucket creation (#241), and tag-only authorization (#293). ILM-created deletions are not replicated. The pinned upstream SDK can drop multipart-completion conditions, so mcli put --if-not-exists does not provide an uninterrupted multipart no-overwrite guarantee. Existing distributed fencing and recovery boundaries remain unchanged.

Full changelog · Go CI · VulnCheck · Release pipeline validation

简体中文

SILO Server 20261109 汇集了 20261026 之后的维护修复,内嵌 Console 2.7.0、mcli 20261109 与 silo-pkg 3.16.0,使用 Go 1.27.3 构建,包版本为 20261109000000.0.0。

本版重点修复多池生命周期与远端分层清理、两阶段原生恢复、S3 批量版本删除的 Object Lock 保护、批处理持续授权、单池锁域和 CopyObject 锁顺序,以及 IAM、LDAP、Webhook 和读取/自愈行为。对象锁批量清除逐项持锁检查,安全性提升伴随批量删除延迟增加;普通桶和删除标记创建保留批量路径。

升级前必须停交并排空/取消未完成 batch 作业,保存定义,全部升级后重交旧任务。新格式作业不能由 20261026 续跑,仍有新任务未完成时不要降级。跨主机 set 布局的单池按文档排空重启;混合版本期间暂停 restore,完整多池保护需要所有服务节点升级。重启后用逐节点签名 PUT/GET 验证数据路径,不能仅依赖 ready 或 cluster。Helm 使用 --reuse-values 时显式设置服务端镜像标签。

精确发布源码已通过完整 Go/race、漏洞扫描、平台打包及标准/distroless 镜像门禁;本地完成双池、四节点、单节点故障、API/客户端交叉、混合升级和已测对象/IAM 回退验收。性能测试保留了同一二进制自身也会出现的大幅磁盘波动,不将有界虚拟机结果作为生产性能或长期稳定性承诺。已知问题和升级代价详见完整 CHANGELOG。

批处理升级清单 · 健康检查与数据就绪

Don't miss a new silo release

NewReleases is sending notifications on new releases.