[ 
https://issues.apache.org/jira/browse/HDFS-14162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16767374#comment-16767374
 ] 

Erik Krogen edited comment on HDFS-14162 at 2/13/19 4:38 PM:
-------------------------------------------------------------

I ran a JMH benchmark to see about performance differences ( 
[^ReflectionBenchmark.java] ). It looks like the case where the method exists 
is much faster whether using direct invocation or using a method lookup, and 
the direct invocation is faster whether or not the method exists:
{code:java}
Benchmark                                                 Mode  Cnt         
Score        Error  Units
ReflectionBenchmark.testDirectInvocationWhenExists       thrpt   25  
90940155.095 ± 566784.364  ops/s
ReflectionBenchmark.testDirectInvocationWhenNotExists    thrpt   25    
397612.090 ±   7832.119  ops/s
ReflectionBenchmark.testGetMethodWhenExists              thrpt   25   
5377201.019 ± 174039.222  ops/s
ReflectionBenchmark.testGetMethodWhenNotExists           thrpt   25    
329229.282 ±   6865.177  ops/s
{code}

Attached v003 patch with license update. Also checked 
{{TestBalancerWithMultipleNameNodes}} locally, and it passes fine. I've seen 
this test be flaky (timeout) in precommit builds recently.


was (Author: xkrogen):
I ran a JMH benchmark to see about performance differences ( 
[^ReflectionBenchmark.java] ). It looks like the case where the method exists 
is much faster whether using direct invocation or using a method lookup, and 
the direct invocation is faster whether or not the method exists:
{code:java}
Benchmark                                                 Mode  Cnt         
Score        Error  Units
ReflectionBenchmark.testDirectInvocationWhenExists       thrpt   25  
90940155.095 ± 566784.364  ops/s
ReflectionBenchmark.testDirectInvocationWhenNotExists    thrpt   25    
397612.090 ±   7832.119  ops/s
ReflectionBenchmark.testGetMethodWhenExists              thrpt   25   
5377201.019 ± 174039.222  ops/s
ReflectionBenchmark.testGetMethodWhenNotExists           thrpt   25    
329229.282 ±   6865.177  ops/s
{code}

> Balancer should work with ObserverNode
> --------------------------------------
>
>                 Key: HDFS-14162
>                 URL: https://issues.apache.org/jira/browse/HDFS-14162
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: Konstantin Shvachko
>            Assignee: Erik Krogen
>            Priority: Major
>         Attachments: HDFS-14162-HDFS-12943.wip0.patch, HDFS-14162.000.patch, 
> HDFS-14162.001.patch, HDFS-14162.002.patch, HDFS-14162.003.patch, 
> ReflectionBenchmark.java, testBalancerWithObserver-3.patch, 
> testBalancerWithObserver.patch
>
>
> Balancer provides a substantial RPC load on NameNode. It would be good to 
> divert Balancer RPCs {{getBlocks()}}, etc. to ObserverNode. The main problem 
> is that Balancer uses {{NamenodeProtocol}}, while ORPP currently supports 
> only {{ClientProtocol}}.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to