Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-13831

Correct check for error code to detect Azure Storage Throttling and provide retries

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.7.3
    • Fix Version/s: 2.9.0, 3.0.0-alpha2
    • Component/s: fs/azure
    • Labels:
      None
    • Target Version/s:
    • Hadoop Flags:
      Reviewed

      Description

      Azure Storage throttling affects HBase operations such as archiving old WALS and others. In such cases the storage driver needs to detect and handle the exception. We put in this logic to do the retries however the condition to check for the exception is not always met due to inconsistency in which the manner the error code is passed back. Instead the retry logic should check for http status code (503) which is more reliable and consistent check

        Activity

        Hide
        stevel@apache.org Steve Loughran added a comment -

        can you tag which version this surfaces on, component as fs/azure. thanks

        Show
        stevel@apache.org Steve Loughran added a comment - can you tag which version this surfaces on, component as fs/azure. thanks
        Hide
        gouravk Gaurav Kanade added a comment -

        yes tagged the component; not sure I understand exactly what is meant by which version this 'surfaces' on - is it affects version or fix version ?

        Show
        gouravk Gaurav Kanade added a comment - yes tagged the component; not sure I understand exactly what is meant by which version this 'surfaces' on - is it affects version or fix version ?
        Hide
        stevel@apache.org Steve Loughran added a comment -

        generally, which shipping/not yet shipping version of Hadoop has the issue being addressed? Such as 2.7.3, 2.8.0, etc. Target version is the one you hope to get it into, 2.9 and 3.0 being what you should be looking at, earlier versions being selective backports. thanks

        Show
        stevel@apache.org Steve Loughran added a comment - generally, which shipping/not yet shipping version of Hadoop has the issue being addressed? Such as 2.7.3, 2.8.0, etc. Target version is the one you hope to get it into, 2.9 and 3.0 being what you should be looking at, earlier versions being selective backports. thanks
        Hide
        gouravk Gaurav Kanade added a comment -

        Steve Loughran can someone assign this issue to me ? thx

        Show
        gouravk Gaurav Kanade added a comment - Steve Loughran can someone assign this issue to me ? thx
        Hide
        hadoopqa Hadoop QA added a comment -
        -1 overall



        Vote Subsystem Runtime Comment
        0 reexec 0m 17s Docker mode activated.
        +1 @author 0m 0s The patch does not contain any @author tags.
        -1 test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
        +1 mvninstall 7m 28s trunk passed
        +1 compile 0m 17s trunk passed
        +1 checkstyle 0m 14s trunk passed
        +1 mvnsite 0m 20s trunk passed
        +1 mvneclipse 0m 20s trunk passed
        +1 findbugs 0m 26s trunk passed
        +1 javadoc 0m 13s trunk passed
        +1 mvninstall 0m 16s the patch passed
        +1 compile 0m 14s the patch passed
        +1 javac 0m 14s the patch passed
        +1 checkstyle 0m 10s the patch passed
        +1 mvnsite 0m 18s the patch passed
        +1 mvneclipse 0m 11s the patch passed
        +1 whitespace 0m 0s The patch has no whitespace issues.
        +1 findbugs 0m 31s the patch passed
        +1 javadoc 0m 10s the patch passed
        +1 unit 1m 21s hadoop-azure in the patch passed.
        +1 asflicense 0m 18s The patch does not generate ASF License warnings.
        14m 14s



        Subsystem Report/Notes
        Docker Image:yetus/hadoop:a9ad5d6
        JIRA Issue HADOOP-13831
        JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12842905/HADOOP-13831.001.patch
        Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
        uname Linux c3a20d2fc120 3.13.0-95-generic #142-Ubuntu SMP Fri Aug 12 17:00:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
        Build tool maven
        Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
        git revision trunk / c6a3923
        Default Java 1.8.0_111
        findbugs v3.0.0
        Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/11254/testReport/
        modules C: hadoop-tools/hadoop-azure U: hadoop-tools/hadoop-azure
        Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/11254/console
        Powered by Apache Yetus 0.5.0-SNAPSHOT http://yetus.apache.org

        This message was automatically generated.

        Show
        hadoopqa Hadoop QA added a comment - -1 overall Vote Subsystem Runtime Comment 0 reexec 0m 17s Docker mode activated. +1 @author 0m 0s The patch does not contain any @author tags. -1 test4tests 0m 0s The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch. +1 mvninstall 7m 28s trunk passed +1 compile 0m 17s trunk passed +1 checkstyle 0m 14s trunk passed +1 mvnsite 0m 20s trunk passed +1 mvneclipse 0m 20s trunk passed +1 findbugs 0m 26s trunk passed +1 javadoc 0m 13s trunk passed +1 mvninstall 0m 16s the patch passed +1 compile 0m 14s the patch passed +1 javac 0m 14s the patch passed +1 checkstyle 0m 10s the patch passed +1 mvnsite 0m 18s the patch passed +1 mvneclipse 0m 11s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 0m 31s the patch passed +1 javadoc 0m 10s the patch passed +1 unit 1m 21s hadoop-azure in the patch passed. +1 asflicense 0m 18s The patch does not generate ASF License warnings. 14m 14s Subsystem Report/Notes Docker Image:yetus/hadoop:a9ad5d6 JIRA Issue HADOOP-13831 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12842905/HADOOP-13831.001.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux c3a20d2fc120 3.13.0-95-generic #142-Ubuntu SMP Fri Aug 12 17:00:09 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / c6a3923 Default Java 1.8.0_111 findbugs v3.0.0 Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/11254/testReport/ modules C: hadoop-tools/hadoop-azure U: hadoop-tools/hadoop-azure Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/11254/console Powered by Apache Yetus 0.5.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
        Hide
        stevel@apache.org Steve Loughran added a comment -
        1. assigned to you
        2. Because yetus/jenkins doesn't test them, we try to keep a strict policy of "submitter must attest to having passed tests for the relevant object store", : https://wiki.apache.org/hadoop/HowToContribute#Submitting_patches_against_object_stores_such_as_Amazon_S3.2C_OpenStack_Swift_and_Microsoft_Azure . Can you confirm that you have done so.
        Show
        stevel@apache.org Steve Loughran added a comment - assigned to you Because yetus/jenkins doesn't test them, we try to keep a strict policy of "submitter must attest to having passed tests for the relevant object store", : https://wiki.apache.org/hadoop/HowToContribute#Submitting_patches_against_object_stores_such_as_Amazon_S3.2C_OpenStack_Swift_and_Microsoft_Azure . Can you confirm that you have done so.
        Hide
        gouravk Gaurav Kanade added a comment -

        Thanks Steve Loughran ! So I have run all relevant tests during package compilation (number of tests passing before and after the patch is the same). In addition, I have created a custom jar with the same patch on my hdp cluster and did basic sanity testing. This works. The specific case of testing the functionality of the patch pertains to detecting server failure condition which is hard to simulate without long running test, hence as such this is not particularly tested. I believe we have had similar patches in the past such as HADOOP-12334 and HADOOP-11693 which followed a similar template. If there is any additional testing that needs to / can be done please give me some idea and I will explore it. The patch is fairly straightforward - a simple change in conditional check - test for http status code 503 instead of relying on storage error code - and was recommended by azure storage team.

        Now adding Dushyanth, Duo Xu Mingliang Liu and Nitin Verma for review and further input

        Show
        gouravk Gaurav Kanade added a comment - Thanks Steve Loughran ! So I have run all relevant tests during package compilation (number of tests passing before and after the patch is the same). In addition, I have created a custom jar with the same patch on my hdp cluster and did basic sanity testing. This works. The specific case of testing the functionality of the patch pertains to detecting server failure condition which is hard to simulate without long running test, hence as such this is not particularly tested. I believe we have had similar patches in the past such as HADOOP-12334 and HADOOP-11693 which followed a similar template. If there is any additional testing that needs to / can be done please give me some idea and I will explore it. The patch is fairly straightforward - a simple change in conditional check - test for http status code 503 instead of relying on storage error code - and was recommended by azure storage team. Now adding Dushyanth , Duo Xu Mingliang Liu and Nitin Verma for review and further input
        Hide
        nitin.verma@gmail.com NITIN VERMA added a comment -

        +1

        Show
        nitin.verma@gmail.com NITIN VERMA added a comment - +1
        Hide
        antiwari@microsoft.com Anunay Tiwari added a comment -

        +1

        Show
        antiwari@microsoft.com Anunay Tiwari added a comment - +1
        Hide
        liuml07 Mingliang Liu added a comment -

        +1

        Will committed in one second.

        Show
        liuml07 Mingliang Liu added a comment - +1 Will committed in one second.
        Hide
        liuml07 Mingliang Liu added a comment -

        I have committed this patch to trunk and branch-2 branches. Thanks for the contribution, Gaurav Kanade. Thanks for reviewing this, Steve Loughran, Anunay Tiwari and NITIN VERMA

        Show
        liuml07 Mingliang Liu added a comment - I have committed this patch to trunk and branch-2 branches. Thanks for the contribution, Gaurav Kanade . Thanks for reviewing this, Steve Loughran , Anunay Tiwari and NITIN VERMA
        Hide
        hudson Hudson added a comment -

        SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #11002 (See https://builds.apache.org/job/Hadoop-trunk-Commit/11002/)
        HADOOP-13831. Correct check for error code to detect Azure Storage (liuml07: rev f92913c35bfda0d565606f9fb9a301ddd4105fd8)

        • (edit) hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java
        Show
        hudson Hudson added a comment - SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #11002 (See https://builds.apache.org/job/Hadoop-trunk-Commit/11002/ ) HADOOP-13831 . Correct check for error code to detect Azure Storage (liuml07: rev f92913c35bfda0d565606f9fb9a301ddd4105fd8) (edit) hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java

          People

          • Assignee:
            gouravk Gaurav Kanade
            Reporter:
            gouravk Gaurav Kanade
          • Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development