Repository navigation
Conversation
Contributor
Jellyfin API (v 12.0.0)ResultNo differences. Specifications are equivalent |
|
@Shadowghost Would this be merged to the next unstable build for testing? (Sorry not fully understanding the github work flows) Looking forward! |
Contributor
Author
|
No, this would go into the next patch release of 12.x. If you want to test beforehand, you'd need to build from source |
This comment was marked as low quality.
This comment was marked as low quality.
Member
|
Should also make this change to MusicAlbum |
|
crobibero
approved these changes
Sep 11, 2026
theguymadmax
approved these changes
Sep 14, 2026
joshuaboniface
pushed a commit
that referenced
this pull request
Sep 15, 2026
Release a folder's children once its subtree has been scanned Original-merge: 2f2adae Merged-by: crobibero <cody@robibe.ro> Backported-by: Cody Robibero <cody@robibe.ro>
dux-nine
added a commit
to Start9Labs/advisories
that referenced
this pull request
Sep 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Folder.Childrenis a cache on the instance, and a folder instance stays reachable from the root folder the library manager holds for the lifetime of the process. Every existingChildren = nullinvalidates before a read but nothing dropped the cache once a folder was done with.This is an issue because a recursive scan touches every level, so the validate phase ended up holding the
whole item graph of the library at once.
A retained item also pinned its EF entity graph:
BaseItemMapperhanded the domain item the entity's own user data collection, whose rows point back at theBaseItemEntitythroughUserData.Itemand at theUserthroughUserData.User. Nothing reads those navigations off a domain item.Measured on the same library and scan: live heap 107 MB at 25%, 87 MB at 46% and 156 MB at 71% flat with
BaseItemEntitydown from 11,083 to 1 and peak RSS from 5.78 GB to 4.32 GB.Changes
ReleaseCachedChildrendrops what a folder has materialised, and what the folders below it hold, without loading anything that is not already in memory.Code assistance
Claude Opus 5 was used to benchmark different solutions on my prod dataset.
Issues
Fixes #17860