You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ofbiz.apache.org by "Dennis Balkir (JIRA)" <ji...@apache.org> on 2017/08/10 07:58:00 UTC

[jira] [Updated] (OFBIZ-9567) [FB] Package org.apache.ofbiz.base.metrics

     [ https://issues.apache.org/jira/browse/OFBIZ-9567?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dennis Balkir updated OFBIZ-9567:
---------------------------------
    Attachment: OFBIZ-9567_org.apache.ofbiz.base.metrics_bugfixes.patch

- changed a division with two {{long}} variables whose result was casted into a {{double}}; now it performs a proper {{double}} division

> [FB] Package org.apache.ofbiz.base.metrics
> ------------------------------------------
>
>                 Key: OFBIZ-9567
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-9567
>             Project: OFBiz
>          Issue Type: Sub-task
>          Components: base
>    Affects Versions: Trunk
>            Reporter: Dennis Balkir
>            Priority: Minor
>         Attachments: OFBIZ-9567_org.apache.ofbiz.base.metrics_bugfixes.patch
>
>
> - MetricsFactory.java:236, ICAST_IDIV_CAST_TO_DOUBLE
> ICAST: Integral division result cast to double or float in org.apache.ofbiz.base.metrics.MetricsFactory$MetricsImpl.recordServiceRate(int, long)
> This code casts the result of an integral division (e.g., int or long division) operation to double or float. Doing division on integers truncates the result to the integer value closest to zero. The fact that the result was cast to double suggests that this precision should have been retained. What was probably meant was to cast one or both of the operands to double before performing the division. Here is an example:
> int x = 2;
> int y = 5;
> // Wrong: yields result 0.0
> double value1 =  x / y;
> // Right: yields result 0.4
> double value2 =  x / (double) y;



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)