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

DbNotificationListener: can loose DDL operation notifications

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.2.0
    • Component/s: HCatalog
    • Labels:

      Description

      The code for each API in HiveMetaStore.java is like this:

      1. openTransaction()
      2. – operation--
      3. commit() or rollback() based on result of the operation.
      4. add entry to notification log (unconditionally)

      If the operation is failed (in step 2), we still add entry to notification log. Found this issue in testing.
      It is still ok as this is the case of false positive.

      If the operation is successful and adding to notification log failed, the user will get an MetaException. It will not rollback the operation, as it is already committed. We need to handle this case so that we will not have false negatives.

        Attachments

        1. HIVE-13966.1.patch
          34 kB
          Rahul Sharma
        2. HIVE-13966.2.patch
          55 kB
          Rahul Sharma
        3. HIVE-13966.3.patch
          56 kB
          Alan Gates
        4. HIVE-13966.4.patch
          103 kB
          Mohit Sabharwal
        5. HIVE-13966.4.patch
          103 kB
          Mohit Sabharwal
        6. HIVE-13966.5.patch
          107 kB
          Mohit Sabharwal
        7. HIVE-13966.6.patch
          107 kB
          Mohit Sabharwal
        8. HIVE-13966.pdf
          90 kB
          Rahul Sharma

          Issue Links

            Activity

              People

              • Assignee:
                mohitsabharwal Mohit Sabharwal
                Reporter:
                vaidyand Nachiket Vaidya
              • Votes:
                1 Vote for this issue
                Watchers:
                14 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: