Details
Description
One can get out-of-memory errors when the server fails to open a CSV table. That is, an error like this:
120314 15:10:06 [ERROR] Failed to write to mysql.general_log: Out of memory; check if mysqld or some other process uses all available memory; if not, you may have to use 'ulimit' to allow mysqld to use more memory or you can add more swap space
can be caused by:
- stopping the server
- removing the general_log.CSV file (but leaving general_log.CSM and general_log.frm files intact)
- starting the server back
- running some query.
The error message is rather misleading.
One can think that missing CSV file is a very much edge-case. However, the whole point of using CSV storage engine is to allow the user to mess with the server's data files, so I could argue that missing table.CSV file is a more frequent scenario than, say, a missing table.MYI file.
Gliffy Diagrams
Attachments
Activity
- All
- Comments
- Work Log
- History
- Activity
- Transitions
Re: Failure to open a CSV table will give Out-of-memory message even if the problem is not related to memory
The "Out of memory" error is caused by his code in storage/csv/ha_tina.cc:
int ha_tina::open(const char *name, int mode, uint open_options)
{
DBUG_ENTER("ha_tina::open");
if (!(share= get_share(name, table)))
DBUG_RETURN(HA_ERR_OUT_OF_MEM);
^^^ That is, all errors that occur when opening a table are reported back as "Out of memory".