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