Skip to content

Failure to upgrade database with 10k external members #19742

@alin-rautoiu

Description

@alin-rautoiu

Which Umbraco version are you using?

16.0.0

Bug summary

When upgrading Umbraco from Version 15.4.1 to 16.0.0 I receive the following error message:

The server supports a maximum of 2100 parameters. Reduce the number of parameters and resend the request.
While debugging I came to the conclusion that the large number of registered members is at fault.

Specifics

Image

I think this is related to the changes introduced in #19273. Inside BackOfficeExternalLoginProviders.cs, when calling InvalidateSessionsIfExternalLoginProvidersChanged it sees as a registered external login provider only the schema for backoffice users, Umbraco.*. Which wouldn't be a problem if the table umbracoExternalLogin wouldn't also hold the logins for the external users. As such, it tries to invalidate all logins with the login provider UmbracoMembers.*.

Steps to reproduce

  1. Have an Umbraco 15.4.* instance.
  2. Implement and external login provider for members. I have followed the instructions from here.
  3. Have more than 2100 members registered to an external login provider.
  4. Make sure that the members have logged on so that the umbracoExternalLogin is populated. Alternativly just manually populate the table with dummy data.
  5. Try to upgrade the project to Umbraco 16.0.0. The problem might arise simply while rebooting the application if the members count increased sufficiently during its runtime.

Expected result / actual result

  1. I expect to be able to upgrade the project to version 16.0.0. regardless of the number of external registered members.
  2. I expect that since I haven't removed the external login provider used by my external members, their logins should not be invalidated.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions