Uploaded image for project: 'Offre de formation'
  1. Offre de formation
  2. ODF-2113

L'import n'est pas protégé contre des modifications concurrentes

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • 4.7.11, 4.8.0
    • None
    • None
    • None

      En autorisant la multiselection dans l'outil d'import Apogée, plusieurs imports peuvent être lancés simultanément.
      Il est donc possible que 2 imports essaient simultanément de modifier un même objet.
      Je suis tombée dans un cas par exemple où 2 imports nécessitent de modifier la composante racine.

      Caused by: javax.jcr.InvalidItemStateException: property /ametys:root/ametys:plugins/odf/ametys:contents/55/83/orgunit-root-orgunit/ametys-internal:workflows/workflow-1/oswf:nextStepId: the property cannot be saved because it has been modified externally.
      	at org.apache.jackrabbit.core.PropertyImpl.makePersistent(PropertyImpl.java:161)
      	at org.apache.jackrabbit.core.ItemSaveOperation.persistTransientItems(ItemSaveOperation.java:849)
      	at org.apache.jackrabbit.core.ItemSaveOperation.perform(ItemSaveOperation.java:243)
      	at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216)
      	at org.apache.jackrabbit.core.ItemImpl.perform(ItemImpl.java:91)
      	at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:329)
      	at org.apache.jackrabbit.core.session.SessionSaveOperation.perform(SessionSaveOperation.java:65)
      	at org.apache.jackrabbit.core.session.SessionState.perform(SessionState.java:216)
      	at org.apache.jackrabbit.core.SessionImpl.perform(SessionImpl.java:363)
      	at org.apache.jackrabbit.core.SessionImpl.save(SessionImpl.java:852)
      	at org.ametys.plugins.repository.jcr.SimpleAmetysObject.saveChanges(SimpleAmetysObject.java:204)
      

      A noter qu'il est tout à fait possible de se retrouver dans ce cas si 2 personnes réalisent un import simultané. En autorisant la multiselection, ce risque est simplement multiplié.

      L'API d'import des SCC (JS et Java) devrait pouvoir permettre l'import de plusieurs contenus. Charge aux SCC de l'ODF de traiter ces contenus de manière synchrone pour éviter les problèmes de concurrence (CONTENTIO-164)

      Cette issue empêche l'intégration des PR des issues ODF-2013 et CONTENTIO-162

            Unassigned Unassigned
            laurence Laurence Aumeunier
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: