ACL

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Active Member

ACL

Jump to solution

Hello, 

Error is displayed in alfresco.log : please can someone explain to me what this error is and the cause

03:39:25,109 WARN [org.alfresco.repo.security.permissions.impl.acegi.ACLEntryAfterInvocationProvider] maxChecks exceeded (3000)
java.lang.Exception: Back Trace
at org.alfresco.repo.security.permissions.impl.acegi.ACLEntryAfterInvocationProvider.decideNew(ACLEntryAfterInvocationProvider.java:631)
at org.alfresco.repo.security.permissions.impl.acegi.ACLEntryAfterInvocationProvider.decide(ACLEntryAfterInvocationProvider.java:536)
at org.alfresco.repo.security.permissions.impl.acegi.ACLEntryAfterInvocationProvider.decide(ACLEntryAfterInvocationProvider.java:509)
at org.alfresco.repo.security.permissions.impl.acegi.ACLEntryAfterInvocationProvider.decide(ACLEntryAfterInvocationProvider.java:833)
at org.alfresco.repo.security.permissions.impl.acegi.ACLEntryAfterInvocationProvider.decide(ACLEntryAfterInvocationProvider.java:301)
at net.sf.acegisecurity.afterinvocation.AfterInvocationProviderManager.decide(AfterInvocationProviderManager.java:107)
at net.sf.acegisecurity.intercept.AbstractSecurityInterceptor.afterInvocation(AbstractSecurityInterceptor.java:333)
at net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:82)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at com.sun.proxy.$Proxy222.executeQuery(Unknown Source)
at org.alfresco.repo.search.impl.lucene.AbstractAlfrescoFtsQueryLanguage.executeQuery(AbstractAlfrescoFtsQueryLanguage.java:102)
at org.alfresco.repo.search.impl.solr.DbAftsQueryLanguage.executeQuery(DbAftsQueryLanguage.java:99)
at org.alfresco.repo.search.impl.solr.DbOrIndexSwitchingQueryLanguage.executeQuery(DbOrIndexSwitchingQueryLanguage.java:186)
.....

1 Solution

Accepted Solutions
Highlighted
Moderator
Moderator

Re: ACL

Jump to solution

That's correct. The values are appropriate to balance the performance and number of results. However, you are open to update the values.

Set this value as well in solrcore.properties.

solr.query.maximumResultsFromUnlimitedQuery=3000

If you are using share, then update the share config as well.

I would suggest to test the viable limits based on your use case, define an upper limit on your search so that you will not run out of memory even by mistake if you try some sort of query which could return very large result set.

Test if values you have set is workable for the users and how the system is performing, based on the analysis lower the values down if you see some perfromance degradation and retest.

~Abhinav
(ACSCE, AWS SAA-C02, GAIQ)

View solution in original post

3 Replies
Highlighted
Intermediate II

Re: ACL

Jump to solution
By default based on ACL checks  ACS sets a default search limit to 1000 items.
It seems you are trying to search for more than 1000 items.
If you realy need to do search more than 1000 items you can set system.acl.maxPermissionChecks to a larger value in alfresco-global.properties
Highlighted
Active Member

Re: ACL

Jump to solution

Thank you for replay,

if I have already added these values in alfresco-global.properties

system.acl.maxPermissionChecks=3000
system.acl.maxPermissionCheckTimeMillis=30000

if i add more i think the system will spend more time checking permissions which will lead to the possibility of performance degradation.
there is not another solution to solve this problem?

 

 

Highlighted
Moderator
Moderator

Re: ACL

Jump to solution

That's correct. The values are appropriate to balance the performance and number of results. However, you are open to update the values.

Set this value as well in solrcore.properties.

solr.query.maximumResultsFromUnlimitedQuery=3000

If you are using share, then update the share config as well.

I would suggest to test the viable limits based on your use case, define an upper limit on your search so that you will not run out of memory even by mistake if you try some sort of query which could return very large result set.

Test if values you have set is workable for the users and how the system is performing, based on the analysis lower the values down if you see some perfromance degradation and retest.

~Abhinav
(ACSCE, AWS SAA-C02, GAIQ)

View solution in original post