Getting progression status fails on a release with more than 2100 deploys

Trying to request the details page for a specific release fails with a SQL exception very much the one mentioned in issue 1935 and 2059.

First I suspected this was the same issue but an upgrade to 3.2.13 didn’t resolve it and a further investigation showed it was a during a call to the progression url in the api.

Execution “SELECT COUNT(*) FROM [OctopusDeploy].[dbo].[Deployment] where ReleaseId = ‘Releases-563’” on the backing sql server returns a 2099

I have attached a screenshot with request and exception message highlighted and a server report from the diagnostics page.

OctopusDeploy-635875057158584983.zip (416 KB)

Hi,

Thanks for getting in touch! I will have this put in as a bug to be more efficient when loading this page. Just a few questions to clarify.

Does this occur when you hit the releases tab on the project page, or when selecting a release to view in detail?
How many deployments have you done (roughly) for that release?
Is this a common scenario for you?
How complex is the project in terms of number of package steps, number of steps and deployment path?
If you could explain a bit about your standard environment and releases to get an idea of your Octopus usage this will also help us to determine the best path and fix.

Thanks!
Vanessa

Thanks for your reply. I hope the following clarifies my use case a bit.

  • It happens when I select a release to view it in detail.

  • As far as i can tell from the data in the sql server I have made 2099 deployments of that specific release. I am not sure though that I’m looking at the right data here and I can’t tell from the Octopus UI because of this issue.

  • For one of my projects this is a common scenario.

  • The project is very simple. It contains only a single step running a powershell script

  • I have many environments, more than 200. And I redeploy the same release daily to every environment meaning that I reach the 2100 limit quickly. I am aware this might be an unusual use case, but the reason is twofold. Firstly, I have many environments because I imitate multi-tenancy support by creating a new environment for each tenant configuration. Secondly, I redeploy the same release every day, using an external script, because I use on of my projects as a tenant specific cron-job.

Hi,

That scenario makes perfect sense, thanks for sharing it with us.
I have created an issue to get a fix in place: https://github.com/OctopusDeploy/Issues/issues/2276

For now the only work around would be to create new releases before hitting the threshold.

Thanks for reporting this!
Vanessa

Hi,

The fix for this issue will be out in the next release of Octopus (3.2.17).

Thanks
Shane

Thank you,

It does work now for that specific url (/api/releases//progression) making it possible to show the detail page of a release.

However, when I try to actually deploy the release the exact same error occurs. This time it is a call to the deployment template that fails (/api/releases//deployments/template)

I have a attached a screenshot of a http request to the url.

Hi,

Sorry this has shown up again. The change was made at the query level and we did have a test for deploying with 2k deployments.
Here is the new issue: https://github.com/OctopusDeploy/Issues/issues/2319

Vanessa