Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-13345 S3Guard: Improved Consistency for S3A
  3. HADOOP-14215

DynamoDB client should waitForActive on existing tables

    XMLWordPrintableJSON

    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.000.patch
          4 kB
          Mingliang Liu
        2. HADOOP-14215-HADOOP-13345.001.patch
          6 kB
          Mingliang Liu
        3. HADOOP-14215-HADOOP-13345.002.patch
          11 kB
          Sean Mackrory

          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: