Repository navigation
Releases: SiaFoundation/hostd
Release list
v2.11.0
Features
Index unreferenced sectors for pruning
Sectors now track how many contract and temp storage references they have, and
a location holds a lock while a sector is being written to it. The prune sweep
reads unreferenced sectors from an index instead of scanning every stored
sector, which on a 100 TiB host held the database for about six seconds every
five minutes. The last access timestamp is removed. The upgrade computes the
counts for existing sectors and rewrites the sector table, which takes about a
minute at that size.
Fixes
- Allow concurrent database reads
- Fix high CPU usage during sector pruning
- Sector migration no longer holds the database lock while copying data
- Removed the in-memory sector cache, the sectorCacheSize setting is now ignored
- Reverted back to encoding/json from sonic.
- The UI now requires all prices or none to be pinned
- Update go.sia.tech/coreutils to v0.24.1
Fix the merkle cache bloating the stored sectors table
The cache kept 32 KiB of subtree roots inline on every sector row, which slowed
sector reads, pruning and contract root lookups. Cached roots are discarded on
upgrade and rebuilt on the next read.
This database migration will take a long time on large hosts. Plan accordingly.
Release cached sector roots of resolved and rejected contracts
Fixes a memory leak where the in-memory sector root cache kept the roots of every resolved, renewed, and rejected contract for the lifetime of the process.
v2.11.0-beta.2
Features
Index unreferenced sectors for pruning
Sectors now track how many contract and temp storage references they have, and
a location holds a lock while a sector is being written to it. The prune sweep
reads unreferenced sectors from an index instead of scanning every stored
sector, which on a 100 TiB host held the database for about six seconds every
five minutes. The last access timestamp is removed. The upgrade computes the
counts for existing sectors and rewrites the sector table, which takes about a
minute at that size.
Fixes
- Allow concurrent database reads
- Fix high CPU usage during sector pruning
- Sector migration no longer holds the database lock while copying data
- Removed the in-memory sector cache, the sectorCacheSize setting is now ignored
- Reverted back to encoding/json from sonic.
- The UI now requires all prices or none to be pinned
- Update go.sia.tech/coreutils to v0.24.1
Fix the merkle cache bloating the stored sectors table
The cache kept 32 KiB of subtree roots inline on every sector row, which slowed
sector reads, pruning and contract root lookups. Cached roots are discarded on
upgrade and rebuilt on the next read.
This database migration will take a long time on large hosts. Plan accordingly.
Release cached sector roots of resolved and rejected contracts
Fixes a memory leak where the in-memory sector root cache kept the roots of every resolved, renewed, and rejected contract for the lifetime of the process.
v2.11.0-beta.1
Features
Index unreferenced sectors for pruning
Sectors now track how many contract and temp storage references they have, and
a location holds a lock while a sector is being written to it. The prune sweep
reads unreferenced sectors from an index instead of scanning every stored
sector, which on a 100 TiB host held the database for about six seconds every
five minutes. The last access timestamp is removed. The upgrade computes the
counts for existing sectors and rewrites the sector table, which takes about a
minute at that size.
Fixes
- Allow concurrent database reads
- Fix high CPU usage during sector pruning
- Sector migration no longer holds the database lock while copying data
- Removed the in-memory sector cache, the sectorCacheSize setting is now ignored
- Reverted back to encoding/json from sonic.
- Update go.sia.tech/coreutils to v0.24.1
Fix the merkle cache bloating the stored sectors table
The cache kept 32 KiB of subtree roots inline on every sector row, which slowed
sector reads, pruning and contract root lookups. Cached roots are discarded on
upgrade and rebuilt on the next read.
v2.10.3
Fixes
- Fix deleting hosted data at the end of a contract blocking downloading
Fix volume usage accounting going negative
Fixed two paths that could leave a volume's used_sectors counter below the
number of sectors actually stored in it. Once the counter went negative the
background sector pruner panicked, which exited the daemon without writing
anything to the log and recurred on every restart.
Also fixed hostd recalculate skipping volumes that have no sectors left,
which meant it could report success without repairing a volume whose rows had
all been deleted by an interrupted removal.
Hosts already affected have their counters repaired automatically by a database
migration on the next startup.
v2.10.2
v2.10.1
v2.10.0
Features
- Added detection of corrupt sectors on read and alert to surface it.
Fixes
- Generate alert when we can't write to host system
Repair v2 contracts stuck "active" after renewal.
Adds a database migration that corrects v2 contracts whose renewal landed in the same block as a revision and was therefore never recorded against the parent. Affected contracts are flipped from active to renewed, their resolution index is populated from the renewed contract's confirmation index, and contract count, sector, revenue and collateral metrics are recalculated. Existing deployments no longer need a chain rescan to clear the stuck rows reported in #912.
v2.9.1-beta.1
Fixes
- Generate alert when we can't write to host system
Repair v2 contracts stuck "active" after renewal.
Adds a database migration that corrects v2 contracts whose renewal landed in the same block as a revision and was therefore never recorded against the parent. Affected contracts are flipped from active to renewed, their resolution index is populated from the renewed contract's confirmation index, and contract count, sector, revenue and collateral metrics are recalculated. Existing deployments no longer need a chain rescan to clear the stuck rows reported in #912.
v2.9.0
Features
- Add support for RHP4 account pools.
Fixes
- Suppress irrelevant errors until host is announced
Apply syncer rate limits to inbound peer connections.
The syncerIngressLimit and syncerEgressLimit settings now correctly throttle inbound peer connections in addition to outbound ones.
v2.9.0-beta.1
Features
- Add support for RHP4 account pools.
Fixes
- Suppress irrelevant errors until host is announced
Apply syncer rate limits to inbound peer connections.
The syncerIngressLimit and syncerEgressLimit settings now correctly throttle inbound peer connections in addition to outbound ones.