Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-1266 DocumentStore implementation for relational databases
  3. OAK-3924

Fix database-level row deadlock during bulk updates in RDB

Attach filesAttach ScreenshotVotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • None
    • 1.3.15, 1.4
    • rdbmk
    • None

    Description

      It seems that the new bulk createOrUpdate() implementation in RDB is prone for the deadlocks. It isn't a bug in the Oak code, but rather something related to the database implementations. The bug can be observed if we have multiple simultaneous bulk updates and some of the rows repeat among them. The attached patch contains an unit test testConcurrentWithConflict presenting the issue.

      Attachments

        1. OAK-3924.patch
          23 kB
          Tomek Rękawek
        2. OAK-3924-01-disable-property.patch
          2 kB
          Tomek Rękawek
        3. OAK-3924-02-concurrent-tests.patch
          13 kB
          Tomek Rękawek
        4. OAK-3924-03-autocommit.patch
          0.9 kB
          Tomek Rękawek
        5. OAK-3924-04-sort-documents.patch
          5 kB
          Tomek Rękawek
        6. OAK-3924-05-handle-batch-update-exception.patch
          4 kB
          Tomek Rękawek
        7. OAK-3924-06-always-upsert.patch
          2 kB
          Tomek Rękawek

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            reschke Julian Reschke
            tomek.rekawek Tomek Rękawek
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment