Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

QualityProfile does not exist on Radarr-4K #5025

Closed
ExtremeFiretop opened this issue Oct 16, 2023 · 9 comments
Closed

QualityProfile does not exist on Radarr-4K #5025

ExtremeFiretop opened this issue Oct 16, 2023 · 9 comments

Comments

@ExtremeFiretop
Copy link

ExtremeFiretop commented Oct 16, 2023

Summary

When using 2 instances of Radarr (Radarr and Radarr-4K), if you delete/rename the 4K instances profiles, Ombi can no longer connect and request content.

Steps to re-create:

  1. Deleting all profiles except "Ultra-HD" on the second instance of Radarr (Radarr-4K)
  2. Then rename that one remaining profile on Radarr-4K
  3. Ombi can no longer use that the one single remaining (and renamed profile)

image

Ombi Version

4.43.5

What platform(s) does this occur on?

Windows

What database are you using?

SQLite (Default)

Relevant log output

2023-10-15 19:32:28.881 -04:00 [WRN] Tried auto sending movie but failed. Message: QualityProfile does not exist
2023-10-15 19:32:28.881 -04:00 [WRN] Tried auto sending movie but failed. Message: QualityProfile does not exist
2023-10-15 19:34:27.049 -04:00 [ERR] Something bad happened, ErrorMiddleware caught this
Octokit.RateLimitExceededException: API rate limit exceeded for 142.198.127.197. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)
   at Octokit.Connection.HandleErrors(IResponse response) in /home/runner/work/octokit.net/octokit.net/Octokit/Http/Connection.cs:line 704
   at Octokit.Connection.RunRequest(IRequest request, CancellationToken cancellationToken) in /home/runner/work/octokit.net/octokit.net/Octokit/Http/Connection.cs:line 685
   at Octokit.Connection.Run[T](IRequest request, CancellationToken cancellationToken) in /home/runner/work/octokit.net/octokit.net/Octokit/Http/Connection.cs:line 670
   at Octokit.ApiConnection.GetPage[TU](Uri uri, IDictionary`2 parameters, String accepts, ApiOptions options) in /home/runner/work/octokit.net/octokit.net/Octokit/Http/ApiConnection.cs:line 628
   at Octokit.ApiConnection.<>c__DisplayClass18_0`1.<<GetAll>b__0>d.MoveNext() in /home/runner/work/octokit.net/octokit.net/Octokit/Http/ApiConnection.cs:line 212
--- End of stack trace from previous location ---
   at Octokit.ApiPagination.GetAllPages[T](Func`1 getFirstPage, Uri uri)
   at Ombi.Schedule.Processor.ChangeLogProcessor.GetGitubRelease(Release release, Task`1 settingsTask) in /home/runner/work/Ombi/Ombi/src/Ombi.Schedule/Processor/ChangeLogProcessor.cs:line 71
   at Ombi.Schedule.Processor.ChangeLogProcessor.Process() in /home/runner/work/Ombi/Ombi/src/Ombi.Schedule/Processor/ChangeLogProcessor.cs:line 36
   at Microsoft.Extensions.Caching.Memory.CacheExtensions.GetOrCreateAsync[TItem](IMemoryCache cache, Object key, Func`2 factory)
   at Ombi.Helpers.CacheService.GetOrAddAsync[T](String cacheKey, Func`1 factory, DateTimeOffset absoluteExpiration) in /home/runner/work/Ombi/Ombi/src/Ombi.Helpers/CacheService.cs:line 29
   at Ombi.Controllers.V1.UpdateController.UpdateAvailable() in /home/runner/work/Ombi/Ombi/src/Ombi/Controllers/V1/UpdateController.cs:line 27
   at lambda_method3774(Closure , Object )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Ombi.ApiKeyMiddlewear.Invoke(HttpContext context) in /home/runner/work/Ombi/Ombi/src/Ombi/Middleware/ApiKeyMiddlewear.cs:line 58
   at Ombi.ErrorHandlingMiddleware.Invoke(HttpContext context) in /home/runner/work/Ombi/Ombi/src/Ombi/Middleware/ErrorHandlingMiddlewear.cs:line 30
{"message":"API rate limit exceeded for 142.198.127.197. (But here's the good news: Authenticated requests get a higher rate limit. Check out the documentation for more details.)","documentation_url":"https://docs.github.com/rest/overview/resources-in-the-rest-api#rate-limiting"}

2023-10-15 19:34:47.593 -04:00 [ERR] StatusCode: BadRequest, Reason: Bad Request, RequestUri: http://127.0.0.1:7879/french/api/v3/movie
2023-10-15 19:34:47.593 -04:00 [ERR] QualityProfile does not exist
2023-10-15 19:34:47.593 -04:00 [WRN] Tried auto sending movie but failed. Message: QualityProfile does not exist
2023-10-15 19:34:47.593 -04:00 [WRN] Tried auto sending movie but failed. Message: QualityProfile does not exist
2023-10-15 19:35:33.292 -04:00 [ERR] StatusCode: BadRequest, Reason: Bad Request, RequestUri: http://127.0.0.1:7879/french/api/v3/movie
@ExtremeFiretop ExtremeFiretop changed the title QualityProfile does not exist QualityProfile does not exist on Radarr-4K Oct 16, 2023
@ExtremeFiretop
Copy link
Author

With more testing, I found that even though in Ombi on Radarr-4K i selected the profile "Ultra-HD" it requests the profile "SD" in Radarr-4K.

@tidusjar
Copy link
Collaborator

If you are messing around with the profiles in radarr, You need to go into the Radarr settings in ombi and re-select the correct profiles. Ombi keeps a reference to the Profile you have saved originally.

@ExtremeFiretop
Copy link
Author

ExtremeFiretop commented Oct 16, 2023

If you are messing around with the profiles in radarr, You need to go into the Radarr settings in ombi and re-select the correct profiles. Ombi keeps a reference to the Profile you have saved originally.

As I mentioned, the original Profile selected was "Ultra-HD", and yet Ombi requests "SD" Profile from Radarr. Changing the selection makes no difference.

@ExtremeFiretop
Copy link
Author

ExtremeFiretop commented Nov 13, 2023

If you are messing around with the profiles in radarr, You need to go into the Radarr settings in ombi and re-select the correct profiles. Ombi keeps a reference to the Profile you have saved originally.

I found the problem.

image

I had set a specific profile for my user at some point in the past, and now that we have Radarr 4K enabled, it had a different profile than my "Regular Radarr" instance.

Checking the SQL database, Radarr profile was set to profile "2" for my user which equates to "SD" on my radarr setup.
There should probably be a new entry for "RadarrQualityProfile4K" where it saves the profile of the 4K instance for specific users, instead of overriding the the 4K profile with the regular Radarr Profile.

@ExtremeFiretop
Copy link
Author

ExtremeFiretop commented Nov 13, 2023

If you are messing around with the profiles in radarr, You need to go into the Radarr settings in ombi and re-select the correct profiles. Ombi keeps a reference to the Profile you have saved originally.

It seems to me that if you have lets say 2 Profiles on Radarr, and 5 Profiles on Radarr 4k. "RadarQualityProfile" = 2 would be a completely different profile between Radar and Radarr 4K. So User selected profiles should have a selection for Radar 4K, (if you have 4K control enabled.)

@tidusjar
Copy link
Collaborator

tidusjar commented Nov 13, 2023

Looks like I missed that. Nice investigation!!

@ExtremeFiretop
Copy link
Author

Looks like I missed that. Nice investigation!!

Just happy to finally have a root cause, it was gonna drive me nuts.

Now that I know what caused it I can sleep at night, I cleared out the save and reset it to 0 for my user in the database (default) and all is working as expected again.

The bug is still legit, but at least I have the solution

tidusjar added a commit that referenced this issue Nov 18, 2023
…uality profiles. There are now user quality profiles for 4k profile #5025
@tidusjar
Copy link
Collaborator

This has been fixed in the develop branch! 🎉 🎈

@ExtremeFiretop
Copy link
Author

This has been fixed in the develop branch! 🎉 🎈

Thank you again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants