Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-10972

MERGE INTO hangs in MVCC mode with unsorted keys

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • 2.7
    • None
    • mvcc
    • None

    Description

      right now, if you perform repeatedly
      MERGE INTO T(K, V) VALUES(k1, v1), (k2, v2), (k3, v3);
      and in parallel
      MERGE INTO T(K, V) VALUES(k2, v2), (k1, v1);

      you will eventually see a deadlock. This is expected behavior as per old putAll behavior, but the expectation is that you should see "Cannot serialize transaction" errors instead of deadlock when using MVCC.

      When doing MERGE INTO with sorted keys you will not get deadlock but will see a lot of "Cannot serialize transaction" exception with expectation that such statements to not conflict instead since they are ordered.

      Please see attached test and userlist discussion.

      Attachments

        1. CacheMvccMergeConflictTest.java
          5 kB
          Ilya Kasnacheev

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ilyak Ilya Kasnacheev
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: