Failure to open a CSV table will give Out-of-memory message even if the problem is not related to memory

Bug #955089 reported by Sergey Petrunia
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
MariaDB
Confirmed
Low
Unassigned

Bug 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.

Revision history for this message
Sergey Petrunia (sergefp) wrote :

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".

Changed in maria:
status: New → Confirmed
importance: Undecided → Low
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.