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

Mixup of sessions when several from multiple repositories are used at the same time

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 5.6-RC1
    • Fix Version/s: 5.6-RC3, 5.6
    • Component/s: Core
    • Environment:
      Tomcat
    • Impact type:
      Configuration format change
    • Upgrade notes:
      Hide

      For Tomcat, the pool configuration which used to be done through a <Resource> section in nuxeo.xml is now done through a <pool> section in the repository configuration file (default-repository-config.xml).

      The nuxeo.conf properties "nuxeo.vcs.min-pool-size" and "nuxeo.vcs.max-pool-size" are still used in the same way as before.

      If further config (like blockingTimeoutMillis or idleTimeoutMinutes) is needed then the new template to copy and modify is default-repository-config.xml.nxftl.

      Show
      For Tomcat, the pool configuration which used to be done through a <Resource> section in nuxeo.xml is now done through a <pool> section in the repository configuration file (default-repository-config.xml). The nuxeo.conf properties "nuxeo.vcs.min-pool-size" and "nuxeo.vcs.max-pool-size" are still used in the same way as before. If further config (like blockingTimeoutMillis or idleTimeoutMinutes) is needed then the new template to copy and modify is default-repository-config.xml.nxftl.

      Description

      When in the same transaction / thread you open two sessions coming from different repositories, the second one open is actually pointing to the first one which is obviously incorrect.

      The culprit is the Geronimo pool, which has a mechanism to return the same low-level connection when used in the same transaction.

      So obviously we have to use one pool per repository, which means one NuxeoConnectionManager per repository. This has an impact on the nuxeo.xml configuration as well.

      One concrete effect of this bug is that the content template creating default-domain is not executed on secondary repositories (because when it looks it already finds one, but it's in reality using a session from the default repository).

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: