You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by GitBox <gi...@apache.org> on 2020/09/03 02:51:17 UTC

[GitHub] [hadoop-ozone] runzhiwang opened a new pull request #1381: HDDS-4201. Improve the performance of OmKeyLocationInfoGroup

runzhiwang opened a new pull request #1381:
URL: https://github.com/apache/hadoop-ozone/pull/1381


   ## What changes were proposed in this pull request?
   
      ` locations.stream().collect(Collectors.groupingBy(OmKeyLocationInfo::getCreateVersion))` cost 2-3ms even though the locations size is zero.
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-4201
   
   ## How was this patch tested?
   
   no need to add test.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: ozone-issues-help@hadoop.apache.org


[GitHub] [hadoop-ozone] codecov-commenter commented on pull request #1381: HDDS-4201. Improve the performance of OmKeyLocationInfoGroup

Posted by GitBox <gi...@apache.org>.
codecov-commenter commented on pull request #1381:
URL: https://github.com/apache/hadoop-ozone/pull/1381#issuecomment-686510592


   # [Codecov](https://codecov.io/gh/apache/hadoop-ozone/pull/1381?src=pr&el=h1) Report
   > Merging [#1381](https://codecov.io/gh/apache/hadoop-ozone/pull/1381?src=pr&el=desc) into [master](https://codecov.io/gh/apache/hadoop-ozone/commit/c77e7bade1f01a8fa5e14404db950de6480f52d9?el=desc) will **increase** coverage by `0.02%`.
   > The diff coverage is `100.00%`.
   
   [![Impacted file tree graph](https://codecov.io/gh/apache/hadoop-ozone/pull/1381/graphs/tree.svg?width=650&height=150&src=pr&token=5YeeptJMby)](https://codecov.io/gh/apache/hadoop-ozone/pull/1381?src=pr&el=tree)
   
   ```diff
   @@             Coverage Diff              @@
   ##             master    #1381      +/-   ##
   ============================================
   + Coverage     75.05%   75.08%   +0.02%     
   - Complexity    10480    10483       +3     
   ============================================
     Files           990      990              
     Lines         50844    50848       +4     
     Branches       4956     4958       +2     
   ============================================
   + Hits          38162    38177      +15     
   + Misses        10296    10289       -7     
   + Partials       2386     2382       -4     
   ```
   
   
   | [Impacted Files](https://codecov.io/gh/apache/hadoop-ozone/pull/1381?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
   |---|---|---|---|
   | [...adoop/ozone/om/helpers/OmKeyLocationInfoGroup.java](https://codecov.io/gh/apache/hadoop-ozone/pull/1381/diff?src=pr&el=tree#diff-aGFkb29wLW96b25lL2NvbW1vbi9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvaGFkb29wL296b25lL29tL2hlbHBlcnMvT21LZXlMb2NhdGlvbkluZm9Hcm91cC5qYXZh) | `86.44% <100.00%> (+0.98%)` | `19.00 <0.00> (+2.00)` | |
   | [...hdds/scm/container/CloseContainerEventHandler.java](https://codecov.io/gh/apache/hadoop-ozone/pull/1381/diff?src=pr&el=tree#diff-aGFkb29wLWhkZHMvc2VydmVyLXNjbS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvaGFkb29wL2hkZHMvc2NtL2NvbnRhaW5lci9DbG9zZUNvbnRhaW5lckV2ZW50SGFuZGxlci5qYXZh) | `72.41% <0.00%> (-17.25%)` | `6.00% <0.00%> (ø%)` | |
   | [.../apache/hadoop/hdds/scm/node/StaleNodeHandler.java](https://codecov.io/gh/apache/hadoop-ozone/pull/1381/diff?src=pr&el=tree#diff-aGFkb29wLWhkZHMvc2VydmVyLXNjbS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvaGFkb29wL2hkZHMvc2NtL25vZGUvU3RhbGVOb2RlSGFuZGxlci5qYXZh) | `88.88% <0.00%> (-11.12%)` | `4.00% <0.00%> (ø%)` | |
   | [...hadoop/ozone/recon/api/types/DatanodeMetadata.java](https://codecov.io/gh/apache/hadoop-ozone/pull/1381/diff?src=pr&el=tree#diff-aGFkb29wLW96b25lL3JlY29uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9oYWRvb3Avb3pvbmUvcmVjb24vYXBpL3R5cGVzL0RhdGFub2RlTWV0YWRhdGEuamF2YQ==) | `79.31% <0.00%> (-8.63%)` | `2.00% <0.00%> (-5.00%)` | |
   | [...e/commandhandler/CreatePipelineCommandHandler.java](https://codecov.io/gh/apache/hadoop-ozone/pull/1381/diff?src=pr&el=tree#diff-aGFkb29wLWhkZHMvY29udGFpbmVyLXNlcnZpY2Uvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2hhZG9vcC9vem9uZS9jb250YWluZXIvY29tbW9uL3N0YXRlbWFjaGluZS9jb21tYW5kaGFuZGxlci9DcmVhdGVQaXBlbGluZUNvbW1hbmRIYW5kbGVyLmphdmE=) | `87.50% <0.00%> (-4.17%)` | `8.00% <0.00%> (ø%)` | |
   | [...doop/hdds/scm/pipeline/SimplePipelineProvider.java](https://codecov.io/gh/apache/hadoop-ozone/pull/1381/diff?src=pr&el=tree#diff-aGFkb29wLWhkZHMvc2VydmVyLXNjbS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvaGFkb29wL2hkZHMvc2NtL3BpcGVsaW5lL1NpbXBsZVBpcGVsaW5lUHJvdmlkZXIuamF2YQ==) | `76.00% <0.00%> (-4.00%)` | `4.00% <0.00%> (-1.00%)` | |
   | [...r/common/states/datanode/RunningDatanodeState.java](https://codecov.io/gh/apache/hadoop-ozone/pull/1381/diff?src=pr&el=tree#diff-aGFkb29wLWhkZHMvY29udGFpbmVyLXNlcnZpY2Uvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2hhZG9vcC9vem9uZS9jb250YWluZXIvY29tbW9uL3N0YXRlcy9kYXRhbm9kZS9SdW5uaW5nRGF0YW5vZGVTdGF0ZS5qYXZh) | `82.50% <0.00%> (-2.50%)` | `20.00% <0.00%> (-1.00%)` | |
   | [...iner/common/statemachine/EndpointStateMachine.java](https://codecov.io/gh/apache/hadoop-ozone/pull/1381/diff?src=pr&el=tree#diff-aGFkb29wLWhkZHMvY29udGFpbmVyLXNlcnZpY2Uvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2hhZG9vcC9vem9uZS9jb250YWluZXIvY29tbW9uL3N0YXRlbWFjaGluZS9FbmRwb2ludFN0YXRlTWFjaGluZS5qYXZh) | `80.82% <0.00%> (-1.37%)` | `19.00% <0.00%> (-1.00%)` | |
   | [.../common/states/endpoint/HeartbeatEndpointTask.java](https://codecov.io/gh/apache/hadoop-ozone/pull/1381/diff?src=pr&el=tree#diff-aGFkb29wLWhkZHMvY29udGFpbmVyLXNlcnZpY2Uvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2hhZG9vcC9vem9uZS9jb250YWluZXIvY29tbW9uL3N0YXRlcy9lbmRwb2ludC9IZWFydGJlYXRFbmRwb2ludFRhc2suamF2YQ==) | `71.06% <0.00%> (-1.26%)` | `26.00% <0.00%> (-1.00%)` | |
   | [...p/ozone/container/keyvalue/helpers/ChunkUtils.java](https://codecov.io/gh/apache/hadoop-ozone/pull/1381/diff?src=pr&el=tree#diff-aGFkb29wLWhkZHMvY29udGFpbmVyLXNlcnZpY2Uvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2hhZG9vcC9vem9uZS9jb250YWluZXIva2V5dmFsdWUvaGVscGVycy9DaHVua1V0aWxzLmphdmE=) | `85.45% <0.00%> (-0.91%)` | `30.00% <0.00%> (-1.00%)` | |
   | ... and [14 more](https://codecov.io/gh/apache/hadoop-ozone/pull/1381/diff?src=pr&el=tree-more) | |
   
   ------
   
   [Continue to review full report at Codecov](https://codecov.io/gh/apache/hadoop-ozone/pull/1381?src=pr&el=continue).
   > **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
   > `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
   > Powered by [Codecov](https://codecov.io/gh/apache/hadoop-ozone/pull/1381?src=pr&el=footer). Last update [c77e7ba...f0a7bb6](https://codecov.io/gh/apache/hadoop-ozone/pull/1381?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: ozone-issues-help@hadoop.apache.org


[GitHub] [hadoop-ozone] runzhiwang commented on pull request #1381: HDDS-4201. Improve the performance of OmKeyLocationInfoGroup

Posted by GitBox <gi...@apache.org>.
runzhiwang commented on pull request #1381:
URL: https://github.com/apache/hadoop-ozone/pull/1381#issuecomment-686819317


   @adoroszlai Thanks for review. I have updated the patch.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: ozone-issues-help@hadoop.apache.org


[GitHub] [hadoop-ozone] adoroszlai commented on a change in pull request #1381: HDDS-4201. Improve the performance of OmKeyLocationInfoGroup

Posted by GitBox <gi...@apache.org>.
adoroszlai commented on a change in pull request #1381:
URL: https://github.com/apache/hadoop-ozone/pull/1381#discussion_r483005141



##########
File path: hadoop-ozone/common/src/main/java/org/apache/hadoop/ozone/om/helpers/OmKeyLocationInfoGroup.java
##########
@@ -36,8 +36,13 @@
   public OmKeyLocationInfoGroup(long version,
                                 List<OmKeyLocationInfo> locations) {
     this.version = version;
-    this.locationVersionMap = locations.stream()
-        .collect(Collectors.groupingBy(OmKeyLocationInfo::getCreateVersion));
+    locationVersionMap = new HashMap<>();
+    for (OmKeyLocationInfo info : locations) {
+      if (!locationVersionMap.containsKey(info.getCreateVersion())) {
+        locationVersionMap.put(info.getCreateVersion(), new ArrayList<>());
+      }
+      locationVersionMap.get(info.getCreateVersion()).add(info);

Review comment:
       I think we can avoid two map lookups (and long autoboxing) by using `computeIfAbsent`:
   
   ```suggestion
         locationVersionMap
             .computeIfAbsent(info.getCreateVersion(), v -> new ArrayList<>())
             .add(info);
   ```




----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: ozone-issues-help@hadoop.apache.org


[GitHub] [hadoop-ozone] adoroszlai merged pull request #1381: HDDS-4201. Improve the performance of OmKeyLocationInfoGroup

Posted by GitBox <gi...@apache.org>.
adoroszlai merged pull request #1381:
URL: https://github.com/apache/hadoop-ozone/pull/1381


   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: ozone-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: ozone-issues-help@hadoop.apache.org