Description of problem: The stored procedure "UPDATE vds_interface_statistics" copies the kernel's network interface statistics into the database. We have a NIC which has wrapped its rx_dropped counter, which is a U64, so the value is about (2^64 - 1) or ~18.4 quintillion with 20 digits. The stored procedure copies this into "v_rx_drop DECIMAL(18, 4)" and gets a numeric overflow error, because you cannot copy a 20-digit number into an 18-digit field. v_tx_drop would suffer the same problem. Version-Release number of selected component (if applicable): RHV 4.3 How reproducible: Always Steps to Reproduce: 1. Have a NIC with rx_dropped or tx_dropped greater than 10^14. Actual results: ERROR: numeric field overflow Detail: A field with precision 18, scale 4 must round to an absolute value less than 10^14. Expected results: No error Additional info: The NIC's rx_dropped counter is certainly an error on the NIC, which the customer is also trying to resolve with the hardware vendor. That doesn't change the fact that ovirt shouldn't try to copy a value into a field which is too small for that value, and expose itself to this numeric overflow bug.
Verified on - rhvm-4.5.0-0.237.el8ev.noarch
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: RHV Manager (ovirt-engine) [ovirt-4.5.0] security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2022:4711