-
Notifications
You must be signed in to change notification settings - Fork 84
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
Only allow one fixup task at a time #5413
Comments
Description: only allow one fixup task to run at a time, and improve the task logging relates: 389ds#5413 Reviewed by: progier & tbordaz(Thanks!)
Description: only allow one fixup task to run at a time, and improve the task logging relates: #5413 Reviewed by: progier & tbordaz(Thanks!)
Description: only allow one fixup task to run at a time, and improve the task logging relates: #5413 Reviewed by: progier & tbordaz(Thanks!)
Description: only allow one fixup task to run at a time, and improve the task logging relates: #5413 Reviewed by: progier & tbordaz(Thanks!)
Description: only allow one fixup task to run at a time, and improve the task logging relates: #5413 Reviewed by: progier & tbordaz(Thanks!)
Description: only allow one fixup task to run at a time, and improve the task logging relates: #5413 Reviewed by: progier & tbordaz(Thanks!)
The detection of concurrent memberof task should be done consider base/filter. dn: cn=Update PBAC memberOf $TIME, cn=memberof task, cn=tasks, cn=config objectClass: top objectClass: extensibleObject cn: IPA PBAC memberOf $TIME basedn: cn=privileges,cn=pbac,$SUFFIX filter: (objectclass=*) ttl: 10 dn: cn=Update Role memberOf $TIME, cn=memberof task, cn=tasks, cn=config objectClass: top objectClass: extensibleObject cn: Update Role memberOf $TIME basedn: cn=roles,cn=accounts,$SUFFIX filter: (objectclass=*) ttl: 10 |
This may not be true @tbordaz because IPA has nested groups. so you could have cn=some_priv,cn=privileges,cn=pbac,$SUFFIX which includes a member cn=myrole,cn=roles,cn=accounts,$SUFFIX. Since these are nested, this would trigger the members of cn=myrole to be adjusted too. Since there is also the second fixup in update role, it could conflict on the changes and cause loss of member of records. I think that nested groups pretty much means you have to consider only one memberof fixup at a time. |
I absolutely agree with your point. With nested groups it is unpredictable if parallel fixup will or not steps on each other. In addition I would say that parallel fixup will increase DB pressure (even if accessing different entries) with a higher risk of retries so from performance pov, there is a possibility that parallel fixups will take more time that serialized one. Now IMHO it should be in the hand of the administrators/applications to decide/experiment if parallel fixups bring some benefits. This ticket was initially created because of an administrator launched multiple times by mistake the exact same fixup. So I would rather see this ticket to prevent same base/filter tasks. |
Well the real issue I was trying to prevent was allowing "identical" tasks to be run at the same time. But there are legitimate cases where you might want to run fixup tasks on two different branches. Refining fix... |
…/filters Description: A change was made to only allow a single fixup task at a time, but there are cases where you would want to run mutliple tasks but on different branches/filters. Now we maintain a linked list of bases/filters of the current running tasks to monitor this. relates: 389ds#5413 Reviewed by: tbordaz(Thanks!)
…/filters Description: A change was made to only allow a single fixup task at a time, but there are cases where you would want to run mutliple tasks but on different branches/filters. Now we maintain a linked list of bases/filters of the current running tasks to monitor this. relates: #5413 Reviewed by: tbordaz(Thanks!)
…/filters Description: A change was made to only allow a single fixup task at a time, but there are cases where you would want to run mutliple tasks but on different branches/filters. Now we maintain a linked list of bases/filters of the current running tasks to monitor this. relates: #5413 Reviewed by: tbordaz(Thanks!)
…/filters Description: A change was made to only allow a single fixup task at a time, but there are cases where you would want to run mutliple tasks but on different branches/filters. Now we maintain a linked list of bases/filters of the current running tasks to monitor this. relates: #5413 Reviewed by: tbordaz(Thanks!)
…/filters Description: A change was made to only allow a single fixup task at a time, but there are cases where you would want to run mutliple tasks but on different branches/filters. Now we maintain a linked list of bases/filters of the current running tasks to monitor this. relates: #5413 Reviewed by: tbordaz(Thanks!)
…/filters Description: A change was made to only allow a single fixup task at a time, but there are cases where you would want to run mutliple tasks but on different branches/filters. Now we maintain a linked list of bases/filters of the current running tasks to monitor this. relates: #5413 Reviewed by: tbordaz(Thanks!)
Issue Description
We keep seeing issues where customers incorrectly create 100's or 1000's of memberOf fixup tasks which leads to overall terrible server performance. We should only allow one fixup task per plugin.
The text was updated successfully, but these errors were encountered: