Nicola Scendoni created JCRVLT-804:
--------------------------------------
Summary: Slow performances when importing large groups
Key: JCRVLT-804
URL: https://issues.apache.org/jira/browse/JCRVLT-804
Project: Jackrabbit FileVault
Issue Type: Improvement
Reporter: Nicola Scendoni
When importing group membership filevault [perform following
operations|https://github.com/apache/jackrabbit-filevault/blob/4da7c7c7bea23935daeb29989f735f7de5d7b2e6/vault-core/src/main/java/org/apache/jackrabbit/vault/fs/spi/impl/jcr20/JackrabbitUserManagement.java#L129-L154]:
# iterate over all the members
# check if the user exists
# check if they are already members
# call the method Group.addMember(User)
The last method on step 4 check again if the user exists and if is already
member of the group and if he exists, and then add him to the group.
The import of a group with few thousand members can take several minutes.
If we use the method
[Group.addMembers(String[])|https://jackrabbit.apache.org/oak/docs/apidocs/org/apache/jackrabbit/api/security/user/Group.html#addMembers(java.lang.String...)]
the group can be imported in few seconds.
We may evaluate one of the following:
# Skip all the validations and import all the users with a single call to
[Group.addMembers(String[])|https://jackrabbit.apache.org/oak/docs/apidocs/org/apache/jackrabbit/api/security/user/Group.html#addMembers(java.lang.String...)].
# Maintain the validations only in OAK or in the filevault, but not in both.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)