Postgres perf, path migration, and shutdown race fixes
- Major query performance boost: replaced correlated subqueries with DistinctBy() in BaseItemRepository, added episode deduplication index, and increased default command timeout to 120s. - Fixed LibraryMonitor shutdown race: added disposal checks and exception handling in FileRefresher to prevent ObjectDisposedException. - Added PowerShell and SQL utilities for fixing Linux paths in config files and database; new scripts for WebDir and path migration. - Auto-fix for WebDir in startup.json on load; new helper scripts and docs. - Added automated weekly DB performance monitoring scripts and reporting. - Expanded documentation and README for all fixes, scripts, and migration steps. - Updated SQL scripts for index creation and diagnostics; improved output handling. - Updated db-config defaults and added new diagnostic/report files.
This commit is contained in:
+1
-1
@@ -124,7 +124,7 @@ public sealed class PostgresDatabaseProvider : IJellyfinDatabaseProvider
|
||||
Username = GetOption(customOptions, "username", e => e, () => "jellyfin")!,
|
||||
Password = GetOption(customOptions, "password", e => e, () => string.Empty)!,
|
||||
Pooling = GetOption(customOptions, "pooling", e => e.Equals(bool.TrueString, StringComparison.OrdinalIgnoreCase), () => true),
|
||||
CommandTimeout = GetOption(customOptions, "command-timeout", int.Parse, () => 30),
|
||||
CommandTimeout = GetOption(customOptions, "command-timeout", int.Parse, () => 120),
|
||||
Timeout = GetOption(customOptions, "connection-timeout", int.Parse, () => 15),
|
||||
Multiplexing = GetOption(customOptions, "multiplexing", e => e.Equals(bool.TrueString, StringComparison.OrdinalIgnoreCase), () => false),
|
||||
MaxPoolSize = GetOption(customOptions, "max-pool-size", int.Parse, () => 100),
|
||||
|
||||
Reference in New Issue
Block a user