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

Sql. Deadlock in sorted exchange

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.0
    • sql

    Description

      Assume the following execution graph:

               f1n1   f1n2
                 |  X  |
               f2n3   f2n4
      

      For simplicity, let there be only one column of type integer. If data both distributed and sorted by this very column, then we may end up in a situation, where exchange won't be able to proceed because every fragment will be blocked by another party. In the example above, let f1n1 expects odd numbers, while f1n2 expects even. If f2n3 contains only odd numbers, and f2n4 contains only even numbers, then both exchanges will never get response from another party, thus won't be able to proceed.

      Proposed solution is to disable order-preserving exchange in cases where target distribution is not single.

      Attachments

        Issue Links

          Activity

            People

              korlov Konstantin Orlov
              korlov Konstantin Orlov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m