cancel
Showing results for 
Search instead for 
Did you mean: 

ACL

ALfreSara
Confirmed Champ
Confirmed Champ

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 ACCEPTED ANSWER

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, Azure Admin)

View answer in original post

3 REPLIES 3

kaynezhang
World-Class Innovator
World-Class Innovator
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

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?

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, Azure Admin)