Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-7326

Fix concurrent usage of the login stack under heavy load

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 5.4.1
    • Fix Version/s: 5.6
    • Component/s: Core

      Description

      During performance test run with funkload, some errors occurs related to the usage of the LoginStack.
      It seems concurrent threads are using the same LoginStack, which raises exception in the login module.

      Example:

      • At logout:
        ERROR [NuxeoAuthenticationFilter] Unable to logout java.lang.NullPointerException
        	at java.util.LinkedList.remove(LinkedList.java:791)
        	at java.util.LinkedList.removeLast(LinkedList.java:144)
        	at org.nuxeo.ecm.core.api.local.LoginStack.pop(LoginStack.java:46)
        	at org.nuxeo.ecm.core.api.local.ClientLoginModule.logout(ClientLoginModule.java:194)
        	at org.nuxeo.runtime.api.LoginModuleWrapper.logout(LoginModuleWrapper.java:92)
        

        or

      • after login, to display a apge:
        Caused by: org.nuxeo.ecm.core.api.ClientException: Failed to load repository default
        at org.nuxeo.ecm.core.api.local.LocalSession.createSession(LocalSession.java:106)
        at org.nuxeo.ecm.core.api.local.LocalSession.getSession(LocalSession.java:166)
        at org.nuxeo.ecm.core.api.AbstractSession.connect(AbstractSession.java:213)
        at sun.reflect.GeneratedMethodAccessor87.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.nuxeo.ecm.core.api.TransactionalCoreSessionWrapper.invoke(TransactionalCoreSessionWrapper.java:94)
        at $Proxy21.connect(Unknown Source)
        at org.nuxeo.ecm.core.api.repository.Repository.open(Repository.java:155)
        at org.nuxeo.ecm.core.api.repository.Repository.open(Repository.java:113)
        at org.nuxeo.ecm.core.api.impl.DocumentModelImpl.getTempCoreSession(DocumentModelImpl.java:432)
        at org.nuxeo.ecm.core.api.impl.DocumentModelImpl$RunWithCoreSession.execute(DocumentModelImpl.java:450)
        at org.nuxeo.ecm.core.api.impl.DocumentModelImpl.loadDataModel(DocumentModelImpl.java:550)
        at org.nuxeo.ecm.core.api.impl.DocumentModelImpl.getDataModel(DocumentModelImpl.java:564)
        at org.nuxeo.ecm.core.api.impl.DocumentModelImpl.getProperty(DocumentModelImpl.java:717)
        at fr.dila.reponses.core.cases.ParapheurImpl.getQuestion(ParapheurImpl.java:32)
        ... 190 more
        Caused by: org.nuxeo.ecm.core.api.WrappedException: Exception: org.nuxeo.ecm.core.api.ClientException. message: Cannot create a core session outside a security context. You must login first.
        at org.nuxeo.ecm.core.api.local.LocalSession.createSession(LocalSession.java:94)
        ... 205 more
        

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: