Project

General

Profile

Actions

Bug #10773

closed

Rounding error in compliance bar can hide error with very small percent

Added by François ARMAND over 7 years ago. Updated over 2 years ago.

Status:
Released
Priority:
N/A
Category:
Web - UI & UX
Target version:
Severity:
Critical - prevents main use of Rudder | no workaround | data loss | security
UX impact:
User visibility:
Operational - other Techniques | Rudder settings | Plugins
Effort required:
Medium
Priority:
91
Name check:
Fix check:
Regression:

Description

As reported in #10761, depending of the numbers, we may display percents that don't sum-up to 100% in the compliance bar.

A part of the ticket is to establish a definitive algo about how the computing of such rounding is done (up or down? Always 100 (yes)? Favors error or success?)


Subtasks 1 (0 open1 closed)

Bug #14272: Table "sort by compliance" is brokenReleasedVincent MEMBRÉActions

Related issues 3 (0 open3 closed)

Related to Rudder - Bug #12643: Compliance bar appears partially white in some graphesReleasedVincent MEMBRÉActions
Related to Rudder - Bug #18912: White empty segment in compliance bar due to computation bugResolvedRaphael GAUTHIERActions
Related to Rudder - Bug #20373: compliance from API doesn't always adds up to 100%ReleasedVincent MEMBRÉActions
Actions #1

Updated by Vincent MEMBRÉ over 7 years ago

  • Target version changed from 4.1.3 to 4.1.4
Actions #2

Updated by Vincent MEMBRÉ over 7 years ago

  • Target version changed from 4.1.4 to 4.1.5
Actions #3

Updated by Alexis Mousset over 7 years ago

  • Target version changed from 4.1.5 to 4.1.6
Actions #4

Updated by Benoît PECCATTE over 7 years ago

  • Priority changed from 35 to 50
Actions #5

Updated by Benoît PECCATTE over 7 years ago

Proposed algo:
  • Sort values from small to big
  • Have a counter for the rounding error (= displayed value - real value)
  • All values <1% are displayed <1% and counted as 1%
  • For each other value, round depending on the counter (above i negative, below if positive)

