Bug #68798 "Abort of backup ..." messages still treat backup ID as signed
Submitted: 27 Mar 2013 16:59 Modified: 19 Jul 2013 13:36
Reporter: Hartmut Holzgraefe Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:<= 7.2.10 OS:Linux
Assigned to: CPU Architecture:Any

[27 Mar 2013 16:59] Hartmut Holzgraefe
Description:
"Abort of backup .... ordered/failed" messages still print negative values for backup IDs > 2^31

How to repeat:
ndb_mgm> abort backup 2147483647
Abort of backup 2147483647 ordered

ndb_mgm> abort backup 2147483648
Abort of backup -2147483648 ordered

ndb_mgm> abort backup 2147483649
Abort of backup -2147483647 ordered

Also again no range checking:

ndb_mgm> abort backup 1000000000000000000
Abort of backup -1486618624 ordered

Suggested fix:
Make sure printing of the "Abort of backup" messages treats the backup id as 32bit unsigned integer

Check for valid backup ID range
[2 Apr 2013 7:29] MySQL Verification Team
Hello Hartmut,

Thank you for the report.
Verified as described.

Thanks,
Umesh
[19 Jul 2013 13:36] Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release.

If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at

    http://dev.mysql.com/doc/en/installing-source.html
[19 Jul 2013 14:09] Jon Stephens
Fixed in NDB 7.0+ Documented as follows in the NDB 7.0.40, 7.1.29, 7.2.14, and 7.3.3 changelogs:

        The backup IDs provided to ABORT BACKUP commands were treated as 
        signed values by ndb_mgm, so that backup IDs greater than 2^31 
        wrapped around to negative values. This also affected out-of-range 
        backup IDs, which also wrapped around to negative values (instead 
        of causing errors as expected in such cases). The backup ID is now 
        treated as an unsigned value, and ndb_mgm now performs proper
        range checking for backup ID values greater than MAX_BACKUPS (2^32).

Closed.