I had a strange problem with MySQL the other day. After I optimized a query which took too long I got a error 28. The logfile said:

WARN  [org.hibernate.util.JDBCExceptionReporter] SQL Error: 1030, SQLState: HY000
ERROR [org.hibernate.util.JDBCExceptionReporter] Got error 28 from storage engine

which is somehow related to

>perror 28
OS error code  28:  No space left on device

I checked my filesystem and no device was full. I expected to see at least one device with 90-something percent use but strangely “No space left on device” means “Hey, there is only 170mb left on /tmp and I need MORE!”. After I moved the MySQL tmpdir to another partition, everything worked like it should. So I guess this is another case of “Why should we provide useful errormessage when we want to sell consulting”TM.


Any comments? Or questions? Just leave a Reply: