You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Breaking Changes
dev and local turn on history offload (#1407).dex-server-zd dev, dex-server-zd local, and dexcli dev now default history.offloadEnabled to true; serve keeps false. An existing dev or local data directory turns offload on at its next start, and its running runs migrate their history to segments. Once offload has been on, do not run an earlier release on that data directory, even after turning offload off again. To keep all history on local disk, set history.offloadEnabled: false in the overrides file (with dexcli dev, the --zd-config file) before the first start with this release.
Upgrade the standby and the active together. New log commands (time travel staging, value revival, local cleanup, segment object deletion) are unknown to older binaries, so a mixed pair halts. Stop both, upgrade both, then start.
GetHistoryEvents pages hold at most 1000 events (#1369) and return events only from the window start (#1396): events before the window start are reported in the pruned range instead of being returned.
While history offload is on, a LoadBlobs request names at most 1000 values (#1378). SDKs from 1.39.0 batch automatically (#1393).
server-zd v0.1.22
Features
History offload is complete (experimental). Run history is sealed into segments, uploaded to the primary object store under history/, read back for GetHistoryEvents, LoadBlobs, and time travel, and deleted from local disk after upload (#1369, #1372, #1376, #1378, #1379). Idle and closed runs clean up local history after the grace period, history.supersededValueGracePeriod (default 10 minutes) (#1405). Segments the window passed expire, and their objects are deleted one hour later when the per-run switch FlowConfig.delete_expired_history_objects is on (default on for dev and local) (#1381). A periodic sweep removes orphaned history/ objects.
Time travel is computed by the engine and staged for apply, so it works over history in object storage. A replay is bounded by history.timeTravelReplayMemoryBytes (default 1 GiB); the error names skip_writes_reapply and the setting (#1372, #1402).
History read cache: history.readCacheDirectory, history.readCacheMaxBytes (default 1 GiB), history.objectReadConcurrency (#1369).
New metrics: dexzd_history_reads_total, dexzd_history_value_revivals_total, dexzd_history_expired_objects_deleted_total, dexzd_history_orphan_objects_deleted_total, dexzd_history_upload_rescan_errors_total.
Fixes
Large values deleted from the Value column family now release their RocksDB blob files without a manual compaction (#1394).
An idle server now deletes log objects covered by an old enough snapshot (#1408).
History pages no longer show events at the window start whose values are already gone or that cannot be time-travelled to (#1396).
Upload backlog gauges are correct right after a restart (#1401).
A normal shutdown logs the registry halt at WARN instead of ERROR (#1402).