Bug #2 Does not make Toast
Submitted: 12 Sep 2002 5:26 Modified: 26 Aug 2021 14:23
Reporter: Mark Matthews Email Updates:
Status: Closed Impact on me:
Category:Connector / J Severity:S7 (Test Cases)
Version:3.0.0 OS:Linux (Windows and Others))
Assigned to: CPU Architecture:Other

[12 Sep 2002 5:26] Mark Matthews
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.

[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] MySQL Verification Team
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!
[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;
(an article in the Japanese IT media Gihyo.jp, written in Japanese)
[12 Oct 2019 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 2019 16:59] Omer Barnir
This is a test of comments copying
[29 Oct 2019 17:08] Omer Barnir
Test comment
[20 Feb 2020 23:25] Omer Barnir
[20 Feb 2020 23:29] Trey Raymond
[30 May 2020 6:33] MySQL Verification Team
[16 Jul 2020 2:05] warum wollt ihr
also testing
[15 Sep 2020 15:57] Omer Barnir
Posted by developer:
[25 Feb 2021 19:07] Omer Barnir
Posted by developer:
[26 Feb 2021 15:47] Omer Barnir
Posted by developer:
Test after restart
[12 Mar 2021 4:52] Mips Lee
can we make a toast by mysql ... now..?
[25 Aug 2021 22:02] Omer Barnir
Posted by developer:
Testing C1
[25 Aug 2021 22:11] Omer Barnir
Posted by developer:
Test C3S
[25 Aug 2021 22:13] Omer Barnir
Posted by developer:
Test C4S2
[26 Aug 2021 14:13] Omer Barnir
Posted by developer:
Test C5
[26 Aug 2021 14:23] Omer Barnir
Posted by developer:
test C6S
[26 Aug 2021 18:44] Omer Barnir
Posted by developer:
test C 11
[26 Aug 2021 20:32] Omer Barnir
Posted by developer:
Test C13
[26 Aug 2021 21:04] Alfredo Kojima
Posted by developer:
Can't repro, makes toast just fine here.
[26 Aug 2021 21:05] Alfredo Kojima
Posted by developer:
[27 Aug 2021 17:54] Omer Barnir
Posted by developer:
Test C27
[27 Aug 2021 17:55] Omer Barnir
Posted by developer:
Test C28
[27 Aug 2021 17:56] Omer Barnir
Posted by developer:
Test C30
[27 Aug 2021 17:57] Omer Barnir
Posted by developer:
Test C30
[27 Aug 2021 18:08] Omer Barnir
Posted by developer:
Test C31(b)
[31 Aug 2021 21:01] Omer Barnir
Posted by developer:
Test C32
[1 Sep 2021 17:21] Omer Barnir
Posted by developer:
Test C40
[1 Sep 2021 18:09] Omer Barnir
Posted by developer:
Test C42
[2 Sep 2021 0:42] Omer Barnir
Posted by developer:
Another test
[2 Sep 2021 18:37] Omer Barnir
Posted by developer:
Another test
[12 Sep 2021 11:25] Jan Tomka
It's been 19 years. I'm starting to be afraid the developers don't appreciate how urgent this is.
[28 Jun 2022 16:08] Omer Barnir
Posted by developer:
Testing 628
[12 Jul 2022 15:38] Omer Barnir
Posted by developer:
testing - c ignore
[15 Jul 2023 11:24] Omer Barnir
Posted by developer:
Test w/comment