Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-19382

Acquire locks before generating valid transaction list for some operations

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.0
    • Fix Version/s: 3.1.0, 4.0.0
    • Component/s: Transactions
    • Labels:
      None

      Description

      To ensure correctness, in particular for operations that require exclusive (INSERT OVERWRITE) and semishared (UPDATE/DELETE) locks.

      This is a temporary fix till lock acquisition is moved before analyze in HIVE-18948.

      With this fix, system proceed as follows. The driver will acquire the snapshot, compile the query wrt that snapshot, and then, it will acquire locks. If snapshot is still valid, it will continue as usual. But if snapshot is not valid anymore, it will recompile the query.

      This is easier to implement than full solution described in HIVE-18948 because we do not need to move the logic to extract the read/write entities from a query before compilation (actually while parsing).

        Attachments

        1. HIVE-19382.patch
          19 kB
          Jesus Camacho Rodriguez
        2. HIVE-19382.01.patch
          19 kB
          Jesus Camacho Rodriguez
        3. HIVE-19382.02.patch
          19 kB
          Jesus Camacho Rodriguez
        4. HIVE-19382.03.patch
          19 kB
          Jesus Camacho Rodriguez
        5. HIVE-19382.04.patch
          19 kB
          Jesus Camacho Rodriguez
        6. HIVE-19382.05.patch
          16 kB
          Jesus Camacho Rodriguez

          Issue Links

            Activity

              People

              • Assignee:
                jcamachorodriguez Jesus Camacho Rodriguez
                Reporter:
                jcamachorodriguez Jesus Camacho Rodriguez
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: