mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-16 05:43:54 +03:00
[PR #14047] [MERGED] Add multiple options for internal locking #13808
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/jellyfin/jellyfin/pull/14047
Author: @JPVenson
Created: 5/2/2025
Status: ✅ Merged
Merged: 6/4/2025
Merged by: @crobibero
Base:
master← Head:feature/ExtendedOptimisticConcurrencyLocking📝 Commits (10+)
8915adfAdd multiple options for internal locking0fb86edEnsure lock cleanup on error515979acleanupd58edc1Fix copypast errorb872b04clarified locking behavior4b5f1eeAlso handle async save operations3beec63Update src/Jellyfin.Database/Jellyfin.Database.Implementations/Locking/PessimisticLockBehavior.cs82976eaUpdate DatabaseLockingBehaviorTypes.csd493528Extended logging for locking behaviorsc8440afMerge branch 'feature/ExtendedOptimisticConcurrencyLocking' of https://github.com/JPVenson/jellyfin into feature/ExtendedOptimisticConcurrencyLocking📊 Changes
12 files changed (+612 additions, -13 deletions)
View changed files
📝
Directory.Packages.props(+1 -0)📝
Jellyfin.Server.Implementations/Extensions/ServiceCollectionExtensions.cs(+17 -0)📝
Jellyfin.Server.Implementations/Item/PeopleRepository.cs(+9 -4)📝
src/Jellyfin.Database/Jellyfin.Database.Implementations/DbConfiguration/DatabaseConfigurationOptions.cs(+6 -0)➕
src/Jellyfin.Database/Jellyfin.Database.Implementations/DbConfiguration/DatabaseLockingBehaviorTypes.cs(+22 -0)📝
src/Jellyfin.Database/Jellyfin.Database.Implementations/Jellyfin.Database.Implementations.csproj(+1 -0)📝
src/Jellyfin.Database/Jellyfin.Database.Implementations/JellyfinDbContext.cs(+47 -8)➕
src/Jellyfin.Database/Jellyfin.Database.Implementations/Locking/IEntityFrameworkCoreLockingBehavior.cs(+32 -0)➕
src/Jellyfin.Database/Jellyfin.Database.Implementations/Locking/NoLockBehavior.cs(+41 -0)➕
src/Jellyfin.Database/Jellyfin.Database.Implementations/Locking/OptimisticLockBehavior.cs(+137 -0)➕
src/Jellyfin.Database/Jellyfin.Database.Implementations/Locking/PessimisticLockBehavior.cs(+296 -0)📝
src/Jellyfin.Database/Jellyfin.Database.Providers.Sqlite/Migrations/SqliteDesignTimeJellyfinDbFactory.cs(+3 -1)📄 Description
Add options for multiple query locking behaviors and query congestion logging for pessimistic mode
Fixes locking up the server when viewing faviorites
fixes https://github.com/jellyfin/jellyfin/issues/13708
fixes https://github.com/jellyfin/jellyfin/issues/13873
fixes #13508
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.