Uploaded image for project: 'FishEye'
  1. FishEye
  2. FE-5004

DefaultContentManager can deadlock in database when reviewing content from a LightSCM repository

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Medium
    • 3.3.2, 3.4.0
    • 3.0.0, 3.2.1
    • None
    • None

    Description

      EditRevisionsAjaxAction.execute() adds entries to cru_revision table and then EditRevisionsAjaxAction.addRemoveRepoRev() calls the DefaultContentManager to properly add the revisions to the database, which then executes in a separate thread.

      This deadlocks because EditRevisionsAjaxAction.execute() does not commit before calling addRemoveRepoRev, and the work it does executes in a different thread and by extension a different database session.

      This is trivially reproducible using MySQL and a LightSCM Subversion repository. This behaviour can not be seen when using the HSQL database

      I haven't understood this code well enough to know whether or not it can happen with native repository access as well, but I haven't been able to reproduce it out side of LightSCM.

      Attachments

        Activity

          People

            rstephens Richard Stephens (Inactive)
            rstephens Richard Stephens (Inactive)
            Votes:
            1 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: