Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.9.0, 3.0.0-beta1
    • Component/s: fs/azure
    • Labels:
      None
    • Target Version/s:
    • Release Note:
      Up to 34% throughput improvement for the wasb:// (Azure) file system when fs.azure.selfthrottling.enable is false fs.azure.autothrottling.enable is true.
    • Flags:
      Patch

      Description

      Big data workloads frequently exceed the Azure Storage max ingress and egress limits (https://docs.microsoft.com/en-us/azure/azure-subscription-service-limits). For example, the max ingress limit for a GRS account in the United States is currently 10 Gbps. When the limit is exceeded, the Azure Storage service fails a percentage of incoming requests, and this causes the client to initiate the retry policy. The retry policy delays requests by sleeping, but the sleep duration is independent of the client throughput and account limit. This results in low throughput, due to the high number of failed requests and thrashing causes by the retry policy.

      To fix this, we introduce a client-side throttle which minimizes failed requests and maximizes throughput. Tests have shown that this improves throughtput by ~34% when the storage account max ingress and/or egress limits are exceeded.

      1. HADOOP-14660-001.patch
        46 kB
        Thomas Marquardt
      2. HADOOP-14660-002.patch
        46 kB
        Thomas Marquardt
      3. HADOOP-14660-003.patch
        46 kB
        Thomas Marquardt
      4. HADOOP-14660-004.patch
        46 kB
        Thomas Marquardt
      5. HADOOP-14660-005.patch
        49 kB
        Thomas Marquardt
      6. HADOOP-14660-006.patch
        65 kB
        Thomas Marquardt
      7. HADOOP-14660-007.patch
        65 kB
        Thomas Marquardt
      8. HADOOP-14660-008.patch
        65 kB
        Thomas Marquardt
      9. HADOOP-14660-010.patch
        59 kB
        Steve Loughran
      10. HADOOP-14660-branch-2-001.patch
        59 kB
        Thomas Marquardt

        Issue Links

          Activity

          Hide
          tmarquardt Thomas Marquardt added a comment -

          Attaching HADOOP-14660-001.patch.

          Client-side throttling works as follows:

          When fs.azure.selfthrottling is false and fs.azure.autothrottling is true, the feature is enabled, The feature is not enabled by default. When enabled, it listens to the SendRequestEvent and ErrorReceivingResponseEvent exposed by Azure Storage SDK. In SendRequestEvent it will sleep, if necessary, to reduce errors caused by exceeding account ingress/egress limit and throttle throughput. In ErrorReceivingResponseEvent, it will inspect the HTTP request/response and update metrics. The metrics it calculates are "bytes successfully transferred", "bytes failed to transfer", "number of successful operations", and "number of failed operations". It treats reads and writes separately, so there are actually two groups of metrics, one for read (GetBlob) and another for write (PutBlock, PutPage, and AppendBlock).

          There is a timer that fires every 10 seconds. The timer callback analyzes the metrics during the last 10 seconds and updates the "sleep duration" used in SendRequestEvent. (There are actually two "sleep durations", one for reads and one for writes.) To update the "sleep duration", the timer callback first calculates the error percentage:

          Error Percentage = 100 * Bytes Failed / (Bytes Failed + Bytes Successful)

          The sleep duration is then updated as follows:

          if (Error Percentage < .1) {
          Sleep Duration = Sleep Duration * .975
          } else if (Error Percentage < 1) {
          // Do nothing in attempt to stabilize. Less than 1% errors is acceptable.
          } else {
          Additional Delay = (Bytes Failed + Bytes Successful) * 10 Seconds / Bytes Successful - 10 Seconds
          Sleep Duration = Additional Delay / (Operations Failed + Operations Successful)
          }

          The above describes the algorithm in a nutshell, omitting special handling (to avoid divide by zero, etc)

          Show
          tmarquardt Thomas Marquardt added a comment - Attaching HADOOP-14660 -001.patch. Client-side throttling works as follows: When fs.azure.selfthrottling is false and fs.azure.autothrottling is true , the feature is enabled, The feature is not enabled by default. When enabled, it listens to the SendRequestEvent and ErrorReceivingResponseEvent exposed by Azure Storage SDK. In SendRequestEvent it will sleep, if necessary, to reduce errors caused by exceeding account ingress/egress limit and throttle throughput. In ErrorReceivingResponseEvent, it will inspect the HTTP request/response and update metrics. The metrics it calculates are "bytes successfully transferred", "bytes failed to transfer", "number of successful operations", and "number of failed operations". It treats reads and writes separately, so there are actually two groups of metrics, one for read (GetBlob) and another for write (PutBlock, PutPage, and AppendBlock). There is a timer that fires every 10 seconds. The timer callback analyzes the metrics during the last 10 seconds and updates the "sleep duration" used in SendRequestEvent. (There are actually two "sleep durations", one for reads and one for writes.) To update the "sleep duration", the timer callback first calculates the error percentage: Error Percentage = 100 * Bytes Failed / (Bytes Failed + Bytes Successful) The sleep duration is then updated as follows: if (Error Percentage < .1) { Sleep Duration = Sleep Duration * .975 } else if (Error Percentage < 1) { // Do nothing in attempt to stabilize. Less than 1% errors is acceptable. } else { Additional Delay = (Bytes Failed + Bytes Successful) * 10 Seconds / Bytes Successful - 10 Seconds Sleep Duration = Additional Delay / (Operations Failed + Operations Successful) } The above describes the algorithm in a nutshell, omitting special handling (to avoid divide by zero, etc)
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 12s Docker mode activated.
                Prechecks
          +1 @author 0m 0s The patch does not contain any @author tags.
          +1 test4tests 0m 0s The patch appears to include 3 new or modified test files.
                trunk Compile Tests
          0 mvndep 0m 15s Maven dependency ordering for branch
          +1 mvninstall 13m 5s trunk passed
          +1 compile 13m 38s trunk passed
          +1 checkstyle 1m 53s trunk passed
          +1 mvnsite 2m 13s trunk passed
          0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project
          +1 findbugs 1m 56s trunk passed
          +1 javadoc 1m 31s trunk passed
                Patch Compile Tests
          0 mvndep 0m 19s Maven dependency ordering for patch
          +1 mvninstall 1m 10s the patch passed
          +1 compile 10m 11s the patch passed
          +1 javac 10m 11s the patch passed
          -0 checkstyle 2m 1s root: The patch generated 25 new + 45 unchanged - 0 fixed = 70 total (was 45)
          +1 mvnsite 2m 21s the patch passed
          +1 whitespace 0m 0s The patch has no whitespace issues.
          +1 xml 0m 1s The patch has no ill-formed XML file.
          0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project
          -1 findbugs 0m 48s hadoop-tools/hadoop-azure generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0)
          +1 javadoc 1m 43s the patch passed
                Other Tests
          +1 unit 0m 21s hadoop-project in the patch passed.
          -1 unit 7m 39s hadoop-common in the patch failed.
          +1 unit 2m 11s hadoop-azure in the patch passed.
          +1 asflicense 0m 39s The patch does not generate ASF License warnings.
          87m 19s



          Reason Tests
          FindBugs module:hadoop-tools/hadoop-azure
            Switch statement found in org.apache.hadoop.fs.azure.BlobOperationDescriptor.getOperationType(HttpURLConnection) where default case is missing At BlobOperationDescriptor.java:where default case is missing At BlobOperationDescriptor.java:[lines 130-142]
          Failed junit tests hadoop.net.TestDNS
            hadoop.fs.viewfs.TestViewFileSystemLocalFileSystem



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:14b5c93
          JIRA Issue HADOOP-14660
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877228/HADOOP-14660-001.patch
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle xml
          uname Linux ec3f5bdcfefc 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
          Build tool maven
          Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
          git revision trunk / 228ddaa
          Default Java 1.8.0_131
          findbugs v3.1.0-RC1
          checkstyle https://builds.apache.org/job/PreCommit-HADOOP-Build/12782/artifact/patchprocess/diff-checkstyle-root.txt
          findbugs https://builds.apache.org/job/PreCommit-HADOOP-Build/12782/artifact/patchprocess/new-findbugs-hadoop-tools_hadoop-azure.html
          unit https://builds.apache.org/job/PreCommit-HADOOP-Build/12782/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt
          Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/12782/testReport/
          modules C: hadoop-project hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: .
          Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12782/console
          Powered by Apache Yetus 0.6.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 12s Docker mode activated.       Prechecks +1 @author 0m 0s The patch does not contain any @author tags. +1 test4tests 0m 0s The patch appears to include 3 new or modified test files.       trunk Compile Tests 0 mvndep 0m 15s Maven dependency ordering for branch +1 mvninstall 13m 5s trunk passed +1 compile 13m 38s trunk passed +1 checkstyle 1m 53s trunk passed +1 mvnsite 2m 13s trunk passed 0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project +1 findbugs 1m 56s trunk passed +1 javadoc 1m 31s trunk passed       Patch Compile Tests 0 mvndep 0m 19s Maven dependency ordering for patch +1 mvninstall 1m 10s the patch passed +1 compile 10m 11s the patch passed +1 javac 10m 11s the patch passed -0 checkstyle 2m 1s root: The patch generated 25 new + 45 unchanged - 0 fixed = 70 total (was 45) +1 mvnsite 2m 21s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 xml 0m 1s The patch has no ill-formed XML file. 0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project -1 findbugs 0m 48s hadoop-tools/hadoop-azure generated 1 new + 0 unchanged - 0 fixed = 1 total (was 0) +1 javadoc 1m 43s the patch passed       Other Tests +1 unit 0m 21s hadoop-project in the patch passed. -1 unit 7m 39s hadoop-common in the patch failed. +1 unit 2m 11s hadoop-azure in the patch passed. +1 asflicense 0m 39s The patch does not generate ASF License warnings. 87m 19s Reason Tests FindBugs module:hadoop-tools/hadoop-azure   Switch statement found in org.apache.hadoop.fs.azure.BlobOperationDescriptor.getOperationType(HttpURLConnection) where default case is missing At BlobOperationDescriptor.java:where default case is missing At BlobOperationDescriptor.java: [lines 130-142] Failed junit tests hadoop.net.TestDNS   hadoop.fs.viewfs.TestViewFileSystemLocalFileSystem Subsystem Report/Notes Docker Image:yetus/hadoop:14b5c93 JIRA Issue HADOOP-14660 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877228/HADOOP-14660-001.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle xml uname Linux ec3f5bdcfefc 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / 228ddaa Default Java 1.8.0_131 findbugs v3.1.0-RC1 checkstyle https://builds.apache.org/job/PreCommit-HADOOP-Build/12782/artifact/patchprocess/diff-checkstyle-root.txt findbugs https://builds.apache.org/job/PreCommit-HADOOP-Build/12782/artifact/patchprocess/new-findbugs-hadoop-tools_hadoop-azure.html unit https://builds.apache.org/job/PreCommit-HADOOP-Build/12782/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/12782/testReport/ modules C: hadoop-project hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: . Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12782/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
          Hide
          tmarquardt Thomas Marquardt added a comment -

          Attaching HADOOP-14660-002.patch with findbugs fix for missing switch/default. The unit test failure is not related to this change.

          All 743 hadoop-azure tests are passing with this patch:

          Tests run: 743, Failures: 0, Errors: 0, Skipped: 129.

          Show
          tmarquardt Thomas Marquardt added a comment - Attaching HADOOP-14660 -002.patch with findbugs fix for missing switch/default. The unit test failure is not related to this change. All 743 hadoop-azure tests are passing with this patch: Tests run: 743, Failures: 0, Errors: 0, Skipped: 129.
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 13s Docker mode activated.
                Prechecks
          +1 @author 0m 0s The patch does not contain any @author tags.
          +1 test4tests 0m 0s The patch appears to include 3 new or modified test files.
                trunk Compile Tests
          0 mvndep 1m 10s Maven dependency ordering for branch
          +1 mvninstall 13m 14s trunk passed
          +1 compile 13m 28s trunk passed
          +1 checkstyle 1m 53s trunk passed
          +1 mvnsite 2m 12s trunk passed
          0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project
          +1 findbugs 1m 57s trunk passed
          +1 javadoc 1m 33s trunk passed
                Patch Compile Tests
          0 mvndep 0m 18s Maven dependency ordering for patch
          +1 mvninstall 1m 10s the patch passed
          +1 compile 10m 15s the patch passed
          +1 javac 10m 15s the patch passed
          -0 checkstyle 1m 57s root: The patch generated 24 new + 45 unchanged - 0 fixed = 69 total (was 45)
          +1 mvnsite 2m 17s the patch passed
          +1 whitespace 0m 0s The patch has no whitespace issues.
          +1 xml 0m 1s The patch has no ill-formed XML file.
          0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project
          +1 findbugs 2m 20s the patch passed
          +1 javadoc 1m 42s the patch passed
                Other Tests
          +1 unit 0m 21s hadoop-project in the patch passed.
          -1 unit 8m 4s hadoop-common in the patch failed.
          +1 unit 2m 11s hadoop-azure in the patch passed.
          +1 asflicense 0m 40s The patch does not generate ASF License warnings.
          88m 43s



          Reason Tests
          Failed junit tests hadoop.security.TestKDiag



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:14b5c93
          JIRA Issue HADOOP-14660
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877248/HADOOP-14660-002.patch
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle xml
          uname Linux 02b1b783ef83 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
          Build tool maven
          Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
          git revision trunk / 4a574e9
          Default Java 1.8.0_131
          findbugs v3.1.0-RC1
          checkstyle https://builds.apache.org/job/PreCommit-HADOOP-Build/12783/artifact/patchprocess/diff-checkstyle-root.txt
          unit https://builds.apache.org/job/PreCommit-HADOOP-Build/12783/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt
          Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/12783/testReport/
          modules C: hadoop-project hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: .
          Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12783/console
          Powered by Apache Yetus 0.6.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 13s Docker mode activated.       Prechecks +1 @author 0m 0s The patch does not contain any @author tags. +1 test4tests 0m 0s The patch appears to include 3 new or modified test files.       trunk Compile Tests 0 mvndep 1m 10s Maven dependency ordering for branch +1 mvninstall 13m 14s trunk passed +1 compile 13m 28s trunk passed +1 checkstyle 1m 53s trunk passed +1 mvnsite 2m 12s trunk passed 0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project +1 findbugs 1m 57s trunk passed +1 javadoc 1m 33s trunk passed       Patch Compile Tests 0 mvndep 0m 18s Maven dependency ordering for patch +1 mvninstall 1m 10s the patch passed +1 compile 10m 15s the patch passed +1 javac 10m 15s the patch passed -0 checkstyle 1m 57s root: The patch generated 24 new + 45 unchanged - 0 fixed = 69 total (was 45) +1 mvnsite 2m 17s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 xml 0m 1s The patch has no ill-formed XML file. 0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project +1 findbugs 2m 20s the patch passed +1 javadoc 1m 42s the patch passed       Other Tests +1 unit 0m 21s hadoop-project in the patch passed. -1 unit 8m 4s hadoop-common in the patch failed. +1 unit 2m 11s hadoop-azure in the patch passed. +1 asflicense 0m 40s The patch does not generate ASF License warnings. 88m 43s Reason Tests Failed junit tests hadoop.security.TestKDiag Subsystem Report/Notes Docker Image:yetus/hadoop:14b5c93 JIRA Issue HADOOP-14660 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877248/HADOOP-14660-002.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle xml uname Linux 02b1b783ef83 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / 4a574e9 Default Java 1.8.0_131 findbugs v3.1.0-RC1 checkstyle https://builds.apache.org/job/PreCommit-HADOOP-Build/12783/artifact/patchprocess/diff-checkstyle-root.txt unit https://builds.apache.org/job/PreCommit-HADOOP-Build/12783/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/12783/testReport/ modules C: hadoop-project hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: . Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12783/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
          Hide
          tmarquardt Thomas Marquardt added a comment -

          The hadoop-common tests are intermittently failing. These test results are independent of the patch.

          Show
          tmarquardt Thomas Marquardt added a comment - The hadoop-common tests are intermittently failing. These test results are independent of the patch.
          Hide
          stevel@apache.org Steve Loughran added a comment -

          Interesting: numbers look good, and its the kind of problem which doesn't surface in testing unless you are playing with fault injection.

          What's going to happen over long haul links, especially if there's a bit of unreliability in them? I'm thinking of (a) overeacting to transient failures, and conflict with the usual TCP congestion control

          I'm fixing up S3A to handle AWS throttling, which has to be in our client (503 -> throttled exception -> custom retry policy with exponential backoff (maybe I should add jitter too)). I plan to actually log this as part of the instrumentation, so when you collect the results of a job, you can see that a lot of throttling took place. Is there a way to pick this up here?

          1. updating SDK must be a separate, standalone patch, linked as depended on by HADOOP-9991; mark this throttling patch as depending on the SDK update. That helps identifying high-risk version updates, simplifies rollback, etc.
          2. new key should, if settable by users, listed in a public constant. I'd also prefer "enabled" as the element name, rather than "enable", though that's very subjective
          3. log @ debug when throttling is on & what the options are.
          4. BlobOperationDescriptor.getContentLengthIfKnown: add tests for parsing invalid input strings; they should be be rejected rather than trigger failures (which is probably what happens in this patch)
          5. Use SLF4J for all logging; we've moved off commons logging. This lets you do logging as LOG.info("timer is {}", timer) & have on-demand string construction only when the logging is needed
          6. if an outer class is tagged as InterfaceAudience.Private, no need to mark the inner classes/interfaces.
          • are you confident that TimerTaskImpl is always stopped? And can you make sure the thread has a meaningful name, like "wasb-timer-container-mycontainer".

          ClientThrottlingAnalyzer

          • L81. you can use Preconditions.checkArgument here, and StringUtils.isNotEmpty() as the check for non-empty strings.
          • L183: to avoid needless string construction, guard the log@ debug with a LOG.isDebugEnabled()

          TestBlobOperationDescriptor

          • extend AbstractWasbTestBase
          • output streams &c must be closed even when asserts are raised; try-with-resources can do this.
          • AbstractWasbTestBase & others. Just say throws Exception; more flexible in future as tests change.

          TestClientThrottlingAnalyzer

          • In HADOOP-14553 I'm going to switch all possible tests to parallel runs, and don't want to add new sequential runs if possible. How will a parallel run impact timing estimates, especially if run over a long-haul link. Some of those assertions look britlle.
          • lot of repetition in the tests: Can you refactor this out?
          Show
          stevel@apache.org Steve Loughran added a comment - Interesting: numbers look good, and its the kind of problem which doesn't surface in testing unless you are playing with fault injection. What's going to happen over long haul links, especially if there's a bit of unreliability in them? I'm thinking of (a) overeacting to transient failures, and conflict with the usual TCP congestion control I'm fixing up S3A to handle AWS throttling, which has to be in our client (503 -> throttled exception -> custom retry policy with exponential backoff (maybe I should add jitter too)). I plan to actually log this as part of the instrumentation, so when you collect the results of a job, you can see that a lot of throttling took place. Is there a way to pick this up here? updating SDK must be a separate, standalone patch, linked as depended on by HADOOP-9991 ; mark this throttling patch as depending on the SDK update. That helps identifying high-risk version updates, simplifies rollback, etc. new key should, if settable by users, listed in a public constant. I'd also prefer "enabled" as the element name, rather than "enable", though that's very subjective log @ debug when throttling is on & what the options are. BlobOperationDescriptor.getContentLengthIfKnown : add tests for parsing invalid input strings; they should be be rejected rather than trigger failures (which is probably what happens in this patch) Use SLF4J for all logging; we've moved off commons logging. This lets you do logging as LOG.info("timer is {}", timer) & have on-demand string construction only when the logging is needed if an outer class is tagged as InterfaceAudience.Private , no need to mark the inner classes/interfaces. are you confident that TimerTaskImpl is always stopped? And can you make sure the thread has a meaningful name, like "wasb-timer-container-mycontainer". ClientThrottlingAnalyzer L81. you can use Preconditions.checkArgument here, and StringUtils.isNotEmpty() as the check for non-empty strings. L183: to avoid needless string construction, guard the log@ debug with a LOG.isDebugEnabled() TestBlobOperationDescriptor extend AbstractWasbTestBase output streams &c must be closed even when asserts are raised; try-with-resources can do this. AbstractWasbTestBase & others. Just say throws Exception ; more flexible in future as tests change. TestClientThrottlingAnalyzer In HADOOP-14553 I'm going to switch all possible tests to parallel runs, and don't want to add new sequential runs if possible. How will a parallel run impact timing estimates, especially if run over a long-haul link. Some of those assertions look britlle. lot of repetition in the tests: Can you refactor this out?
          Hide
          tmarquardt Thomas Marquardt added a comment -

          Attached HADOOP-14660-003.patch.

          Thanks for the feedback Steve! My response below:

          We tested this on an HDInsight cluster using real loads against Azure Storage and used Storage Metrics (https://docs.microsoft.com/en-us/rest/api/storageservices/Storage-Analytics-Metrics-Table-Schema) to analyze the performance. For example, with the client-side throttling feature enabled for an account with 10 Gbps ingress limit, the total ingress throughput levels off at approximately 10 Gbps, whereas without the feature the throughput varies between 5 Gbps and 10 Gbps as the service rejects requests and the retry policy kicks in. For example, a teragen job that attempts to upload more than the ingress limit allows can complete 30 to 40% faster with the feature enabled. There can be tens or hundreds of wasb clients and they independently throttle themselves with no knowledge of each other, and together they minimize errors and maximize throughput.

          I do not believe there will be any contention with TCP congestion control. I'm confident, but not overly so, which is why the feature is disabled by default. I'd like to obtain feedback and perhaps enable it by default in the future.

          The Azure Storage service exposes account level metrics so we're not in the dark today. My team plans to review and implement client-side metrics for wasb. We're a small team, and metrics are important to get right, so we don't want to do it piecemeal, but instead will review and make comprehensive changes.

          This change will not compile without the 5.4.0 SDK, as it uses the new ErrorReceivingResponseEvent, but I'll create a separate JIRA as you requested.

          I agree the configuration key should have the suffix "enabled", but for consistency I'm using "enable" because all the other wasb configuration keys are this way.

          ClientThrottlingInercept logs a debug message saying "Client-side throttling is enabled for the WASB file system." There are no other configurable options for the feature, so nothing else is included in the message.

          The HTTP request/response parsing (BlobOperationDescriptor.getContentLengthIfKnown) is best effort. It should not throw or fail for the data that it processes. There are tests to validate this parsing logic and its integration with the Storage SDK, but it is not a general purpose parser--it works inconjunction with the SDK.

          I switched to SLF4J.

          Removed superfluous InterfaceAudience.Private.

          Changed timer name to "wasb-timer-client-throttling-analyzer-<name>". The timer task returns quickly--no blocking, waiting, loops, etc.

          I updated ClientThrottlingAnalyzer, TestBlobOperationDescriptor, and TestClientThrottlingAnalyzer as requeseted.

          Show
          tmarquardt Thomas Marquardt added a comment - Attached HADOOP-14660 -003.patch. Thanks for the feedback Steve! My response below: We tested this on an HDInsight cluster using real loads against Azure Storage and used Storage Metrics ( https://docs.microsoft.com/en-us/rest/api/storageservices/Storage-Analytics-Metrics-Table-Schema ) to analyze the performance. For example, with the client-side throttling feature enabled for an account with 10 Gbps ingress limit, the total ingress throughput levels off at approximately 10 Gbps, whereas without the feature the throughput varies between 5 Gbps and 10 Gbps as the service rejects requests and the retry policy kicks in. For example, a teragen job that attempts to upload more than the ingress limit allows can complete 30 to 40% faster with the feature enabled. There can be tens or hundreds of wasb clients and they independently throttle themselves with no knowledge of each other, and together they minimize errors and maximize throughput. I do not believe there will be any contention with TCP congestion control. I'm confident, but not overly so, which is why the feature is disabled by default. I'd like to obtain feedback and perhaps enable it by default in the future. The Azure Storage service exposes account level metrics so we're not in the dark today. My team plans to review and implement client-side metrics for wasb. We're a small team, and metrics are important to get right, so we don't want to do it piecemeal, but instead will review and make comprehensive changes. This change will not compile without the 5.4.0 SDK, as it uses the new ErrorReceivingResponseEvent, but I'll create a separate JIRA as you requested. I agree the configuration key should have the suffix "enabled", but for consistency I'm using "enable" because all the other wasb configuration keys are this way. ClientThrottlingInercept logs a debug message saying "Client-side throttling is enabled for the WASB file system." There are no other configurable options for the feature, so nothing else is included in the message. The HTTP request/response parsing (BlobOperationDescriptor.getContentLengthIfKnown) is best effort. It should not throw or fail for the data that it processes. There are tests to validate this parsing logic and its integration with the Storage SDK, but it is not a general purpose parser--it works inconjunction with the SDK. I switched to SLF4J. Removed superfluous InterfaceAudience.Private. Changed timer name to "wasb-timer-client-throttling-analyzer-<name>". The timer task returns quickly--no blocking, waiting, loops, etc. I updated ClientThrottlingAnalyzer, TestBlobOperationDescriptor, and TestClientThrottlingAnalyzer as requeseted.
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 14s Docker mode activated.
                Prechecks
          +1 @author 0m 0s The patch does not contain any @author tags.
          +1 test4tests 0m 0s The patch appears to include 4 new or modified test files.
                trunk Compile Tests
          0 mvndep 1m 26s Maven dependency ordering for branch
          +1 mvninstall 16m 5s trunk passed
          -1 compile 6m 27s root in trunk failed.
          +1 checkstyle 2m 14s trunk passed
          +1 mvnsite 2m 20s trunk passed
          0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project
          +1 findbugs 2m 10s trunk passed
          +1 javadoc 1m 28s trunk passed
                Patch Compile Tests
          0 mvndep 0m 21s Maven dependency ordering for patch
          +1 mvninstall 1m 30s the patch passed
          +1 compile 17m 31s the patch passed
          -1 javac 17m 31s root generated 553 new + 805 unchanged - 0 fixed = 1358 total (was 805)
          -0 checkstyle 2m 18s root: The patch generated 24 new + 45 unchanged - 0 fixed = 69 total (was 45)
          +1 mvnsite 2m 33s the patch passed
          +1 whitespace 0m 0s The patch has no whitespace issues.
          +1 xml 0m 2s The patch has no ill-formed XML file.
          0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project
          +1 findbugs 2m 51s the patch passed
          +1 javadoc 1m 55s the patch passed
                Other Tests
          +1 unit 0m 21s hadoop-project in the patch passed.
          +1 unit 9m 43s hadoop-common in the patch passed.
          +1 unit 2m 26s hadoop-azure in the patch passed.
          +1 asflicense 0m 42s The patch does not generate ASF License warnings.
          96m 10s



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:14b5c93
          JIRA Issue HADOOP-14660
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877364/HADOOP-14660-003.patch
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle xml
          uname Linux e53bacce887e 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
          Build tool maven
          Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
          git revision trunk / 75c0220
          Default Java 1.8.0_131
          compile https://builds.apache.org/job/PreCommit-HADOOP-Build/12786/artifact/patchprocess/branch-compile-root.txt
          findbugs v3.1.0-RC1
          javac https://builds.apache.org/job/PreCommit-HADOOP-Build/12786/artifact/patchprocess/diff-compile-javac-root.txt
          checkstyle https://builds.apache.org/job/PreCommit-HADOOP-Build/12786/artifact/patchprocess/diff-checkstyle-root.txt
          Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/12786/testReport/
          modules C: hadoop-project hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: .
          Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12786/console
          Powered by Apache Yetus 0.6.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 14s Docker mode activated.       Prechecks +1 @author 0m 0s The patch does not contain any @author tags. +1 test4tests 0m 0s The patch appears to include 4 new or modified test files.       trunk Compile Tests 0 mvndep 1m 26s Maven dependency ordering for branch +1 mvninstall 16m 5s trunk passed -1 compile 6m 27s root in trunk failed. +1 checkstyle 2m 14s trunk passed +1 mvnsite 2m 20s trunk passed 0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project +1 findbugs 2m 10s trunk passed +1 javadoc 1m 28s trunk passed       Patch Compile Tests 0 mvndep 0m 21s Maven dependency ordering for patch +1 mvninstall 1m 30s the patch passed +1 compile 17m 31s the patch passed -1 javac 17m 31s root generated 553 new + 805 unchanged - 0 fixed = 1358 total (was 805) -0 checkstyle 2m 18s root: The patch generated 24 new + 45 unchanged - 0 fixed = 69 total (was 45) +1 mvnsite 2m 33s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 xml 0m 2s The patch has no ill-formed XML file. 0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project +1 findbugs 2m 51s the patch passed +1 javadoc 1m 55s the patch passed       Other Tests +1 unit 0m 21s hadoop-project in the patch passed. +1 unit 9m 43s hadoop-common in the patch passed. +1 unit 2m 26s hadoop-azure in the patch passed. +1 asflicense 0m 42s The patch does not generate ASF License warnings. 96m 10s Subsystem Report/Notes Docker Image:yetus/hadoop:14b5c93 JIRA Issue HADOOP-14660 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877364/HADOOP-14660-003.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle xml uname Linux e53bacce887e 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / 75c0220 Default Java 1.8.0_131 compile https://builds.apache.org/job/PreCommit-HADOOP-Build/12786/artifact/patchprocess/branch-compile-root.txt findbugs v3.1.0-RC1 javac https://builds.apache.org/job/PreCommit-HADOOP-Build/12786/artifact/patchprocess/diff-compile-javac-root.txt checkstyle https://builds.apache.org/job/PreCommit-HADOOP-Build/12786/artifact/patchprocess/diff-checkstyle-root.txt Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/12786/testReport/ modules C: hadoop-project hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: . Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12786/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
          Hide
          tmarquardt Thomas Marquardt added a comment -

          Looks like a transient build failure. I'll re-submit.

          Show
          tmarquardt Thomas Marquardt added a comment - Looks like a transient build failure. I'll re-submit.
          Hide
          tmarquardt Thomas Marquardt added a comment -

          Cancelling so I can re-submit due to transient build failure.

          Show
          tmarquardt Thomas Marquardt added a comment - Cancelling so I can re-submit due to transient build failure.
          Hide
          tmarquardt Thomas Marquardt added a comment -

          Re-submitting HADOOP-14660-003.patch due to transient build failure.

          Show
          tmarquardt Thomas Marquardt added a comment - Re-submitting HADOOP-14660 -003.patch due to transient build failure.
          Hide
          tmarquardt Thomas Marquardt added a comment -

          Looks like re-submitting doesn't work, so I've renamed the patch to HADOOP-14660-004.patch.

          Show
          tmarquardt Thomas Marquardt added a comment - Looks like re-submitting doesn't work, so I've renamed the patch to HADOOP-14660 -004.patch.
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 13s Docker mode activated.
                Prechecks
          +1 @author 0m 0s The patch does not contain any @author tags.
          +1 test4tests 0m 0s The patch appears to include 4 new or modified test files.
                trunk Compile Tests
          0 mvndep 1m 19s Maven dependency ordering for branch
          +1 mvninstall 13m 20s trunk passed
          +1 compile 13m 44s trunk passed
          +1 checkstyle 1m 51s trunk passed
          +1 mvnsite 2m 13s trunk passed
          0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project
          +1 findbugs 1m 58s trunk passed
          +1 javadoc 1m 33s trunk passed
                Patch Compile Tests
          0 mvndep 0m 18s Maven dependency ordering for patch
          +1 mvninstall 1m 10s the patch passed
          +1 compile 10m 14s the patch passed
          +1 javac 10m 14s the patch passed
          -0 checkstyle 1m 58s root: The patch generated 24 new + 45 unchanged - 0 fixed = 69 total (was 45)
          +1 mvnsite 2m 19s the patch passed
          +1 whitespace 0m 0s The patch has no whitespace issues.
          +1 xml 0m 1s The patch has no ill-formed XML file.
          0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project
          +1 findbugs 2m 21s the patch passed
          +1 javadoc 1m 39s the patch passed
                Other Tests
          +1 unit 0m 20s hadoop-project in the patch passed.
          -1 unit 8m 6s hadoop-common in the patch failed.
          +1 unit 2m 13s hadoop-azure in the patch passed.
          +1 asflicense 0m 40s The patch does not generate ASF License warnings.
          89m 17s



          Reason Tests
          Failed junit tests hadoop.security.TestKDiag



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:14b5c93
          JIRA Issue HADOOP-14660
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877420/HADOOP-14660-004.patch
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle xml
          uname Linux 3fe80f1d3286 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
          Build tool maven
          Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
          git revision trunk / f413ee3
          Default Java 1.8.0_131
          findbugs v3.1.0-RC1
          checkstyle https://builds.apache.org/job/PreCommit-HADOOP-Build/12789/artifact/patchprocess/diff-checkstyle-root.txt
          unit https://builds.apache.org/job/PreCommit-HADOOP-Build/12789/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt
          Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/12789/testReport/
          modules C: hadoop-project hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: .
          Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12789/console
          Powered by Apache Yetus 0.6.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 13s Docker mode activated.       Prechecks +1 @author 0m 0s The patch does not contain any @author tags. +1 test4tests 0m 0s The patch appears to include 4 new or modified test files.       trunk Compile Tests 0 mvndep 1m 19s Maven dependency ordering for branch +1 mvninstall 13m 20s trunk passed +1 compile 13m 44s trunk passed +1 checkstyle 1m 51s trunk passed +1 mvnsite 2m 13s trunk passed 0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project +1 findbugs 1m 58s trunk passed +1 javadoc 1m 33s trunk passed       Patch Compile Tests 0 mvndep 0m 18s Maven dependency ordering for patch +1 mvninstall 1m 10s the patch passed +1 compile 10m 14s the patch passed +1 javac 10m 14s the patch passed -0 checkstyle 1m 58s root: The patch generated 24 new + 45 unchanged - 0 fixed = 69 total (was 45) +1 mvnsite 2m 19s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 xml 0m 1s The patch has no ill-formed XML file. 0 findbugs 0m 0s Skipped patched modules with no Java source: hadoop-project +1 findbugs 2m 21s the patch passed +1 javadoc 1m 39s the patch passed       Other Tests +1 unit 0m 20s hadoop-project in the patch passed. -1 unit 8m 6s hadoop-common in the patch failed. +1 unit 2m 13s hadoop-azure in the patch passed. +1 asflicense 0m 40s The patch does not generate ASF License warnings. 89m 17s Reason Tests Failed junit tests hadoop.security.TestKDiag Subsystem Report/Notes Docker Image:yetus/hadoop:14b5c93 JIRA Issue HADOOP-14660 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877420/HADOOP-14660-004.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle xml uname Linux 3fe80f1d3286 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / f413ee3 Default Java 1.8.0_131 findbugs v3.1.0-RC1 checkstyle https://builds.apache.org/job/PreCommit-HADOOP-Build/12789/artifact/patchprocess/diff-checkstyle-root.txt unit https://builds.apache.org/job/PreCommit-HADOOP-Build/12789/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/12789/testReport/ modules C: hadoop-project hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: . Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12789/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
          Hide
          tmarquardt Thomas Marquardt added a comment -

          The test failures are not caused by the patch.

          Show
          tmarquardt Thomas Marquardt added a comment - The test failures are not caused by the patch.
          Hide
          stevel@apache.org Steve Loughran added a comment - - edited

          Brief look at this, I go offline for 2 weeks so expect silence from me. as far as I'm concerned this is good to go in once the style checks are up and you make the declaration of the specific endpoint you tested all the azure tests against (sorry, I'm setting up the process here)

          • try to get those line lengths under 80, including in comments. I know it seems out of date, and I'd prefer a higher number, but current consensus is 80 except when it's really hard to do.
          • my IDE complains about a few general things; have a look in yours (IntelliJ?) to see what it says. Example (ClientThrottlingAnalyzer's new AtomicReference() should be a new AtomicReference<>().
          • ClientThrottlingAnalyzer L150: move {{++consecutiveNoErrorCount * analysisPeriodMs }} into is own var, to make ++ operation more obvious (ie. not mix with the condition)
          • comments above each new class should be /** javadocs */, so they get included in the docs
          • tests look good
          • needs documentation!!!

          If you want this in branch-2, as well as the trunk patch, include one with the syntax HADOOP-14660-branch-2-123.patch; I'm not going to pick it in until a java 7 JVM is happy with the build. Thanks

          Show
          stevel@apache.org Steve Loughran added a comment - - edited Brief look at this, I go offline for 2 weeks so expect silence from me. as far as I'm concerned this is good to go in once the style checks are up and you make the declaration of the specific endpoint you tested all the azure tests against (sorry, I'm setting up the process here) try to get those line lengths under 80, including in comments. I know it seems out of date, and I'd prefer a higher number, but current consensus is 80 except when it's really hard to do. my IDE complains about a few general things; have a look in yours (IntelliJ?) to see what it says. Example (ClientThrottlingAnalyzer's new AtomicReference() should be a new AtomicReference<>() . ClientThrottlingAnalyzer L150: move {{++consecutiveNoErrorCount * analysisPeriodMs }} into is own var, to make ++ operation more obvious (ie. not mix with the condition) comments above each new class should be /** javadocs */, so they get included in the docs tests look good needs documentation!!! If you want this in branch-2, as well as the trunk patch, include one with the syntax HADOOP-14660 -branch-2-123.patch; I'm not going to pick it in until a java 7 JVM is happy with the build. Thanks
          Hide
          tmarquardt Thomas Marquardt added a comment -

          Attaching HADOOP-14660-005.patch.

          Thanks Steve! I've addressed your feedback in HADOOP-14660-005.patch. All hadoop-tools/hadoop-azure tests are passing against my tmarql3 azure storage account.

          Tests run: 743, Failures: 0, Errors: 0, Skipped: 129

          Show
          tmarquardt Thomas Marquardt added a comment - Attaching HADOOP-14660 -005.patch. Thanks Steve! I've addressed your feedback in HADOOP-14660 -005.patch. All hadoop-tools/hadoop-azure tests are passing against my tmarql3 azure storage account. Tests run: 743, Failures: 0, Errors: 0, Skipped: 129
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 15s Docker mode activated.
                Prechecks
          +1 @author 0m 0s The patch does not contain any @author tags.
          +1 test4tests 0m 1s The patch appears to include 4 new or modified test files.
                trunk Compile Tests
          0 mvndep 0m 14s Maven dependency ordering for branch
          +1 mvninstall 14m 5s trunk passed
          +1 compile 13m 52s trunk passed
          +1 checkstyle 1m 54s trunk passed
          +1 mvnsite 1m 56s trunk passed
          +1 findbugs 1m 59s trunk passed
          +1 javadoc 1m 13s trunk passed
                Patch Compile Tests
          0 mvndep 0m 16s Maven dependency ordering for patch
          +1 mvninstall 1m 1s the patch passed
          +1 compile 10m 13s the patch passed
          +1 javac 10m 13s the patch passed
          -0 checkstyle 1m 57s root: The patch generated 25 new + 45 unchanged - 0 fixed = 70 total (was 45)
          +1 mvnsite 1m 59s the patch passed
          +1 whitespace 0m 0s The patch has no whitespace issues.
          +1 findbugs 2m 22s the patch passed
          +1 javadoc 1m 19s the patch passed
                Other Tests
          -1 unit 8m 7s hadoop-common in the patch failed.
          +1 unit 2m 13s hadoop-azure in the patch passed.
          +1 asflicense 0m 41s The patch does not generate ASF License warnings.
          87m 23s



          Reason Tests
          Failed junit tests hadoop.security.TestKDiag
            hadoop.net.TestDNS



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:14b5c93
          JIRA Issue HADOOP-14660
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877457/HADOOP-14660-005.patch
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
          uname Linux 13c130663f21 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
          Build tool maven
          Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
          git revision trunk / 06ece48
          Default Java 1.8.0_131
          findbugs v3.1.0-RC1
          checkstyle https://builds.apache.org/job/PreCommit-HADOOP-Build/12791/artifact/patchprocess/diff-checkstyle-root.txt
          unit https://builds.apache.org/job/PreCommit-HADOOP-Build/12791/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt
          Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/12791/testReport/
          modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: .
          Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12791/console
          Powered by Apache Yetus 0.6.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 15s Docker mode activated.       Prechecks +1 @author 0m 0s The patch does not contain any @author tags. +1 test4tests 0m 1s The patch appears to include 4 new or modified test files.       trunk Compile Tests 0 mvndep 0m 14s Maven dependency ordering for branch +1 mvninstall 14m 5s trunk passed +1 compile 13m 52s trunk passed +1 checkstyle 1m 54s trunk passed +1 mvnsite 1m 56s trunk passed +1 findbugs 1m 59s trunk passed +1 javadoc 1m 13s trunk passed       Patch Compile Tests 0 mvndep 0m 16s Maven dependency ordering for patch +1 mvninstall 1m 1s the patch passed +1 compile 10m 13s the patch passed +1 javac 10m 13s the patch passed -0 checkstyle 1m 57s root: The patch generated 25 new + 45 unchanged - 0 fixed = 70 total (was 45) +1 mvnsite 1m 59s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 2m 22s the patch passed +1 javadoc 1m 19s the patch passed       Other Tests -1 unit 8m 7s hadoop-common in the patch failed. +1 unit 2m 13s hadoop-azure in the patch passed. +1 asflicense 0m 41s The patch does not generate ASF License warnings. 87m 23s Reason Tests Failed junit tests hadoop.security.TestKDiag   hadoop.net.TestDNS Subsystem Report/Notes Docker Image:yetus/hadoop:14b5c93 JIRA Issue HADOOP-14660 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877457/HADOOP-14660-005.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux 13c130663f21 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / 06ece48 Default Java 1.8.0_131 findbugs v3.1.0-RC1 checkstyle https://builds.apache.org/job/PreCommit-HADOOP-Build/12791/artifact/patchprocess/diff-checkstyle-root.txt unit https://builds.apache.org/job/PreCommit-HADOOP-Build/12791/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/12791/testReport/ modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: . Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12791/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
          Hide
          tmarquardt Thomas Marquardt added a comment -

          Attaching HADOOP-14660-006.patch with checkstyle fixes for all the files modified by the patch.

          Show
          tmarquardt Thomas Marquardt added a comment - Attaching HADOOP-14660 -006.patch with checkstyle fixes for all the files modified by the patch.
          Hide
          tmarquardt Thomas Marquardt added a comment -

          All hadoop-tools/hadoop-azure tests are passing using my tmarql3 azure storage account with HADOOP-14660-006.patch:

          Tests run: 743, Failures: 0, Errors: 0, Skipped: 129

          Show
          tmarquardt Thomas Marquardt added a comment - All hadoop-tools/hadoop-azure tests are passing using my tmarql3 azure storage account with HADOOP-14660 -006.patch : Tests run: 743, Failures: 0, Errors: 0, Skipped: 129
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 0s Docker mode activated.
          -1 patch 0m 4s HADOOP-14660 does not apply to trunk. Rebase required? Wrong Branch? See https://wiki.apache.org/hadoop/HowToContribute for help.



          Subsystem Report/Notes
          JIRA Issue HADOOP-14660
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877462/HADOOP-14660-006.patch
          Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12792/console
          Powered by Apache Yetus 0.6.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 0s Docker mode activated. -1 patch 0m 4s HADOOP-14660 does not apply to trunk. Rebase required? Wrong Branch? See https://wiki.apache.org/hadoop/HowToContribute for help. Subsystem Report/Notes JIRA Issue HADOOP-14660 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877462/HADOOP-14660-006.patch Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12792/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
          Hide
          tmarquardt Thomas Marquardt added a comment -

          Something wrong with Jenkins? Attaching HADOOP-14660-007.patch, which is the same as HADOOP-14660-006.patch.

          Show
          tmarquardt Thomas Marquardt added a comment - Something wrong with Jenkins? Attaching HADOOP-14660 -007.patch, which is the same as HADOOP-14660 -006.patch.
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 0s Docker mode activated.
          -1 patch 0m 4s HADOOP-14660 does not apply to trunk. Rebase required? Wrong Branch? See https://wiki.apache.org/hadoop/HowToContribute for help.



          Subsystem Report/Notes
          JIRA Issue HADOOP-14660
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877474/HADOOP-14660-007.patch
          Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12793/console
          Powered by Apache Yetus 0.6.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 0s Docker mode activated. -1 patch 0m 4s HADOOP-14660 does not apply to trunk. Rebase required? Wrong Branch? See https://wiki.apache.org/hadoop/HowToContribute for help. Subsystem Report/Notes JIRA Issue HADOOP-14660 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877474/HADOOP-14660-007.patch Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12793/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
          Hide
          tmarquardt Thomas Marquardt added a comment -

          Re-naming and attaching HADOOP-14660-008.patch. I'm able to apply the patches and am not sure why Jenkins is failing.

          Show
          tmarquardt Thomas Marquardt added a comment - Re-naming and attaching HADOOP-14660 -008.patch. I'm able to apply the patches and am not sure why Jenkins is failing.
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 13s Docker mode activated.
                Prechecks
          +1 @author 0m 0s The patch does not contain any @author tags.
          +1 test4tests 0m 0s The patch appears to include 4 new or modified test files.
                trunk Compile Tests
          0 mvndep 1m 18s Maven dependency ordering for branch
          +1 mvninstall 13m 15s trunk passed
          +1 compile 13m 32s trunk passed
          +1 checkstyle 1m 53s trunk passed
          +1 mvnsite 1m 55s trunk passed
          +1 findbugs 1m 59s trunk passed
          +1 javadoc 1m 14s trunk passed
                Patch Compile Tests
          0 mvndep 0m 16s Maven dependency ordering for patch
          +1 mvninstall 1m 0s the patch passed
          +1 compile 10m 12s the patch passed
          +1 javac 10m 12s the patch passed
          +1 checkstyle 1m 57s root: The patch generated 0 new + 1 unchanged - 44 fixed = 1 total (was 45)
          +1 mvnsite 1m 58s the patch passed
          +1 whitespace 0m 0s The patch has no whitespace issues.
          +1 findbugs 2m 27s the patch passed
          +1 javadoc 1m 20s the patch passed
                Other Tests
          -1 unit 8m 31s hadoop-common in the patch failed.
          +1 unit 2m 14s hadoop-azure in the patch passed.
          +1 asflicense 0m 40s The patch does not generate ASF License warnings.
          87m 32s



          Reason Tests
          Failed junit tests hadoop.fs.sftp.TestSFTPFileSystem
            hadoop.security.TestKDiag
            hadoop.net.TestDNS



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:14b5c93
          JIRA Issue HADOOP-14660
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877475/HADOOP-14660-008.patch
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
          uname Linux 7d538b4fc2e6 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
          Build tool maven
          Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
          git revision trunk / b778887
          Default Java 1.8.0_131
          findbugs v3.1.0-RC1
          unit https://builds.apache.org/job/PreCommit-HADOOP-Build/12794/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt
          Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/12794/testReport/
          modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: .
          Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12794/console
          Powered by Apache Yetus 0.6.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 13s Docker mode activated.       Prechecks +1 @author 0m 0s The patch does not contain any @author tags. +1 test4tests 0m 0s The patch appears to include 4 new or modified test files.       trunk Compile Tests 0 mvndep 1m 18s Maven dependency ordering for branch +1 mvninstall 13m 15s trunk passed +1 compile 13m 32s trunk passed +1 checkstyle 1m 53s trunk passed +1 mvnsite 1m 55s trunk passed +1 findbugs 1m 59s trunk passed +1 javadoc 1m 14s trunk passed       Patch Compile Tests 0 mvndep 0m 16s Maven dependency ordering for patch +1 mvninstall 1m 0s the patch passed +1 compile 10m 12s the patch passed +1 javac 10m 12s the patch passed +1 checkstyle 1m 57s root: The patch generated 0 new + 1 unchanged - 44 fixed = 1 total (was 45) +1 mvnsite 1m 58s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 2m 27s the patch passed +1 javadoc 1m 20s the patch passed       Other Tests -1 unit 8m 31s hadoop-common in the patch failed. +1 unit 2m 14s hadoop-azure in the patch passed. +1 asflicense 0m 40s The patch does not generate ASF License warnings. 87m 32s Reason Tests Failed junit tests hadoop.fs.sftp.TestSFTPFileSystem   hadoop.security.TestKDiag   hadoop.net.TestDNS Subsystem Report/Notes Docker Image:yetus/hadoop:14b5c93 JIRA Issue HADOOP-14660 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12877475/HADOOP-14660-008.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux 7d538b4fc2e6 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / b778887 Default Java 1.8.0_131 findbugs v3.1.0-RC1 unit https://builds.apache.org/job/PreCommit-HADOOP-Build/12794/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/12794/testReport/ modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: . Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12794/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
          Hide
          tmarquardt Thomas Marquardt added a comment -

          HADOOP-14660-008.patch is ready to submit. No checkstyle issues. All hadoop-tools/hadoop-azure tests are passing using my tmarql3 azure storage account:

          Tests run: 743, Failures: 0, Errors: 0, Skipped: 129

          hadoop-common test failures are unrelated to this patch.

          Show
          tmarquardt Thomas Marquardt added a comment - HADOOP-14660 -008.patch is ready to submit. No checkstyle issues. All hadoop-tools/hadoop-azure tests are passing using my tmarql3 azure storage account: Tests run: 743, Failures: 0, Errors: 0, Skipped: 129 hadoop-common test failures are unrelated to this patch.
          Hide
          shanem Shane Mainali added a comment -

          I reviewed the latest and it looks good, thanks Thomas Marquardt!

          Show
          shanem Shane Mainali added a comment - I reviewed the latest and it looks good, thanks Thomas Marquardt !
          Hide
          stevel@apache.org Steve Loughran added a comment -

          wow. I think you went beyond the call of duty on those checkstyles.I was only expecting you to worry about the new errors introduced. I'll have to split the changes you did across ContractTestUtils into its own JIRA to isolate them.

          Show
          stevel@apache.org Steve Loughran added a comment - wow. I think you went beyond the call of duty on those checkstyles.I was only expecting you to worry about the new errors introduced. I'll have to split the changes you did across ContractTestUtils into its own JIRA to isolate them.
          Hide
          stevel@apache.org Steve Loughran added a comment -

          Patch 010; patch 009 with the checkstyle cleanups of ContractTestUtils pulled out, and so avoids some merge conflict. Testing in progress

          Show
          stevel@apache.org Steve Loughran added a comment - Patch 010; patch 009 with the checkstyle cleanups of ContractTestUtils pulled out, and so avoids some merge conflict. Testing in progress
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 17s Docker mode activated.
                Prechecks
          +1 @author 0m 0s The patch does not contain any @author tags.
          +1 test4tests 0m 0s The patch appears to include 4 new or modified test files.
                trunk Compile Tests
          0 mvndep 0m 17s Maven dependency ordering for branch
          +1 mvninstall 15m 23s trunk passed
          +1 compile 16m 6s trunk passed
          +1 checkstyle 2m 8s trunk passed
          +1 mvnsite 2m 7s trunk passed
          +1 findbugs 2m 19s trunk passed
          +1 javadoc 1m 15s trunk passed
                Patch Compile Tests
          0 mvndep 0m 19s Maven dependency ordering for patch
          +1 mvninstall 1m 12s the patch passed
          +1 compile 12m 53s the patch passed
          +1 javac 12m 53s the patch passed
          +1 checkstyle 2m 15s root: The patch generated 0 new + 16 unchanged - 28 fixed = 16 total (was 44)
          +1 mvnsite 2m 15s the patch passed
          +1 whitespace 0m 0s The patch has no whitespace issues.
          +1 findbugs 2m 32s the patch passed
          +1 javadoc 1m 24s the patch passed
                Other Tests
          -1 unit 8m 7s hadoop-common in the patch failed.
          +1 unit 2m 24s hadoop-azure in the patch passed.
          +1 asflicense 0m 33s The patch does not generate ASF License warnings.
          95m 31s



          Reason Tests
          Failed junit tests hadoop.security.TestKDiag



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:14b5c93
          JIRA Issue HADOOP-14660
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12879850/HADOOP-14660-010.patch
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
          uname Linux 6add7e6ff905 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
          Build tool maven
          Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
          git revision trunk / b38a1ee
          Default Java 1.8.0_131
          findbugs v3.1.0-RC1
          unit https://builds.apache.org/job/PreCommit-HADOOP-Build/12914/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt
          Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/12914/testReport/
          modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: .
          Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12914/console
          Powered by Apache Yetus 0.6.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.       Prechecks +1 @author 0m 0s The patch does not contain any @author tags. +1 test4tests 0m 0s The patch appears to include 4 new or modified test files.       trunk Compile Tests 0 mvndep 0m 17s Maven dependency ordering for branch +1 mvninstall 15m 23s trunk passed +1 compile 16m 6s trunk passed +1 checkstyle 2m 8s trunk passed +1 mvnsite 2m 7s trunk passed +1 findbugs 2m 19s trunk passed +1 javadoc 1m 15s trunk passed       Patch Compile Tests 0 mvndep 0m 19s Maven dependency ordering for patch +1 mvninstall 1m 12s the patch passed +1 compile 12m 53s the patch passed +1 javac 12m 53s the patch passed +1 checkstyle 2m 15s root: The patch generated 0 new + 16 unchanged - 28 fixed = 16 total (was 44) +1 mvnsite 2m 15s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 2m 32s the patch passed +1 javadoc 1m 24s the patch passed       Other Tests -1 unit 8m 7s hadoop-common in the patch failed. +1 unit 2m 24s hadoop-azure in the patch passed. +1 asflicense 0m 33s The patch does not generate ASF License warnings. 95m 31s Reason Tests Failed junit tests hadoop.security.TestKDiag Subsystem Report/Notes Docker Image:yetus/hadoop:14b5c93 JIRA Issue HADOOP-14660 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12879850/HADOOP-14660-010.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux 6add7e6ff905 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision trunk / b38a1ee Default Java 1.8.0_131 findbugs v3.1.0-RC1 unit https://builds.apache.org/job/PreCommit-HADOOP-Build/12914/artifact/patchprocess/patch-unit-hadoop-common-project_hadoop-common.txt Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/12914/testReport/ modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: . Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/12914/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
          Hide
          stevel@apache.org Steve Loughran added a comment -

          I'm getting a test failure here, with trunk + patch 010; not (yet) tested with trunk without the patch.

          -------------------------------------------------------
          Running org.apache.hadoop.fs.azure.TestWasbRemoteCallHelper
          Tests run: 10, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 149.902 sec <<< FAILURE! - in org.apache.hadoop.fs.azure.TestWasbRemoteCallHelper
          testWhenOneInstanceIsDown(org.apache.hadoop.fs.azure.TestWasbRemoteCallHelper)  Time elapsed: 4.483 sec  <<< FAILURE!
          org.mockito.exceptions.verification.TooLittleActualInvocations: 
          httpClient.execute(
              <Http get for service local>
          );
          Wanted 2 times:
          -> at org.apache.hadoop.fs.azure.TestWasbRemoteCallHelper.testWhenOneInstanceIsDown(TestWasbRemoteCallHelper.java:359)
          But was 1 time:
          -> at org.apache.hadoop.fs.azure.WasbRemoteCallHelper.retryableRequest(WasbRemoteCallHelper.java:151)
          
          	at org.apache.hadoop.fs.azure.TestWasbRemoteCallHelper.testWhenOneInstanceIsDown(TestWasbRemoteCallHelper.java:359)
          
          
          Results :
          
          Failed tests: 
            TestWasbRemoteCallHelper.testWhenOneInstanceIsDown:359 
          httpClient.execute(
              <Http get for service local>
          );
          Wanted 2 times:
          -> at org.apache.hadoop.fs.azure.TestWasbRemoteCallHelper.testWhenOneInstanceIsDown(TestWasbRemoteCallHelper.java:359)
          But was 1 time:
          -> at org.apache.hadoop.fs.azure.WasbRemoteCallHelper.retryableRequest(WasbRemoteCallHelper.java:151)
          
          
          Tests run: 10, Failures: 1, Errors: 0, Skipped: 0
          
          
          Show
          stevel@apache.org Steve Loughran added a comment - I'm getting a test failure here, with trunk + patch 010; not (yet) tested with trunk without the patch. ------------------------------------------------------- Running org.apache.hadoop.fs.azure.TestWasbRemoteCallHelper Tests run: 10, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 149.902 sec <<< FAILURE! - in org.apache.hadoop.fs.azure.TestWasbRemoteCallHelper testWhenOneInstanceIsDown(org.apache.hadoop.fs.azure.TestWasbRemoteCallHelper) Time elapsed: 4.483 sec <<< FAILURE! org.mockito.exceptions.verification.TooLittleActualInvocations: httpClient.execute( <Http get for service local> ); Wanted 2 times: -> at org.apache.hadoop.fs.azure.TestWasbRemoteCallHelper.testWhenOneInstanceIsDown(TestWasbRemoteCallHelper.java:359) But was 1 time: -> at org.apache.hadoop.fs.azure.WasbRemoteCallHelper.retryableRequest(WasbRemoteCallHelper.java:151) at org.apache.hadoop.fs.azure.TestWasbRemoteCallHelper.testWhenOneInstanceIsDown(TestWasbRemoteCallHelper.java:359) Results : Failed tests: TestWasbRemoteCallHelper.testWhenOneInstanceIsDown:359 httpClient.execute( <Http get for service local> ); Wanted 2 times: -> at org.apache.hadoop.fs.azure.TestWasbRemoteCallHelper.testWhenOneInstanceIsDown(TestWasbRemoteCallHelper.java:359) But was 1 time: -> at org.apache.hadoop.fs.azure.WasbRemoteCallHelper.retryableRequest(WasbRemoteCallHelper.java:151) Tests run: 10, Failures: 1, Errors: 0, Skipped: 0
          Hide
          stevel@apache.org Steve Loughran added a comment -

          The test failure is isolated; happens on a clean build of trunk

          +1 for this for trunk; if you want it to be backported to branch-2; submit a -branch-2 patch to this JIRA along with the usual attestation of testing & I'll apply it

          leaving the JIRA open until then

          Show
          stevel@apache.org Steve Loughran added a comment - The test failure is isolated; happens on a clean build of trunk +1 for this for trunk; if you want it to be backported to branch-2; submit a -branch-2 patch to this JIRA along with the usual attestation of testing & I'll apply it leaving the JIRA open until then
          Hide
          hudson Hudson added a comment -

          SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #12093 (See https://builds.apache.org/job/Hadoop-trunk-Commit/12093/)
          HADOOP-14660 wasb: improve throughput by 34% when account limit (stevel: rev 778d4edd9adbe9519c3d6df65e45ddc8bb0ab2da)

          • (add) hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/ClientThrottlingAnalyzer.java
          • (add) hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/ClientThrottlingIntercept.java
          • (add) hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/TestClientThrottlingAnalyzer.java
          • (edit) hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/ContractTestUtils.java
          • (add) hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/TestBlobOperationDescriptor.java
          • (add) hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/BlobOperationDescriptor.java
          • (edit) hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/AbstractWasbTestBase.java
          • (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 #12093 (See https://builds.apache.org/job/Hadoop-trunk-Commit/12093/ ) HADOOP-14660 wasb: improve throughput by 34% when account limit (stevel: rev 778d4edd9adbe9519c3d6df65e45ddc8bb0ab2da) (add) hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/ClientThrottlingAnalyzer.java (add) hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/ClientThrottlingIntercept.java (add) hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/TestClientThrottlingAnalyzer.java (edit) hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/contract/ContractTestUtils.java (add) hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/TestBlobOperationDescriptor.java (add) hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/BlobOperationDescriptor.java (edit) hadoop-tools/hadoop-azure/src/test/java/org/apache/hadoop/fs/azure/AbstractWasbTestBase.java (edit) hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/AzureNativeFileSystemStore.java
          Hide
          tmarquardt Thomas Marquardt added a comment -

          Attaching HADOOP-14660-branch-2.patch.

          This is the branch-2 patch. It has a dependency on the branch-2 patch attached to https://issues.apache.org/jira/browse/HADOOP-14662.

          All tests are passing against my tmarql3 endpoint:

          Tests run: 736, Failures: 0, Errors: 0, Skipped: 95

          Show
          tmarquardt Thomas Marquardt added a comment - Attaching HADOOP-14660 -branch-2.patch. This is the branch-2 patch. It has a dependency on the branch-2 patch attached to https://issues.apache.org/jira/browse/HADOOP-14662 . All tests are passing against my tmarql3 endpoint: Tests run: 736, Failures: 0, Errors: 0, Skipped: 95
          Hide
          hadoopqa Hadoop QA added a comment -
          -1 overall



          Vote Subsystem Runtime Comment
          0 reexec 0m 19s Docker mode activated.
                Prechecks
          +1 @author 0m 1s The patch does not contain any @author tags.
          +1 test4tests 0m 0s The patch appears to include 4 new or modified test files.
                branch-2 Compile Tests
          0 mvndep 0m 45s Maven dependency ordering for branch
          +1 mvninstall 6m 40s branch-2 passed
          +1 compile 6m 26s branch-2 passed with JDK v1.8.0_144
          +1 compile 6m 46s branch-2 passed with JDK v1.7.0_131
          +1 checkstyle 1m 28s branch-2 passed
          +1 mvnsite 1m 23s branch-2 passed
          +1 findbugs 2m 18s branch-2 passed
          +1 javadoc 1m 4s branch-2 passed with JDK v1.8.0_144
          +1 javadoc 1m 10s branch-2 passed with JDK v1.7.0_131
                Patch Compile Tests
          0 mvndep 0m 17s Maven dependency ordering for patch
          -1 mvninstall 0m 15s hadoop-azure in the patch failed.
          -1 compile 5m 39s root in the patch failed with JDK v1.8.0_144.
          -1 javac 5m 39s root in the patch failed with JDK v1.8.0_144.
          -1 compile 6m 35s root in the patch failed with JDK v1.7.0_131.
          -1 javac 6m 35s root in the patch failed with JDK v1.7.0_131.
          -0 checkstyle 1m 27s root: The patch generated 2 new + 3 unchanged - 22 fixed = 5 total (was 25)
          -1 mvnsite 0m 20s hadoop-azure in the patch failed.
          +1 whitespace 0m 0s The patch has no whitespace issues.
          -1 findbugs 0m 20s hadoop-azure in the patch failed.
          -1 javadoc 0m 17s hadoop-tools_hadoop-azure-jdk1.8.0_144 with JDK v1.8.0_144 generated 4 new + 0 unchanged - 0 fixed = 4 total (was 0)
          -1 javadoc 0m 19s hadoop-tools_hadoop-azure-jdk1.7.0_131 with JDK v1.7.0_131 generated 4 new + 1 unchanged - 0 fixed = 5 total (was 1)
                Other Tests
          +1 unit 8m 35s hadoop-common in the patch passed with JDK v1.7.0_131.
          -1 unit 0m 20s hadoop-azure in the patch failed with JDK v1.7.0_131.
          +1 asflicense 0m 27s The patch does not generate ASF License warnings.
          90m 8s



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:5e40efe
          JIRA Issue HADOOP-14660
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12881813/HADOOP-14660-branch-2.patch
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
          uname Linux 915e5a2eb21f 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
          Build tool maven
          Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
          git revision branch-2 / e5ba40c
          Default Java 1.7.0_131
          Multi-JDK versions /usr/lib/jvm/java-8-oracle:1.8.0_144 /usr/lib/jvm/java-7-openjdk-amd64:1.7.0_131
          findbugs v3.0.0
          mvninstall https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-mvninstall-hadoop-tools_hadoop-azure.txt
          compile https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-compile-root-jdk1.8.0_144.txt
          javac https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-compile-root-jdk1.8.0_144.txt
          compile https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-compile-root-jdk1.7.0_131.txt
          javac https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-compile-root-jdk1.7.0_131.txt
          checkstyle https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/diff-checkstyle-root.txt
          mvnsite https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-mvnsite-hadoop-tools_hadoop-azure.txt
          findbugs https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-findbugs-hadoop-tools_hadoop-azure.txt
          javadoc https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/diff-javadoc-javadoc-hadoop-tools_hadoop-azure-jdk1.8.0_144.txt
          javadoc https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/diff-javadoc-javadoc-hadoop-tools_hadoop-azure-jdk1.7.0_131.txt
          unit https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-unit-hadoop-tools_hadoop-azure-jdk1.7.0_131.txt
          JDK v1.7.0_131 Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/testReport/
          modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: .
          Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/console
          Powered by Apache Yetus 0.6.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 19s Docker mode activated.       Prechecks +1 @author 0m 1s The patch does not contain any @author tags. +1 test4tests 0m 0s The patch appears to include 4 new or modified test files.       branch-2 Compile Tests 0 mvndep 0m 45s Maven dependency ordering for branch +1 mvninstall 6m 40s branch-2 passed +1 compile 6m 26s branch-2 passed with JDK v1.8.0_144 +1 compile 6m 46s branch-2 passed with JDK v1.7.0_131 +1 checkstyle 1m 28s branch-2 passed +1 mvnsite 1m 23s branch-2 passed +1 findbugs 2m 18s branch-2 passed +1 javadoc 1m 4s branch-2 passed with JDK v1.8.0_144 +1 javadoc 1m 10s branch-2 passed with JDK v1.7.0_131       Patch Compile Tests 0 mvndep 0m 17s Maven dependency ordering for patch -1 mvninstall 0m 15s hadoop-azure in the patch failed. -1 compile 5m 39s root in the patch failed with JDK v1.8.0_144. -1 javac 5m 39s root in the patch failed with JDK v1.8.0_144. -1 compile 6m 35s root in the patch failed with JDK v1.7.0_131. -1 javac 6m 35s root in the patch failed with JDK v1.7.0_131. -0 checkstyle 1m 27s root: The patch generated 2 new + 3 unchanged - 22 fixed = 5 total (was 25) -1 mvnsite 0m 20s hadoop-azure in the patch failed. +1 whitespace 0m 0s The patch has no whitespace issues. -1 findbugs 0m 20s hadoop-azure in the patch failed. -1 javadoc 0m 17s hadoop-tools_hadoop-azure-jdk1.8.0_144 with JDK v1.8.0_144 generated 4 new + 0 unchanged - 0 fixed = 4 total (was 0) -1 javadoc 0m 19s hadoop-tools_hadoop-azure-jdk1.7.0_131 with JDK v1.7.0_131 generated 4 new + 1 unchanged - 0 fixed = 5 total (was 1)       Other Tests +1 unit 8m 35s hadoop-common in the patch passed with JDK v1.7.0_131. -1 unit 0m 20s hadoop-azure in the patch failed with JDK v1.7.0_131. +1 asflicense 0m 27s The patch does not generate ASF License warnings. 90m 8s Subsystem Report/Notes Docker Image:yetus/hadoop:5e40efe JIRA Issue HADOOP-14660 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12881813/HADOOP-14660-branch-2.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux 915e5a2eb21f 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision branch-2 / e5ba40c Default Java 1.7.0_131 Multi-JDK versions /usr/lib/jvm/java-8-oracle:1.8.0_144 /usr/lib/jvm/java-7-openjdk-amd64:1.7.0_131 findbugs v3.0.0 mvninstall https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-mvninstall-hadoop-tools_hadoop-azure.txt compile https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-compile-root-jdk1.8.0_144.txt javac https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-compile-root-jdk1.8.0_144.txt compile https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-compile-root-jdk1.7.0_131.txt javac https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-compile-root-jdk1.7.0_131.txt checkstyle https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/diff-checkstyle-root.txt mvnsite https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-mvnsite-hadoop-tools_hadoop-azure.txt findbugs https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-findbugs-hadoop-tools_hadoop-azure.txt javadoc https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/diff-javadoc-javadoc-hadoop-tools_hadoop-azure-jdk1.8.0_144.txt javadoc https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/diff-javadoc-javadoc-hadoop-tools_hadoop-azure-jdk1.7.0_131.txt unit https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/artifact/patchprocess/patch-unit-hadoop-tools_hadoop-azure-jdk1.7.0_131.txt JDK v1.7.0_131 Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/testReport/ modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: . Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/13031/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
          Hide
          stevel@apache.org Steve Loughran added a comment -

          patch failed before SDK update; once that's in we can resubmit this

          Show
          stevel@apache.org Steve Loughran added a comment - patch failed before SDK update; once that's in we can resubmit this
          Hide
          tmarquardt Thomas Marquardt added a comment -

          Re-attaching HADOOP-14660-branch-2-001.patch for another QA pass now that dependency HADOOP-14662 is committed.

          All hadoop-azure tests passed against my tmarql3 endpoint.

          Tests run: 736, Failures: 0, Errors: 0, Skipped: 95

          Show
          tmarquardt Thomas Marquardt added a comment - Re-attaching HADOOP-14660 -branch-2-001.patch for another QA pass now that dependency HADOOP-14662 is committed. All hadoop-azure tests passed against my tmarql3 endpoint. Tests run: 736, Failures: 0, Errors: 0, Skipped: 95
          Hide
          hadoopqa Hadoop QA added a comment -
          +1 overall



          Vote Subsystem Runtime Comment
          0 reexec 17m 21s Docker mode activated.
                Prechecks
          +1 @author 0m 0s The patch does not contain any @author tags.
          +1 test4tests 0m 0s The patch appears to include 4 new or modified test files.
                branch-2 Compile Tests
          0 mvndep 1m 0s Maven dependency ordering for branch
          +1 mvninstall 6m 50s branch-2 passed
          +1 compile 6m 6s branch-2 passed with JDK v1.8.0_144
          +1 compile 7m 31s branch-2 passed with JDK v1.7.0_131
          +1 checkstyle 1m 31s branch-2 passed
          +1 mvnsite 1m 26s branch-2 passed
          +1 findbugs 2m 32s branch-2 passed
          +1 javadoc 1m 2s branch-2 passed with JDK v1.8.0_144
          +1 javadoc 1m 11s branch-2 passed with JDK v1.7.0_131
                Patch Compile Tests
          0 mvndep 0m 17s Maven dependency ordering for patch
          +1 mvninstall 1m 4s the patch passed
          +1 compile 6m 42s the patch passed with JDK v1.8.0_144
          +1 javac 6m 42s the patch passed
          +1 compile 7m 23s the patch passed with JDK v1.7.0_131
          +1 javac 7m 23s the patch passed
          -0 checkstyle 1m 32s root: The patch generated 2 new + 3 unchanged - 22 fixed = 5 total (was 25)
          +1 mvnsite 1m 30s the patch passed
          +1 whitespace 0m 0s The patch has no whitespace issues.
          +1 findbugs 2m 53s the patch passed
          +1 javadoc 1m 6s the patch passed with JDK v1.8.0_144
          +1 javadoc 1m 14s the patch passed with JDK v1.7.0_131
                Other Tests
          +1 unit 9m 44s hadoop-common in the patch passed with JDK v1.7.0_131.
          +1 unit 2m 27s hadoop-azure in the patch passed with JDK v1.7.0_131.
          +1 asflicense 0m 29s The patch does not generate ASF License warnings.
          116m 56s



          Subsystem Report/Notes
          Docker Image:yetus/hadoop:5e40efe
          JIRA Issue HADOOP-14660
          JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12881958/HADOOP-14660-branch-2-001.patch
          Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle
          uname Linux 479e924debcd 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
          Build tool maven
          Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh
          git revision branch-2 / b30522c
          Default Java 1.7.0_131
          Multi-JDK versions /usr/lib/jvm/java-8-oracle:1.8.0_144 /usr/lib/jvm/java-7-openjdk-amd64:1.7.0_131
          findbugs v3.0.0
          checkstyle https://builds.apache.org/job/PreCommit-HADOOP-Build/13035/artifact/patchprocess/diff-checkstyle-root.txt
          JDK v1.7.0_131 Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/13035/testReport/
          modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: .
          Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/13035/console
          Powered by Apache Yetus 0.6.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 17m 21s Docker mode activated.       Prechecks +1 @author 0m 0s The patch does not contain any @author tags. +1 test4tests 0m 0s The patch appears to include 4 new or modified test files.       branch-2 Compile Tests 0 mvndep 1m 0s Maven dependency ordering for branch +1 mvninstall 6m 50s branch-2 passed +1 compile 6m 6s branch-2 passed with JDK v1.8.0_144 +1 compile 7m 31s branch-2 passed with JDK v1.7.0_131 +1 checkstyle 1m 31s branch-2 passed +1 mvnsite 1m 26s branch-2 passed +1 findbugs 2m 32s branch-2 passed +1 javadoc 1m 2s branch-2 passed with JDK v1.8.0_144 +1 javadoc 1m 11s branch-2 passed with JDK v1.7.0_131       Patch Compile Tests 0 mvndep 0m 17s Maven dependency ordering for patch +1 mvninstall 1m 4s the patch passed +1 compile 6m 42s the patch passed with JDK v1.8.0_144 +1 javac 6m 42s the patch passed +1 compile 7m 23s the patch passed with JDK v1.7.0_131 +1 javac 7m 23s the patch passed -0 checkstyle 1m 32s root: The patch generated 2 new + 3 unchanged - 22 fixed = 5 total (was 25) +1 mvnsite 1m 30s the patch passed +1 whitespace 0m 0s The patch has no whitespace issues. +1 findbugs 2m 53s the patch passed +1 javadoc 1m 6s the patch passed with JDK v1.8.0_144 +1 javadoc 1m 14s the patch passed with JDK v1.7.0_131       Other Tests +1 unit 9m 44s hadoop-common in the patch passed with JDK v1.7.0_131. +1 unit 2m 27s hadoop-azure in the patch passed with JDK v1.7.0_131. +1 asflicense 0m 29s The patch does not generate ASF License warnings. 116m 56s Subsystem Report/Notes Docker Image:yetus/hadoop:5e40efe JIRA Issue HADOOP-14660 JIRA Patch URL https://issues.apache.org/jira/secure/attachment/12881958/HADOOP-14660-branch-2-001.patch Optional Tests asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle uname Linux 479e924debcd 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux Build tool maven Personality /testptch/hadoop/patchprocess/precommit/personality/provided.sh git revision branch-2 / b30522c Default Java 1.7.0_131 Multi-JDK versions /usr/lib/jvm/java-8-oracle:1.8.0_144 /usr/lib/jvm/java-7-openjdk-amd64:1.7.0_131 findbugs v3.0.0 checkstyle https://builds.apache.org/job/PreCommit-HADOOP-Build/13035/artifact/patchprocess/diff-checkstyle-root.txt JDK v1.7.0_131 Test Results https://builds.apache.org/job/PreCommit-HADOOP-Build/13035/testReport/ modules C: hadoop-common-project/hadoop-common hadoop-tools/hadoop-azure U: . Console output https://builds.apache.org/job/PreCommit-HADOOP-Build/13035/console Powered by Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org This message was automatically generated.
          Hide
          stevel@apache.org Steve Loughran added a comment -

          +1, committed

          thanks for wrapping this up...closing the issue now

          Show
          stevel@apache.org Steve Loughran added a comment - +1, committed thanks for wrapping this up...closing the issue now

            People

            • Assignee:
              tmarquardt Thomas Marquardt
              Reporter:
              tmarquardt Thomas Marquardt
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Due:
                Created:
                Updated:
                Resolved:

                Development