From 4725f4b2bdd028fc63334fdf378de859c5244a97 Mon Sep 17 00:00:00 2001 From: Qstick Date: Sat, 28 Oct 2017 22:57:03 -0400 Subject: [PATCH] Fixed: Lidarr stuck if Deluge didn't return an infohash. --- src/NzbDrone.Core/Download/Clients/Deluge/Deluge.cs | 5 +++++ .../Download/Pending/PendingReleaseService.cs | 9 +++------ src/NzbDrone.Core/Download/ProcessDownloadDecisions.cs | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/NzbDrone.Core/Download/Clients/Deluge/Deluge.cs b/src/NzbDrone.Core/Download/Clients/Deluge/Deluge.cs index 32e7b2b8b..3fd4985f4 100644 --- a/src/NzbDrone.Core/Download/Clients/Deluge/Deluge.cs +++ b/src/NzbDrone.Core/Download/Clients/Deluge/Deluge.cs @@ -57,6 +57,11 @@ namespace NzbDrone.Core.Download.Clients.Deluge { var actualHash = _proxy.AddTorrentFromFile(filename, fileContent, Settings); + if (actualHash.IsNullOrWhiteSpace()) + { + throw new DownloadClientException("Deluge failed to add torrent " + filename); + } + if (!Settings.TvCategory.IsNullOrWhiteSpace()) { _proxy.SetLabel(actualHash, Settings.TvCategory, Settings); diff --git a/src/NzbDrone.Core/Download/Pending/PendingReleaseService.cs b/src/NzbDrone.Core/Download/Pending/PendingReleaseService.cs index 0bda1304a..65cefcc13 100644 --- a/src/NzbDrone.Core/Download/Pending/PendingReleaseService.cs +++ b/src/NzbDrone.Core/Download/Pending/PendingReleaseService.cs @@ -86,8 +86,7 @@ namespace NzbDrone.Core.Download.Pending { if (matchingReport.Reason != reason) { - _logger.Debug("This release is already pending with reason {0}, changing to {1}", matchingReport.Reason, reason); - matchingReport.Reason = reason; + _logger.Debug("The release {0} is already pending with reason {1}, changing to {2}", decision.RemoteAlbum, matchingReport.Reason, reason); matchingReport.Reason = reason; _repository.Update(matchingReport); sameReason = false; } @@ -95,13 +94,11 @@ namespace NzbDrone.Core.Download.Pending if (sameReason) { - _logger.Debug("This release is already pending with reason {0}, not adding again", reason); - return; + _logger.Debug("The release {0} is already pending with reason {1}, not adding again", decision.RemoteAlbum, reason); return; } } - _logger.Debug("Adding release to pending releases with reason {0}", reason); - Insert(decision, reason); + _logger.Debug("Adding release {0} to pending releases with reason {1}", decision.RemoteAlbum, reason); Insert(decision, reason); } public List GetPending() diff --git a/src/NzbDrone.Core/Download/ProcessDownloadDecisions.cs b/src/NzbDrone.Core/Download/ProcessDownloadDecisions.cs index 6519df2ef..d2338732c 100644 --- a/src/NzbDrone.Core/Download/ProcessDownloadDecisions.cs +++ b/src/NzbDrone.Core/Download/ProcessDownloadDecisions.cs @@ -78,7 +78,7 @@ namespace NzbDrone.Core.Download { if (ex is DownloadClientUnavailableException || ex is DownloadClientAuthenticationException) { - _logger.Debug("Failed to send release to download client, storing until later"); + _logger.Debug(ex, "Failed to send release to download client, storing until later. " + remoteAlbum); failed.Add(report); if (downloadProtocol == DownloadProtocol.Usenet)