Jellyfin removes ErsatzTV items during library scan (MTV Unplugged) #5

Closed
opened 2026-03-08 23:02:10 +01:00 by timothy · 2 comments
Owner

Migrated from timothy/server-management#213. Continuing from server-management#193.

Jellyfin removes ErsatzTV-sourced items (e.g. MTV Unplugged concert films in the music video library) during a library scan. Log evidence:

[23:20:48] [INF] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: Movie, Name: MTV Unplugged - Alanis Morissette (1999), Path: /data/music/MTV Unplugged/MTV Unplugged - Alanis Morissette (1999).mkv
[23:20:57] [INF] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: Movie, Name: MTV Unplugged - Alice in Chains (1996), ...
[23:20:57] [INF] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: Movie, Name: MTV Unplugged - Alicia Keys (2005), ...

Affects ~16 MTV Unplugged titles and likely other ErsatzTV-sourced items. Files exist on disk but Jellyfin removes them from the library index.

Needs investigation: is this a path/mount issue, a Jellyfin library config issue, or an ErsatzTV metadata problem?

Migrated from timothy/server-management#213. Continuing from server-management#193. Jellyfin removes ErsatzTV-sourced items (e.g. MTV Unplugged concert films in the music video library) during a library scan. Log evidence: ``` [23:20:48] [INF] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: Movie, Name: MTV Unplugged - Alanis Morissette (1999), Path: /data/music/MTV Unplugged/MTV Unplugged - Alanis Morissette (1999).mkv [23:20:57] [INF] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: Movie, Name: MTV Unplugged - Alice in Chains (1996), ... [23:20:57] [INF] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: Movie, Name: MTV Unplugged - Alicia Keys (2005), ... ``` Affects ~16 MTV Unplugged titles and likely other ErsatzTV-sourced items. Files exist on disk but Jellyfin removes them from the library index. Needs investigation: is this a path/mount issue, a Jellyfin library config issue, or an ErsatzTV metadata problem?
timothy added the bugjellyfinpriority: medium labels 2026-03-08 23:02:52 +01:00
Author
Owner

Triage — NOT an ErsatzTV code bug. Belongs in server-management.

Investigated live (read-only, on bumblebee).

Correction (per follow-up): the recent Removing item events for TV Shows under /data/tvshows (The Mandalorian, Anthony Bourdain, Homicide seasons, …) are expected — that content is being deliberately migrated off the Synology (/mnt/teramind, 192.168.1.69) onto the EqualLogic. Not a bug, unrelated to this issue. Removed from the reasoning below.

Current state (the actual #5 symptom): 15 MTV Unplugged .mkv files present on disk (/mnt/media/music_videos/MTV Unplugged/ — NFS 192.168.1.67, not the Synology being migrated), but Jellyfin indexes only 1 (Aerosmith). So ~14 are on-disk-but-unindexed.

Still not an ErsatzTV (this repo) code bug. ErsatzTV plays content from libraries; it has no write path into Jellyfin's library index, so it cannot add or remove Jellyfin items.

Most likely cause (Jellyfin/library domain, per server-management#193 history): these Unplugged items were never organically discovered by Jellyfin — they were manually DB-injected (forced Type=Movie, IsLocked=1, null TopParentId/ParentId repeatedly patched via direct SQL) in a CollectionType: mixed library. That arrangement is fragile across rescans and is the most probable reason they drop out of the index. The precise Jellyfin-side mechanism (orphaning vs. metadata-match vs. transient read during scan on the .67 mount) needs Jellyfin-domain investigation.

Recommendation: not ersatztv code → track in server-management (originally server-management#213). The durable fix is to stop relying on direct DB injection for these items — let Jellyfin discover/match them properly, or use a metadata strategy that survives rescans — which is server-management's domain.

## Triage — NOT an ErsatzTV code bug. Belongs in server-management. Investigated live (read-only, on bumblebee). **Correction (per follow-up):** the recent `Removing item` events for TV Shows under `/data/tvshows` (The Mandalorian, Anthony Bourdain, Homicide seasons, …) are **expected** — that content is being deliberately migrated off the Synology (`/mnt/teramind`, 192.168.1.69) onto the EqualLogic. Not a bug, unrelated to this issue. Removed from the reasoning below. **Current state (the actual #5 symptom):** 15 MTV Unplugged `.mkv` files present on disk (`/mnt/media/music_videos/MTV Unplugged/` — NFS 192.168.1.67, *not* the Synology being migrated), but Jellyfin indexes only **1** (Aerosmith). So ~14 are on-disk-but-unindexed. **Still not an ErsatzTV (this repo) code bug.** ErsatzTV plays content *from* libraries; it has no write path into Jellyfin's library index, so it cannot add or remove Jellyfin items. **Most likely cause (Jellyfin/library domain, per server-management#193 history):** these Unplugged items were never organically discovered by Jellyfin — they were **manually DB-injected** (forced `Type=Movie`, `IsLocked=1`, null `TopParentId/ParentId` repeatedly patched via direct SQL) in a `CollectionType: mixed` library. That arrangement is fragile across rescans and is the most probable reason they drop out of the index. The precise Jellyfin-side mechanism (orphaning vs. metadata-match vs. transient read during scan on the .67 mount) needs Jellyfin-domain investigation. **Recommendation:** not ersatztv code → track in **server-management** (originally server-management#213). The durable fix is to stop relying on direct DB injection for these items — let Jellyfin discover/match them properly, or use a metadata strategy that survives rescans — which is server-management's domain.
Author
Owner

Closing — confirmed not an ErsatzTV code bug (full triage + evidence above). Jellyfin/library-side work continues in server-management#489.

Closing — confirmed **not an ErsatzTV code bug** (full triage + evidence above). Jellyfin/library-side work continues in **server-management#489**.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: timothy/ersatztv#5