Tellier Benoit created JAMES-2043: ------------------------------------- Summary: LDAP + UserProvisionning filter raises UsersRepositoryException: This user-repository is read-only Key: JAMES-2043 URL: https://issues.apache.org/jira/browse/JAMES-2043 Project: James Server Issue Type: Bug Components: JMAP Reporter: Tellier Benoit Assignee: Antoine Duprat
Full stack trace here: {code:java} org.apache.james.user.api.UsersRepositoryException: This user-repository is read-only. Modifications are not permitted. at org.apache.james.user.ldap.ReadOnlyUsersLDAPRepository.addUser(ReadOnlyUsersLDAPRepository.java:778) at org.apache.james.jmap.UserProvisioningFilter.createUser(UserProvisioningFilter.java:104) at org.apache.james.jmap.UserProvisioningFilter.createAccount(UserProvisioningFilter.java:100) at org.apache.james.jmap.UserProvisioningFilter.createAccountIfNeeded(UserProvisioningFilter.java:76) ... 23 common frames omitted Wrapped by: java.lang.RuntimeException: org.apache.james.user.api.UsersRepositoryException: This user-repository is read-only. Modifications are not permitted. at com.google.common.base.Throwables.propagate(Throwables.java:160) at org.apache.james.jmap.UserProvisioningFilter.createAccountIfNeeded(UserProvisioningFilter.java:81) at java.util.Optional.ifPresent(Optional.java:159) at org.apache.james.jmap.UserProvisioningFilter.doFilter(UserProvisioningFilter.java:66) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668) at org.apache.james.jmap.AuthenticationFilter.doFilter(AuthenticationFilter.java:74) at org.apache.james.jmap.BypassAuthOnRequestMethod.tryAuth(BypassAuthOnRequestMethod.java:115) at org.apache.james.jmap.BypassAuthOnRequestMethod.doFilter(BypassAuthOnRequestMethod.java:97) at org.apache.james.jmap.AllowAllCrossOriginRequests.doFilter(AllowAllCrossOriginRequests.java:46) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:513) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119) at org.eclipse.jetty.server.Server.handle(Server.java:517) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:306) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:242) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:261) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572) at java.lang.Thread.run(Thread.java:745) {code} We should then remove UserProvisionning filter when using LDAP. Moreover by doing this, we will: - Improve a bit performance by avoiding a read to the LDAP on every JMAP request - Theorically we can have JMAP still up and running when LDAP is dead. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org