Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HDDS-1783 : Latency metric for applyTransaction in ContainerStateMach… #1363

Merged
merged 6 commits into from
Sep 3, 2019

Conversation

avijayanhwx
Copy link
Contributor

…ine.

applyTransaction is invoked from the Ratis pipeline and the ContainerStateMachine uses a async executor to complete the task.

We require a latency metric to track the performance of log apply operations in the state machine. This will measure the end-to-end latency of apply which includes the queueing delay in the executor queues. Combined with the latency measurement in HddsDispatcher, this will be an indicator if the executors are overloaded.

@avijayanhwx
Copy link
Contributor Author

/label ozone

@elek elek added the ozone label Aug 28, 2019
@bshashikant
Copy link
Contributor

bshashikant commented Aug 28, 2019

Thanks @avijayanhwx for working on this. The changes look good. In applyTransaction, we execute different cmds which will vary with latency. For example, for a write chunk commit, its a rename operation but for putBlock , it is Rocks DB operation and for close container, its again a disk sync operation of container state. Depending upon the operation the latency will vary as well. Can we have per cmd latency metric?

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 37 Docker mode activated.
_ Prechecks _
+1 dupname 1 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
-1 test4tests 0 The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ trunk Compile Tests _
+1 mvninstall 609 trunk passed
+1 compile 364 trunk passed
+1 checkstyle 72 trunk passed
+1 mvnsite 0 trunk passed
+1 shadedclient 934 branch has no errors when building and testing our client artifacts.
+1 javadoc 167 trunk passed
0 spotbugs 430 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 628 trunk passed
_ Patch Compile Tests _
+1 mvninstall 546 the patch passed
+1 compile 369 the patch passed
+1 javac 369 the patch passed
+1 checkstyle 76 the patch passed
+1 mvnsite 0 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 734 patch has no errors when building and testing our client artifacts.
+1 javadoc 163 the patch passed
+1 findbugs 643 the patch passed
_ Other Tests _
+1 unit 305 hadoop-hdds in the patch passed.
-1 unit 1825 hadoop-ozone in the patch failed.
+1 asflicense 46 The patch does not generate ASF License warnings.
7671
Subsystem Report/Notes
Docker Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/1/artifact/out/Dockerfile
GITHUB PR #1363
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle
uname Linux 6829995c22d3 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 55cc115
Default Java 1.8.0_222
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/1/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/1/testReport/
Max. process+thread count 4360 (vs. ulimit of 5500)
modules C: hadoop-hdds/container-service U: hadoop-hdds/container-service
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/1/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@avijayanhwx
Copy link
Contributor Author

avijayanhwx commented Aug 28, 2019

Thanks @avijayanhwx for working on this. The changes look good. In applyTransaction, we execute different cmds which will vary with latency. For example, for a write chunk commit, its a rename operation but for putBlock , it is Rocks DB operation and for close container, its again a disk sync operation of container state. Depending upon the operation the latency will vary as well. Can we have per cmd latency metric?

@bshashikant Isn't the per operation latency covered in org.apache.hadoop.ozone.container.common.transport.server.ratis.CSMMetrics#opsLatency? This metric was only intended to cover the whole latency including thread scheduling.

@avijayanhwx avijayanhwx reopened this Aug 28, 2019
@bshashikant
Copy link
Contributor

Thanks @avijayanhwx . Yes, the per op applyTransaction latency metrics is already there but we don't have writeStateMachineData latency metric which again runs in a different executor. Can we add that as well. This can be done as a separate jira as well.

Aravindan Vijayan added 2 commits August 28, 2019 11:25
@avijayanhwx
Copy link
Contributor Author

Thanks @avijayanhwx . Yes, the per op applyTransaction latency metrics is already there but we don't have writeStateMachineData latency metric which again runs in a different executor. Can we add that as well. This can be done as a separate jira as well.

