Uploaded image for project: 'Alfresco'
  1. Alfresco
  2. ALF-712

HibernateOptimisticLockingFailureException appears on concurrent access to versioned contents by different users

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 3.2 R Enterprise
    • Fix Version/s: 3.3 Community, 3.3 Enterprise
    • Component/s: Repository
    • Labels:
      None
    • Environment:
      Alfresco Enterprise 3.2.0 (r 354)
      on MS Windows 2003 Enterprise SP2 32bit, Tomcat 6.0.18 (JDK 1.6.0_11-b03), MySQL 5.1.41.
    • Resolution Time Custom Field:
      7 weeks, 5 days, 19 hours, 2 minutes, 50 seconds

      Description

      Concurrency issue: attempt to perform "Edit Content Online" action for different contents by different users (each for its own) leads to error appearance (HibernateOptimisticLockingFailureException) for part of them:

      12:29:26,888 ERROR [org.alfresco.web.ui.common.Utils] Unable to check in Content Node due to system error:Object of class [org.alfresco.repo.domain.hibernate.VersionCountImpl] with identifier [1]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): org.alfresco.repo.domain.hibernate.VersionCountImpl#1
      org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Object of class [org.alfresco.repo.domain.hibernate.VersionCountImpl] with identifier [1]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): org.alfresco.repo.domain.hibernate.VersionCountImpl#1
      Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): org.alfresco.repo.domain.hibernate.VersionCountImpl#1

      (please see screen and full logs in attach).

      Issue may appear since 20 concurrent users.

      Scenario for each user is the following:
      1. Create Content (each create separate test content in own userhome);
      2. Make Content Versionable;
      3. Edit Content:
      3.1. search content;
      3.2. edit content online;
      3.3. save edited content;
      3.4. search content;
      3.5. check-in content;
      3.6. add version notes;
      4. Delete Content.

      Think time is emulated for each step of Edit Content action (1-6 sec).

      Issue appears on the "3.6. add version notes" step (please see attach).

      It seems as if getNodeService() cannot get corresponding nodeRef because lucene-indexer works too slow: "[org.alfresco.web.bean.coci.CheckinCheckoutDialog] WARNING: editInlineOK called without a current Document!" appears in alfresco.log (see attach).

        Attachments

          Structure

            Activity

              People

              • Assignee:
                closedbugs Closed Bugs
                Reporter:
                alfrescoqa Alfresco QA Team
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Date of First Response:

                  Structure Helper Panel