Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: HADOOP-13345
    • Component/s: fs/s3
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      I saw a case where 2 separate applications tried to use the same non-pre-existing table with table.create = true at about the same time. One failed with a ResourceInUse exception. If a table does not exist, we attempt to create it and then wait for it to enter the active state. If another jumps in in the middle of that, the table may exist, thus bypassing our call to waitForActive(), and then try to use the table immediately.

      While we're at it, let's also make sure that the race condition where a table might get created between checking if it exists and attempting to create it is handled gracefully.

        Attachments

        1. HADOOP-14215-HADOOP-13345.002.patch
          11 kB
          Sean Mackrory
        2. HADOOP-14215-HADOOP-13345.001.patch
          6 kB
          Mingliang Liu
        3. HADOOP-14215-HADOOP-13345.000.patch
          4 kB
          Mingliang Liu

          Issue Links

            Activity

              People

              • Assignee:
                mackrorysd Sean Mackrory
                Reporter:
                mackrorysd Sean Mackrory
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: