Major - P3
The opcounter values that the serverStatus command returns are stored in mongod as an unsigned 32-bit integer, however serverStatus returns these values as a signed 32-bit integer. This can cause negative numbers to be displayed if the opcounter values are large enough.
This is a cosmetic issue, but can lead to confusion and obfuscate the real opcounter values. Custom scripts that parse these values may receive unexpected input.
A restart of the mongod server resets the opcounter values back to 0.
All production releases from 2.6.0 to 2.6.3 are affected by the issue.
The fix is included in the 2.6.4 production release.
The fix correctly resets the operation counters when any counter grows close to the maximum value of a signed 32-bit integer.
The opcounter values that the serverStatus command returns are stored in mongod as unsigned integer. serverStatus returns these values as a signed integer which can mean negative values if not converted back to unsigned.
We should look to return the full positive value.
- is related to
SERVER-14364 OpCounters values should be stored/exported as 64-bit integers