Permissions - Unable to add/remove ACL

Hello,
Florent Guillaume
Kevin Leturc
I try to add / remove some acls on somes documents in our nuxeo WS but getting always exceptions in logs.
I have PostgreSQL as database and I tried https://doc.nuxeo.com/nxdoc/read-acls/, but it changes nothing on my case.

Thanks for help
Here is the exceptions I get in logs :

2020-10-07 10:13:35,737 ERROR [nuxeo-error-log] org.nuxeo.runtime.transaction.TransactionRuntimeException: Unable to commit: Transaction timeout
    at org.nuxeo.runtime.transaction.TransactionHelper.commitOrRollbackTransaction(TransactionHelper.java:380)
    at org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoRequestControllerFilter.doFilter(NuxeoRequestControllerFilter.java:195)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.nuxeo.ecm.webdav.service.WIRequestFilter.doFilter(WIRequestFilter.java:61)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilterInternal(NuxeoAuthenticationFilter.java:632)
    at org.nuxeo.ecm.platform.ui.web.auth.service.NuxeoAuthFilterChain.doFilter(NuxeoAuthFilterChain.java:51)
    at org.nuxeo.ecm.platform.ui.web.auth.oauth.NuxeoOAuthFilter.doFilter(NuxeoOAuthFilter.java:122)
    at org.nuxeo.ecm.platform.ui.web.auth.service.NuxeoAuthFilterChain.doFilter(NuxeoAuthFilterChain.java:49)
    at org.nuxeo.ecm.platform.oauth2.NuxeoOAuth2Filter.doFilter(NuxeoOAuth2Filter.java:79)
    at org.nuxeo.ecm.platform.ui.web.auth.service.NuxeoAuthFilterChain.doFilter(NuxeoAuthFilterChain.java:49)
    at org.nuxeo.ecm.platform.ui.web.auth.NuxeoAuthenticationFilter.doFilter(NuxeoAuthenticationFilter.java:422)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:208)
    at com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:274)
    at org.nuxeo.ecm.platform.web.common.requestcontroller.filter.NuxeoCorsCsrfFilter.doFilter(NuxeoCorsCsrfFilter.java:163)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.nuxeo.ecm.platform.web.common.exceptionhandling.NuxeoExceptionFilter.doFilter(NuxeoExceptionFilter.java:67)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.nuxeo.ecm.platform.web.common.encoding.NuxeoEncodingFilter.doFilter(NuxeoEncodingFilter.java:75)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:543)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:690)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:616)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:748)
Caused by: javax.transaction.RollbackException: Unable to commit: Transaction timeout
    at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:267)
    at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)
    at org.nuxeo.runtime.jtajca.NuxeoContainer$UserTransactionImpl.commit(NuxeoContainer.java:539)
    at org.nuxeo.runtime.transaction.TransactionHelper.commitOrRollbackTransaction(TransactionHelper.java:363)
    ... 43 more

2020-10-07 10:13:35,738 ERROR [nuxeo-error-log]
Request Attributes:

NuxeoExceptionHandlerMarker : true
org.apache.tomcat.util.net.secure_protocol_version : TLSv1.2
javax.servlet.request.key_size : 256
user_message : Erreur inconnue. Cliquez sur les liens ci-dessous pour avoir plus de détails ou retourner sur l'application.
_STORED_GENERATED_RENDERING_CONTEXT : org.nuxeo.ecm.core.io.registry.context.RenderingContextImpl@6be2b078
javax.servlet.request.cipher_suite : TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
javax.servlet.request.ssl_session_id : 5f7d77da00eb1a5e1b8a17c0d47e06e9ff04ae75b77573390e2a386e8560f354
exception_message : Unable to commit: Transaction timeout
messageBundle : java.util.PropertyResourceBundle@6782d3fb
nuxeo.disable.redirect.wrapper : true
javax.servlet.request.ssl_session_mgr : org.apache.tomcat.util.net.jsse.JSSESupport@5f830f54
securityError : false
0 votes

0 answers

1266 views

ANSWER

Hell0,

Florent Guillaume Kevin Leturc
Can I have some help ? Unable to give permission on documents on newcomers in our organisation and it's getting very critical.
Thanks for help.

11/10/2020

Have you tried increasing the transaction timeout? Have you tried profiling the application while things are "slow" to see what's happening?
11/10/2020

I increased the timeOut to 2400 but nothing. The thing is, when I fresh restart nuxeo, I can delete a permission once. I restart again and I can add permission once.
It's a kind of workarround. Restart in production each time we want to add /delete permission is tough. I did not profile nuxeo to see while htings are slow, I got to check and see.
11/10/2020

Florent Guillaume, I update nuxeo.db.transactiontimeout=18000 but I always get 2020-11-26 13:53:43,877 ERROR [nuxeo-error-log] org.nuxeo.runtime.transaction.TransactionRuntimeException: Unable to commit: Transaction timeout.
I not wait 5mn and get this error.
I don't know what parameter to enable to get closer to the timeOut error, on delete/add permissions on a repository.

Thanks for help

11/26/2020

Hi, Florent Guillaume Kevin Leturc. I double the parameter in conf nuxeo.db.transactiontimeout=36000, in nuxeo.xml /var/lib/nuxeo/server/conf/Catalina/localhost/nuxeo.xml:28: transactionTimeoutSeconds="36000" /> and still have the same issue since 1 year now. Our nuxeo plaforme is stucked and we can no longer add ACL for new user on existing documents.

Thanks for help please

10/06/2021