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

Zian Chen edited comment on YARN-5565 at 7/7/18 4:48 AM:
---------------------------------------------------------

Hi [~gurmukhd] , After investigating this issue, I think is related to JAVA 
float precision. JAVA float has 32 bits (4 bytes) where 23 bits are used for 
the mantissa (about 7 decimal *digits*). which will result in some unexpected 
precision loss here. 

Also, capacity value is a percentage based value, so it will be converted and 
cap into 0.0714286f. 

I tested in local, System.out.println(0.07142857142857143f) will be 0.071428575.

So to be safe, we suggest not setting capacity with precision which extends 
JAVA float precision.


was (Author: zian chen):
Hi [~gurmukhd] , After investigating this issue, I think is related to JAVA 
float precision. JAVA float has 32 bits (4 bytes) where 23 bits are used for 
the mantissa (about 7 decimal *digits*). which will result in some unexpected 
precision loss here. 

Also, capacity value is a percentage based value, so it will be converted and 
cap into 0.0714286f. 

I tested in local, System.out.println(0.07142857142857143f) will be 0.071428575.

So to be safe, we suggest not setting capacity with precision which extends 
JAVA float precision.

 

 

 

> Capacity Scheduler not assigning value correctly.
> -------------------------------------------------
>
>                 Key: YARN-5565
>                 URL: https://issues.apache.org/jira/browse/YARN-5565
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: capacity scheduler, yarn
>    Affects Versions: 2.7.2
>         Environment: hadoop 2.7.2
>            Reporter: gurmukh singh
>            Priority: Major
>              Labels: capacity-scheduler, scheduler, yarn
>
> Hi
> I was testing and found out that value assigned in the scheduler 
> configuration is not consistent with what ResourceManager is assigning.
> If i set the configuration as below and understand that it is java float, but 
> the rounding is not correct.
> capacity-sheduler.xml
> <property>
>   <name>yarn.scheduler.capacity.q1.capacity</name>
>   <value>7.142857142857143</value>
> </property>
> In Java:  System.err.println((7.142857142857143f)) ===> 7.142587 
> But, instead Resource Manager is assigning is 7.1428566
> Tested this on hadoop 2.7.2



--
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