Bug #2 Does not make Toast
Submitted: 12 Sep 2002 5:26 Modified: 15 Jun 2015 22:03
Reporter: Mark Matthews Email Updates:
Status: Closed Impact on me:
None 
Category:Connector / J Severity:S3 (Non-critical)
Version:3.0.0 OS:Microsoft Windows (Windows and Others))
Assigned to: CPU Architecture:Any

[12 Sep 2002 5:26] Mark Matthews
Description:
Other JDBC drivers I have used make toast for breakfast.

MySQL Connector/J doesn't make toast, it can only pour a bowl of froot loops.

When I ask it to make toast, the "NoToast" exception is thrown. I think you should look into this.

How to repeat:
[12 Sep 2002 5:31] Mark Matthews
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.mysql.com/documentation/ and the instructions on
how to report a bug at http://bugs.mysql.com/how-to-report.php

This is as expected. MySQL Connector/J does not make toast. I don\'t think it makes froot loops either (will have to check).

I believe you should look into a device called a \"toaster\" to make your toast.

Of course if you want to sponsor the \"toast\" feature, we would be glad to implement it for you.
[18 Aug 2005 18:05] mark jordan
my PS2 makes toast ... it even looks like a toaster.

;-D
[31 Jan 2012 20:27] Paul Dubois
This report is almost 10 years old now and C/J *still* doesn't make toast? Sheesh.
[1 Feb 2012 7:46] Shane Bester
i thought it's a server bug.  if the server exported a menu we could wish for breakfast in bed.
[22 Feb 2012 23:49] Omer Barnir
File upload test

Attachment: test_file.txt (text/plain), 21 bytes.

[12 Sep 2012 13:06] Harald Stowasser
Happy Birthday Bug!
[12 Sep 2013 13:55] Carsten Segieth
11 years now without toast ... happy birthday bug#2!
[12 Jan 2015 13:33] Vladislav Safronov
the best bug ever.
[15 Jun 2015 22:03] Daniel So
Added the following entry to the Connector/J version who-knows-what for this
historical Bug#2, which was a test and was supposed to be ignored:

"Connector/J did not make toast. This was due to the missing of the Toaster
class, which this fix has added. However, the class is only accessible when a
user is extremely hungry. If Connector/J still does not make toasts for you,
it is only because you are not hungry enough."
[17 Jul 2015 6:34] Jon Stephens
Noted in the docs in response to customer issue:

"The Toaster class must be initialised by calling plug_in(). Otherwise, instances can be created and their toast() methods invoked as normal, but getColour() in such cases continues to return CJ_TOAST_CLR_WHITE without throwing any errors."

This update has been committed to our documentation repository and should appear in the published docs online very soon.
[25 Nov 2015 16:11] Mathew Beane
This actually has been solved finally!
https://www.percona.com/blog/2015/11/25/smallest-mysql-server-world-60-can-even-make-toast...
[25 Nov 2015 21:18] Federico Razzoli
I tried to make a toast using a stored procedure but, as I mentioned several time, current MySQL implementation of SP is too limited and slow. I worked hard for a month, and now, even when the procedure doesn't fail, it takes several hours to make a complete toast. What's worst is that there is no way to return it to the caller (just like cursors), so it remains in memory and is eventually deleted.

I hope to see improvements in a future MySQL version.
[1 Apr 2016 19:03] Alexander Rubin
I've created a patch for this bug here: https://github.com/alikrubin/lib_mysqludf_sys
(also attached 2 files).
Full description for the patch is here: https://www.percona.com/blog/2016/04/01/fixing-mysql-bug2-now-mysql-makes-toast/
[5 May 2017 5:21] Roel Van de Paar
New regression in 8.0.1

#0  0x00007f11bf9cc741 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
#1  0x00000000018514ca in my_write_core (sig=6) at /git/mysql-8.0.1_dbg/mysys/stacktrace.c:249
#2  0x0000000000e81e91 in handle_fatal_signal (sig=6) at /git/mysql-8.0.1_dbg/sql/signal_handler.cc:223
#3  <signal handler called>
#4  0x00007f11bdd601d7 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#5  0x00007f11bdd618c8 in __GI_abort () at abort.c:90
#6  0x0000000001bcd31c in ut_dbg_assertion_failed (expr=0x2233ba3 "purge_sys->n_stop == 0", file=0x2232cb8 "/git/mysql-8.0.1_dbg/storage/innobase/srv/toast.cc", line=3070)
    at /git/mysql-8.0.1_dbg/storage/innobase/ut/ut0dbg.cc:67
#7  0x0000000001b63d44 in check_if_burned (sandwich=0x7f11b1be8868,toaster_slot=13) at /git/mysql-8.0.1_dbg/storage/innobase/srv/maketoast.cc:3070
#8  0x0000000001b640d7 in make_toast (arg=0x0) at /git/mysql-8.0.1_dbg/storage/innobase/srv/maketoast.cc:1000
#9  0x00007f11bf9c7dc5 in start_thread (arg=0x7f118b7fd700) at pthread_create.c:308
#10 0x00007f11bde2273d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
[5 May 2017 13:59] David Bennett
Connector/J is now throwing AppleJacksException on OS X.   Still no toast :(
[1 Jun 2017 14:26] Vlad Safronov
personal emoji for the bug 🍞
[12 Sep 2018 11:59] Harald Stowasser
Happy birthday bug #2!
[25 Dec 2018 1:22] Ryusuke Kajiyama
Fix confirmed by @kk2170 in Japan,
with MySQL 8.0.13 using Arduino and arudino_filmata Ruby library;
 https://gihyo.jp/dev/serial/01/mysql-road-construction-news/0087
(an article in the Japanese IT media Gihyo.jp, written in Japanese)
[12 Oct 0:49] Federico Razzoli
I would argue that making toasts would break JDBC specification.

It would also sensibly reduce salability, because making a toast acquires an X lock on the device for about one minute.

Last but not least, this will break backward compatibility. Consider all those apps that would start to make a toast every time a page is visited. Obesity would become a huge problem for DBAs.
[28 Oct 16:59] Omer Barnir
This is a test of comments copying
[29 Oct 17:08] Omer Barnir
Test comment