Repository navigation
Keep a pinned version's resolution for the life of the process - #177
Conversation
A published version never changes, yet GetMetadataAsync re-read it from storage every AdapterMetadataCacheDuration, like a current package that can move. A host whose adapters are all pinned (Traxis Gateway since 2026-10-18) made a storage round trip per adapter every five minutes for nothing. Only plain ids now expire.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📜 Recent review details
📝 Summary
Merge Risk: ⚪ Minimal · up to
|
AdapterInstaller.GetMetadataAsynccached every resolution forAdapterMetadataCacheDuration(5 min), including pinned refs ({id}/{version}). A published version never changes, so re-reading it is a storage round trip for nothing.PinnedMetadataCacheTestspublishes a current package and a version, rewrites both, and advances the cache clock past the duration. The current package is read again; the pinned version keeps its first resolution. It fails without the change.SW.Serverless.Installer.UnitTests137/137.docs/hosting.mdupdated (the option's description).Folder pruning needs no change: the installer's owner marker holds the full ref, so versions never prune each other, and old version folders go with the pod.