Metadata refesh on library not working, on a single movie it works fine #2733

Closed
opened 2026-02-06 22:21:58 +03:00 by OVERLORD · 0 comments
Owner

Originally created by @ikomhoog on GitHub (Mar 9, 2021).

Describe the bug
Some of my files have only half of the metadata filled in because of radarr and sonarr.
But when I want to refresh all the metadata via library-> scan Library ->replace all metadata it doesnt change.
But when going to the movie and clicking refresh metadata -> replace all metadata it updates it correctly.
The same goes for Identify, which also works like expected.

System (please complete the following information):

  • OS: UnRaid
  • Virtualization: Docker
  • Clients: Browser
  • Browser: Chrome
  • Jellyfin Version: 10.7.0 and latest unstable
  • Playback: -
  • Installed Plugins: -
  • Reverse Proxy: nginx
  • Base URL: jellyfin.domain.com
  • Networking: bridge
  • Storage: local

To Reproduce

  1. Have a movie with half the metadata filled in (missing tagline for example)
  2. update the library metadata using dashboard -> libraries -> library -> scan library -> replace all metadata
  3. See that the tagline is not there
  4. in that movie,update the metadata via refresh metadata -> replace all metadata
  5. go back to the homescreen
  6. click on the movie again
  7. see that it is now updated correctly

Expected behavior
I expected the scan library to scan all the individual files correctly

Logs
in code this looks like a generic error and not something stopping the metadata update

System.Net.Http.HttpRequestException: Invalid image received.
at MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken)
at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex)
at Emby.Server.Implementations.Library.LibraryManager.UpdateImagesAsync(BaseItem item, Boolean forceUpdate)
at MediaBrowser.Providers.Manager.MetadataService`2.SavePeopleMetadataAsync(List`1 people, LibraryOptions libraryOptions, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.MetadataService`2.SaveItemAsync(MetadataResult`1 result, LibraryOptions libraryOptions, ItemUpdateType reason, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.MetadataService`2.RefreshMetadata(BaseItem item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken)
at MediaBrowser.Controller.Entities.BaseItem.RefreshMetadata(MetadataRefreshOptions options, CancellationToken cancellationToken)

at MediaBrowser.Controller.Entities.Folder.<>c__DisplayClass59_0.<<RefreshChildMetadata>b__0>d.MoveNext()

--- End of stack trace from previous location ---
at MediaBrowser.Providers.Manager.ProviderManager.RunMetadataRefresh(Func`1 action, CancellationToken cancellationToken)
at MediaBrowser.Controller.Entities.Folder.RefreshChildMetadata(BaseItem child, MetadataRefreshOptions refreshOptions, Boolean recursive, IProgress`1 progress, CancellationToken cancellationToken)

at MediaBrowser.Controller.Entities.Folder.<>c__DisplayClass61_0`1.<<RunTasks>b__1>d.MoveNext()

--- End of stack trace from previous location ---
at MediaBrowser.Controller.Entities.Folder.RunTasks[T](Func`3 task, IList`1 children, IProgress`1 progress, CancellationToken cancellationToken)

at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal2(IProgress`1 progress, CancellationToken cancellationToken, Boolean recursive, Boolean refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService)

at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal(IProgress`1 progress, CancellationToken cancellationToken, Boolean recursive, Boolean refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService)

at MediaBrowser.Providers.Manager.ProviderManager.RefreshCollectionFolderChildren(MetadataRefreshOptions options, CollectionFolder collectionFolder, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.ProviderManager.RefreshItem(BaseItem item, MetadataRefreshOptions options, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.ProviderManager.StartProcessingRefreshQueue()
Originally created by @ikomhoog on GitHub (Mar 9, 2021). **Describe the bug** Some of my files have only half of the metadata filled in because of radarr and sonarr. But when I want to refresh all the metadata via library-> scan Library ->replace all metadata it doesnt change. But when going to the movie and clicking refresh metadata -> replace all metadata it updates it correctly. The same goes for Identify, which also works like expected. **System (please complete the following information):** - OS: UnRaid - Virtualization: Docker - Clients: Browser - Browser: Chrome - Jellyfin Version: 10.7.0 and latest unstable - Playback: - - Installed Plugins: - - Reverse Proxy: nginx - Base URL: jellyfin.domain.com - Networking: bridge - Storage: local **To Reproduce** <!-- Steps to reproduce the behavior: --> 1. Have a movie with half the metadata filled in (missing tagline for example) 2. update the library metadata using dashboard -> libraries -> library -> scan library -> replace all metadata 3. See that the tagline is not there 4. in that movie,update the metadata via refresh metadata -> replace all metadata 5. go back to the homescreen 6. click on the movie again 7. see that it is now updated correctly **Expected behavior** I expected the scan library to scan all the individual files correctly **Logs** in code this looks like a generic error and not something stopping the metadata update ``` System.Net.Http.HttpRequestException: Invalid image received. at MediaBrowser.Providers.Manager.ProviderManager.SaveImage(BaseItem item, String url, ImageType type, Nullable`1 imageIndex, CancellationToken cancellationToken) at Emby.Server.Implementations.Library.LibraryManager.ConvertImageToLocal(BaseItem item, ItemImageInfo image, Int32 imageIndex) at Emby.Server.Implementations.Library.LibraryManager.UpdateImagesAsync(BaseItem item, Boolean forceUpdate) at MediaBrowser.Providers.Manager.MetadataService`2.SavePeopleMetadataAsync(List`1 people, LibraryOptions libraryOptions, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.SaveItemAsync(MetadataResult`1 result, LibraryOptions libraryOptions, ItemUpdateType reason, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.RefreshMetadata(BaseItem item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken) at MediaBrowser.Controller.Entities.BaseItem.RefreshMetadata(MetadataRefreshOptions options, CancellationToken cancellationToken) at MediaBrowser.Controller.Entities.Folder.<>c__DisplayClass59_0.<<RefreshChildMetadata>b__0>d.MoveNext() --- End of stack trace from previous location --- at MediaBrowser.Providers.Manager.ProviderManager.RunMetadataRefresh(Func`1 action, CancellationToken cancellationToken) at MediaBrowser.Controller.Entities.Folder.RefreshChildMetadata(BaseItem child, MetadataRefreshOptions refreshOptions, Boolean recursive, IProgress`1 progress, CancellationToken cancellationToken) at MediaBrowser.Controller.Entities.Folder.<>c__DisplayClass61_0`1.<<RunTasks>b__1>d.MoveNext() --- End of stack trace from previous location --- at MediaBrowser.Controller.Entities.Folder.RunTasks[T](Func`3 task, IList`1 children, IProgress`1 progress, CancellationToken cancellationToken) at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal2(IProgress`1 progress, CancellationToken cancellationToken, Boolean recursive, Boolean refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService) at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal(IProgress`1 progress, CancellationToken cancellationToken, Boolean recursive, Boolean refreshChildMetadata, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService) at MediaBrowser.Providers.Manager.ProviderManager.RefreshCollectionFolderChildren(MetadataRefreshOptions options, CollectionFolder collectionFolder, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.ProviderManager.RefreshItem(BaseItem item, MetadataRefreshOptions options, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.ProviderManager.StartProcessingRefreshQueue() ```
OVERLORD added the bug label 2026-02-06 22:21:58 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#2733