Added rate metric for writeStateMachineData as well.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 90 Docker mode activated.
_ Prechecks _
+1 dupname 0 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
-1 test4tests 0 The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.
_ trunk Compile Tests _
+1 mvninstall 624 trunk passed
+1 compile 354 trunk passed
+1 checkstyle 69 trunk passed
+1 mvnsite 0 trunk passed
+1 shadedclient 921 branch has no errors when building and testing our client artifacts.
+1 javadoc 164 trunk passed
0 spotbugs 418 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 626 trunk passed
_ Patch Compile Tests _
+1 mvninstall 547 the patch passed
+1 compile 372 the patch passed
+1 javac 372 the patch passed
+1 checkstyle 75 the patch passed
+1 mvnsite 0 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 727 patch has no errors when building and testing our client artifacts.
+1 javadoc 159 the patch passed
+1 findbugs 658 the patch passed
_ Other Tests _
+1 unit 347 hadoop-hdds in the patch passed.
-1 unit 2977 hadoop-ozone in the patch failed.
+1 asflicense 57 The patch does not generate ASF License warnings.
8944
Reason Tests
Failed junit tests hadoop.ozone.TestOzoneConfigurationFields
hadoop.ozone.client.rpc.TestCloseContainerHandlingByClient
hadoop.ozone.client.rpc.Test2WayCommitInRatis
hadoop.ozone.client.rpc.TestOzoneRpcClient
hadoop.ozone.client.rpc.TestOzoneRpcClientWithRatis
hadoop.ozone.client.rpc.TestBlockOutputStreamWithFailures
hadoop.ozone.TestStorageContainerManager
hadoop.ozone.TestSecureOzoneCluster
hadoop.ozone.client.rpc.TestOzoneAtRestEncryption
hadoop.ozone.client.rpc.TestContainerStateMachineFailures
Subsystem Report/Notes
Docker Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/2/artifact/out/Dockerfile
GITHUB PR #1363
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle
uname Linux c24b9fed27ec 4.15.0-48-generic #51-Ubuntu SMP Wed Apr 3 08:28:49 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 872cdf4
Default Java 1.8.0_212
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/2/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/2/testReport/
Max. process+thread count 5365 (vs. ulimit of 5500)
modules C: hadoop-hdds/container-service U: hadoop-hdds/container-service
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/2/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@bshashikant
Copy link
Contributor

Thanks @avijayanhwx for updating. Can we also add some tests for the added metric in TestCSMMetrics ?
Sorry for not mentioning it in the earlier review

@avijayanhwx
Copy link
Contributor Author

Thanks @avijayanhwx for updating. Can we also add some tests for the added metric in TestCSMMetrics ?
Sorry for not mentioning it in the earlier review

