fsp_reserve_free_extents fails to reserve space if FSP_SIZE < FSP_FREE_LIMIT

Bug #1083700 reported by George Ormond Lorch III
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Fix Released
Medium
George Ormond Lorch III
5.5
Fix Released
Medium
George Ormond Lorch III

Bug Description

An unsigned math error in fsp_reserve_free_extents causes function to believe that there are already many free extents available when FSP_SIZE < FSP_FREE_LIMIT, causing function to do nothing and possibly allow out of space errors to go undetected until attempted use of non-existent space occurs.

Tags: innodb

Related branches

Stewart Smith (stewart)
Changed in percona-server:
milestone: 5.5.28-29.2 → 5.5.29-29.4
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

This is an upstream bug. Was there any reason not report it there?

tags: added: innodb
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

The fix for this is correct in that it that handles size < free_limit situation correctly.

But do we arrive at size < free_limit in the first place, and if yes, how? That seems to require some sort of bug in fsp_fill_free_list to write the value at FSP_FREE_LIST that is larger than the value at FSP_SIZE.

I have just encountered this on 5.6, and if this situation has been analyzed on 5.5 already, it would be a great help.

Revision history for this message
George Ormond Lorch III (gl-az) wrote :

Laurynas, this was found while looking into handling file system quotas/enospc better without crashing for a customer. It didn't completely solve their problem but at least prevented the server from crashing as a result of the condition which was all they requested. IIRC there were already several related upstream bug reports.

Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

George - I remember the context of this bug, but please note that I'm interested in some particular details which the context does not provide.
- Have we ever actually end up in FSP_SIZE < FSP_FREE_LIMIT situation or is it just defensive programming here?
- If yes, how?
- I searched and I was not able to find an upstream bug "fsp_reserve_free_extents fails to reserve space if FSP_SIZE < FSP_FREE_LIMIT", which would be a different bug from all the "MySQL fails if ENOSPACE" bugs.

Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-1282

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.