> this should be as close to 100% as possible, more or less 1% (except if there are too many <1%
> some value are not rounded to the closest

Alternative:
  • Idem except:
  • Round to the closest all values interdependently of the counter except the last one
  • Substract the counter from the last value before rounding

> This can make sure we hit 100%
> only the biggest value is imprecise

Actions #6

Updated by Benoît PECCATTE over 7 years ago

  • Category set to Web - UI & UX
Actions #7

Updated by Raphael GAUTHIER over 7 years ago

  • Effort required set to Medium
  • Priority changed from 50 to 33
Actions #8

Updated by Vincent MEMBRÉ over 7 years ago

  • Target version changed from 4.1.6 to 4.1.7
Actions #9

Updated by Vincent MEMBRÉ over 7 years ago

  • Target version changed from 4.1.7 to 4.1.8
  • Priority changed from 33 to 32
Actions #10

Updated by Vincent MEMBRÉ about 7 years ago

  • Target version changed from 4.1.8 to 4.1.9
Actions #11

Updated by Benoît PECCATTE about 7 years ago

  • Priority changed from 32 to 31
Actions #12

Updated by Vincent MEMBRÉ about 7 years ago

  • Target version changed from 4.1.9 to 4.1.10
Actions #13

Updated by Vincent MEMBRÉ almost 7 years ago

  • Target version changed from 4.1.10 to 4.1.11
  • Priority changed from 31 to 29
Actions #14

Updated by Vincent MEMBRÉ over 6 years ago

  • Target version changed from 4.1.11 to 4.1.12
Actions #15

Updated by Alexis Mousset over 6 years ago

  • Severity changed from Minor - inconvenience | misleading | easy workaround to Critical - prevents main use of Rudder | no workaround | data loss | security
  • Priority changed from 29 to 64

It happens event in nodes list, and even in rules overview in node compliance. We need to go to component level to see errors.

This may hide any configuration issue, and gives a false sense on compliance. Setting to critical.

Actions #16

Updated by Benoît PECCATTE over 6 years ago

my algorithm is still valid

Actions #17

Updated by Vincent MEMBRÉ over 6 years ago

  • Target version changed from 4.1.12 to 4.1.13
Actions #18

Updated by Benoît PECCATTE over 6 years ago

  • Target version changed from 4.1.13 to 411
Actions #19

Updated by Benoît PECCATTE over 6 years ago

  • Target version changed from 411 to 4.1.13
Actions #20

Updated by François ARMAND over 6 years ago

  • Related to Bug #12643: Compliance bar appears partially white in some graphes added
Actions #21

Updated by Vincent MEMBRÉ over 6 years ago

I tested really small status (1 error for 1k reports to 1billion)

1k to 20k => Ok! (a small portion appear containing the error)

20k to 21M => 100% green (no error section)

21M and above => Overflow !

Actions #22

Updated by Vincent MEMBRÉ over 6 years ago

Above 20k reports, this breaks because we have less that 0,005 % and since we round to 2 digits, it's rounded to 0,00%

Actions #23

Updated by Benoît PECCATTE over 6 years ago

  • User visibility changed from Getting started - demo | first install | level 1 Techniques to Operational - other Techniques | Technique editor | Rudder settings
  • Priority changed from 64 to 49
Actions #24

Updated by Vincent MEMBRÉ over 6 years ago

  • Target version changed from 4.1.13 to 4.1.14
Actions #25

Updated by Benoît PECCATTE over 6 years ago

  • Target version changed from 4.1.14 to 4.1.15
Actions #26

Updated by Vincent MEMBRÉ about 6 years ago

  • Target version changed from 4.1.15 to 4.1.16
Actions #27

Updated by Vincent MEMBRÉ about 6 years ago

  • Target version changed from 4.1.16 to 4.1.17
Actions #28

Updated by Vincent MEMBRÉ about 6 years ago

  • Target version changed from 4.1.17 to 4.1.18
  • Priority changed from 49 to 0
Actions #29

Updated by Vincent MEMBRÉ almost 6 years ago

  • Target version changed from 4.1.18 to 4.1.19
Actions #30

Updated by Alexis Mousset almost 6 years ago

  • Target version changed from 4.1.19 to 4.1.20
Actions #31

Updated by François ARMAND almost 6 years ago

  • Translation missing: en.field_tag_list set to Sponsored
  • User visibility changed from Operational - other Techniques | Technique editor | Rudder settings to Operational - other Techniques | Rudder settings | Plugins
  • Priority changed from 0 to 76
Actions #32

Updated by François ARMAND almost 6 years ago

This is causing grave problem in the case where one among a big number of reports are in error, and that component is critical.

Actions #33

Updated by François ARMAND almost 6 years ago

  • Status changed from New to In progress
  • Assignee set to François ARMAND
Actions #34

Updated by Vincent MEMBRÉ almost 6 years ago

  • Assignee changed from François ARMAND to Vincent MEMBRÉ
Actions #35

Updated by Vincent MEMBRÉ almost 6 years ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from Vincent MEMBRÉ to François ARMAND
  • Pull Request set to https://github.com/Normation/rudder/pull/2130
Actions #36

Updated by Rudder Quality Assistant almost 6 years ago

  • Assignee changed from François ARMAND to Vincent MEMBRÉ
Actions #37

Updated by Vincent MEMBRÉ almost 6 years ago

  • Status changed from Pending technical review to Pending release
Actions #38

Updated by François ARMAND almost 6 years ago

  • Subject changed from Rounding error in compliance bar to Rounding error in compliance bar can hide error with very small percent
Actions #39

Updated by François ARMAND almost 6 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 4.1.20, 4.3.10 and 5.0.6 which were released today.

Actions #40

Updated by François ARMAND almost 4 years ago

  • Related to Bug #18912: White empty segment in compliance bar due to computation bug added
Actions #41

Updated by Nicolas CHARLES about 3 years ago

  • Related to Bug #20373: compliance from API doesn't always adds up to 100% added
Actions #42

Updated by Alexis Mousset over 2 years ago

  • Priority changed from 76 to 91
Actions

Also available in: Atom PDF