Added unit test for the metrics.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 83 Docker mode activated.
_ Prechecks _
+1 dupname 0 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 1 new or modified test files.
_ trunk Compile Tests _
0 mvndep 64 Maven dependency ordering for branch
+1 mvninstall 591 trunk passed
+1 compile 393 trunk passed
+1 checkstyle 83 trunk passed
+1 mvnsite 0 trunk passed
+1 shadedclient 902 branch has no errors when building and testing our client artifacts.
+1 javadoc 184 trunk passed
0 spotbugs 475 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 706 trunk passed
_ Patch Compile Tests _
0 mvndep 38 Maven dependency ordering for patch
+1 mvninstall 580 the patch passed
+1 compile 424 the patch passed
+1 javac 424 the patch passed
+1 checkstyle 85 the patch passed
+1 mvnsite 0 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 699 patch has no errors when building and testing our client artifacts.
+1 javadoc 182 the patch passed
+1 findbugs 669 the patch passed
_ Other Tests _
-1 unit 253 hadoop-hdds in the patch failed.
-1 unit 2441 hadoop-ozone in the patch failed.
+1 asflicense 52 The patch does not generate ASF License warnings.
8620
Reason Tests
Failed junit tests hadoop.ozone.container.ozoneimpl.TestOzoneContainer
hadoop.hdds.scm.pipeline.TestRatisPipelineProvider
hadoop.ozone.TestOzoneConfigurationFields
Subsystem Report/Notes
Docker Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/3/artifact/out/Dockerfile
GITHUB PR #1363
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle
uname Linux 6538f14d34bb 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / f600fbb
Default Java 1.8.0_222
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/3/artifact/out/patch-unit-hadoop-hdds.txt
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/3/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/3/testReport/
Max. process+thread count 5058 (vs. ulimit of 5500)
modules C: hadoop-hdds/container-service hadoop-ozone/integration-test U: .
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/3/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 146 Docker mode activated.
_ Prechecks _
+1 dupname 0 No case conflicting files found.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 1 new or modified test files.
_ trunk Compile Tests _
0 mvndep 76 Maven dependency ordering for branch
+1 mvninstall 631 trunk passed
+1 compile 404 trunk passed
+1 checkstyle 77 trunk passed
+1 mvnsite 0 trunk passed
+1 shadedclient 927 branch has no errors when building and testing our client artifacts.
+1 javadoc 164 trunk passed
0 spotbugs 432 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 637 trunk passed
_ Patch Compile Tests _
0 mvndep 37 Maven dependency ordering for patch
+1 mvninstall 588 the patch passed
+1 compile 396 the patch passed
+1 javac 396 the patch passed
+1 checkstyle 77 the patch passed
+1 mvnsite 0 the patch passed
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 729 patch has no errors when building and testing our client artifacts.
+1 javadoc 164 the patch passed
+1 findbugs 738 the patch passed
_ Other Tests _
+1 unit 388 hadoop-hdds in the patch passed.
-1 unit 2234 hadoop-ozone in the patch failed.
+1 asflicense 104 The patch does not generate ASF License warnings.
8695
Reason Tests
Failed junit tests hadoop.ozone.client.rpc.TestCommitWatcher
hadoop.ozone.client.rpc.TestBlockOutputStreamWithFailures
hadoop.ozone.client.rpc.TestOzoneRpcClientForAclAuditLog
hadoop.ozone.TestOzoneConfigurationFields
Subsystem Report/Notes
Docker Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/4/artifact/out/Dockerfile
GITHUB PR #1363
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle
uname Linux 7f6f6a097d5b 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / f600fbb
Default Java 1.8.0_222
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/4/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/4/testReport/
Max. process+thread count 4913 (vs. ulimit of 5500)
modules C: hadoop-hdds/container-service hadoop-ozone/integration-test U: .
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/4/console
versions git=2.7.4 maven=3.3.9 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 75 Docker mode activated.
_ Prechecks _
+1 dupname 0 No case conflicting files found.
0 shelldocs 1 Shelldocs was not available.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 1 new or modified test files.
_ trunk Compile Tests _
0 mvndep 72 Maven dependency ordering for branch
+1 mvninstall 612 trunk passed
+1 compile 386 trunk passed
+1 checkstyle 85 trunk passed
+1 mvnsite 0 trunk passed
+1 shadedclient 866 branch has no errors when building and testing our client artifacts.
+1 javadoc 182 trunk passed
0 spotbugs 441 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 645 trunk passed
_ Patch Compile Tests _
0 mvndep 42 Maven dependency ordering for patch
+1 mvninstall 564 the patch passed
+1 compile 391 the patch passed
+1 javac 391 the patch passed
+1 checkstyle 89 the patch passed
+1 mvnsite 0 the patch passed
+1 shellcheck 0 There were no new shellcheck issues.
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 759 patch has no errors when building and testing our client artifacts.
+1 javadoc 178 the patch passed
+1 findbugs 665 the patch passed
_ Other Tests _
+1 unit 335 hadoop-hdds in the patch passed.
-1 unit 2115 hadoop-ozone in the patch failed.
+1 asflicense 53 The patch does not generate ASF License warnings.
8398
Reason Tests
Failed junit tests hadoop.ozone.om.TestSecureOzoneManager
hadoop.ozone.container.common.statemachine.commandhandler.TestBlockDeletion
hadoop.ozone.TestOzoneConfigurationFields
hadoop.ozone.scm.node.TestQueryNode
Subsystem Report/Notes
Docker Client=18.09.7 Server=18.09.7 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/5/artifact/out/Dockerfile
GITHUB PR #1363
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle shellcheck shelldocs
uname Linux fa4a4cf2f8f9 4.15.0-52-generic #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 7bebad6
Default Java 1.8.0_222
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/5/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/5/testReport/
Max. process+thread count 5409 (vs. ulimit of 5500)
modules C: hadoop-hdds/container-service hadoop-ozone/dist hadoop-ozone/integration-test U: .
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/5/console
versions git=2.7.4 maven=3.3.9 shellcheck=0.4.6 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@hadoop-yetus
Copy link

