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

[BUG] Editing default member type doesn't work when over 500 members exist #17046

Open
nymwo opened this issue Sep 11, 2024 · 6 comments
Open

Comments

@nymwo
Copy link

nymwo commented Sep 11, 2024

Which Umbraco version are you using? (Please write the exact version, example: 10.1.0)

14.2.0

Bug summary

When having over 500 members, editing and saving the default member type fails and generates an error. The error indicates that RefreshMemberOfMemberTypes calls MemberService.GetAll with an invalid skip value.

Specifics

The exception:

An unhandled exception has occurred while executing the request.
System.AggregateException: One or more errors occurred. (Invalid skip/take, Skip must be a multiple of take - i.e. skip = 10, take = 5)
 ---> System.ArgumentException: Invalid skip/take, Skip must be a multiple of take - i.e. skip = 10, take = 5
   at Umbraco.Cms.Core.PaginationHelper.ConvertSkipTakeToPaging(Int32 skip, Int32 take, Int64& pageNumber, Int32& pageSize)
   at Umbraco.Cms.Core.Services.IMemberService.GetAll(Int32 skip, Int32 take, Int64& totalRecords, String orderBy, Direction orderDirection, String memberTypeAlias, String filter)
   at Umbraco.Cms.Infrastructure.Search.ContentTypeIndexingNotificationHandler.RefreshMemberOfMemberTypes(Int32[] memberTypeIds)
   at Umbraco.Cms.Infrastructure.Search.ContentTypeIndexingNotificationHandler.Handle(ContentTypeCacheRefresherNotification args)
   at Umbraco.Cms.Core.Events.INotificationHandler`1.Handle(IEnumerable`1 notifications)
   at Umbraco.Cms.Core.Events.EventAggregator.PublishCore[TNotification](IEnumerable`1 allHandlers, IEnumerable`1 notifications)
   at Umbraco.Cms.Core.Events.NotificationHandlerWrapperImpl`1.Handle[TNotification,TNotificationHandler](IEnumerable`1 notifications, ServiceFactory serviceFactory, Action`2 publish)
   at Umbraco.Cms.Core.Events.EventAggregator.PublishNotifications[TNotification,TNotificationHandler](IEnumerable`1 notifications)
   at Umbraco.Cms.Core.Events.EventAggregator.Publish[TNotification,TNotificationHandler](IEnumerable`1 notifications)
   at Umbraco.Cms.Core.Events.EventAggregator.Publish[TNotification](TNotification notification)
   at Umbraco.Cms.Core.Cache.CacheRefresherBase`1.OnCacheUpdated(CacheRefresherNotification notification)
   at Umbraco.Cms.Core.Cache.PayloadCacheRefresherBase`2.Refresh(TPayload[] payloads)
   at Umbraco.Cms.Core.Cache.ContentTypeCacheRefresher.Refresh(JsonPayload[] payloads)
   at Umbraco.Cms.Infrastructure.Sync.ServerMessengerBase.DeliverLocal[TPayload](ICacheRefresher refresher, TPayload[] payload)
   at Umbraco.Cms.Infrastructure.Sync.ServerMessengerBase.Deliver[TPayload](ICacheRefresher refresher, TPayload[] payload)
   at Umbraco.Cms.Infrastructure.Sync.ServerMessengerBase.QueueRefresh[TPayload](ICacheRefresher refresher, TPayload[] payload)

Steps to reproduce

  1. Have over 500 members
  2. Try to edit and save the member type "Member" in Backoffice

Expected result / actual result

No response

@nymwo nymwo added the type/bug label Sep 11, 2024
Copy link

Hi there @nymwo!

Firstly, a big thank you for raising this issue. Every piece of feedback we receive helps us to make Umbraco better.

We really appreciate your patience while we wait for our team to have a look at this but we wanted to let you know that we see this and share with you the plan for what comes next.

  • We'll assess whether this issue relates to something that has already been fixed in a later version of the release that it has been raised for.
  • If it's a bug, is it related to a release that we are actively supporting or is it related to a release that's in the end-of-life or security-only phase?
  • We'll replicate the issue to ensure that the problem is as described.
  • We'll decide whether the behavior is an issue or if the behavior is intended.

We wish we could work with everyone directly and assess your issue immediately but we're in the fortunate position of having lots of contributions to work with and only a few humans who are able to do it. We are making progress though and in the meantime, we will keep you in the loop and let you know when we have any questions.

Thanks, from your friendly Umbraco GitHub bot 🤖 🙂

@NguyenThuyLan
Copy link
Contributor

Hi @nymwo , thanks for reporting the issue.
I was not able to reproduce it. I tried on v14.31. and v15

Umbraco.-.Google.Chrome.2024-11-11.18-45-23.mp4

I will close this because I couldn't reproduce it

@nymwo
Copy link
Author

nymwo commented Nov 12, 2024

Did you try to edit the member type under Settings / Member Types / Member? In the video you are editing members directly.

@nymwo
Copy link
Author

nymwo commented Dec 11, 2024

This is still a problem for my project. Do I have to create a new issue?

I was able to reproduce the bug in a new Umbraco 14.3.1 project. The error message in the backoffice UI is different, but the logged error is the same (Invalid skip/take):

image

@NguyenThuyLan
Copy link
Contributor

NguyenThuyLan commented Dec 13, 2024

Sorry @nymwo , I will check it again for you , Did you tried on the newest version of v15?

@NguyenThuyLan
Copy link
Contributor

NguyenThuyLan commented Dec 13, 2024

I was able to reproduce on v15.1.1 and v14.3.1
Although the data is still saved, the response returned from the update /umbraco/management/api/v1/member-type/{id} member type API is incorrect.
Exception in RefreshMemberOfMemberTypes
image
image

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

No branches or pull requests

2 participants