💔 -1 overall

Vote Subsystem Runtime Comment
0 reexec 36 Docker mode activated.
_ Prechecks _
+1 dupname 0 No case conflicting files found.
0 shelldocs 0 Shelldocs was not available.
+1 @author 0 The patch does not contain any @author tags.
+1 test4tests 0 The patch appears to include 1 new or modified test files.
_ trunk Compile Tests _
0 mvndep 31 Maven dependency ordering for branch
+1 mvninstall 645 trunk passed
+1 compile 429 trunk passed
+1 checkstyle 92 trunk passed
+1 mvnsite 0 trunk passed
+1 shadedclient 915 branch has no errors when building and testing our client artifacts.
+1 javadoc 181 trunk passed
0 spotbugs 436 Used deprecated FindBugs config; considering switching to SpotBugs.
+1 findbugs 640 trunk passed
_ Patch Compile Tests _
0 mvndep 41 Maven dependency ordering for patch
+1 mvninstall 553 the patch passed
+1 compile 386 the patch passed
+1 javac 386 the patch passed
+1 checkstyle 87 the patch passed
+1 mvnsite 0 the patch passed
+1 shellcheck 0 There were no new shellcheck issues.
+1 whitespace 0 The patch has no whitespace issues.
+1 shadedclient 731 patch has no errors when building and testing our client artifacts.
+1 javadoc 175 the patch passed
+1 findbugs 658 the patch passed
_ Other Tests _
+1 unit 290 hadoop-hdds in the patch passed.
-1 unit 1716 hadoop-ozone in the patch failed.
+1 asflicense 51 The patch does not generate ASF License warnings.
7924
Reason Tests
Failed junit tests hadoop.ozone.om.TestOzoneManagerHA
hadoop.ozone.om.TestSecureOzoneManager
hadoop.hdds.scm.pipeline.TestRatisPipelineProvider
Subsystem Report/Notes
Docker Client=19.03.1 Server=19.03.1 base: https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/6/artifact/out/Dockerfile
GITHUB PR #1363
Optional Tests dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient findbugs checkstyle shellcheck shelldocs
uname Linux d862b077c625 4.15.0-54-generic #58-Ubuntu SMP Mon Jun 24 10:55:24 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
Build tool maven
Personality personality/hadoop.sh
git revision trunk / 915cbc9
Default Java 1.8.0_222
unit https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/6/artifact/out/patch-unit-hadoop-ozone.txt
Test Results https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/6/testReport/
Max. process+thread count 5404 (vs. ulimit of 5500)
modules C: hadoop-hdds/container-service hadoop-ozone/dist hadoop-ozone/integration-test U: .
Console output https://builds.apache.org/job/hadoop-multibranch/job/PR-1363/6/console
versions git=2.7.4 maven=3.3.9 shellcheck=0.4.6 findbugs=3.1.0-RC1
Powered by Apache Yetus 0.10.0 http://yetus.apache.org

This message was automatically generated.

@bshashikant
Copy link
Contributor

Thanks @avijayanhwx for working on this. I am +1 on the change.

@bshashikant bshashikant merged commit b53d19a into apache:trunk Sep 3, 2019
@bshashikant
Copy link
Contributor

Thanks @avijayanhwx for the contribution. I have committed this.

amahussein pushed a commit to amahussein/hadoop that referenced this pull request Oct 29, 2019
RogPodge pushed a commit to RogPodge/hadoop that referenced this pull request Mar 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants