#At file:///home/olav/mysql/develop/falcon-elog/ based on revid:olav.sandstaa@stripped
2742 Olav.Sandstaa@stripped 2009-06-24
Bug #43490 Falcon internal thread terminate after throwing an instance of 'SQLError'
When this error occurs MySQL terminates and all that is written to the log
file is that there was on uncaught SQLError exception.
The Thread class has code for writing out the exception string but unless
the correct debug flag is specified nothing is written to the log file.
This patch changes the Thread class to use Log::fatal() for writing the
excpetion's string so that it is more likely that it get written to the log
before the process is terminated. The patch does not fix the problem but
will hopefully make it easier to understand what caused this exception
to occure.
modified:
storage/falcon/Thread.cpp
=== modified file 'storage/falcon/Thread.cpp'
--- a/storage/falcon/Thread.cpp 2009-03-20 19:28:10 +0000
+++ b/storage/falcon/Thread.cpp 2009-06-24 13:31:32 +0000
@@ -196,7 +196,7 @@ void Thread::thread()
catch (SQLException& exception)
{
#ifdef FALCONDB
- Log::log ("Thread::thread: thread %d: %s\n", threadId, exception.getText());
+ Log::fatal ("Thread::thread: thread %d: %s\n", threadId, exception.getText());
#endif
release();
throw;
@@ -204,7 +204,7 @@ void Thread::thread()
catch (...)
{
#ifdef FALCONDB
- Log::log ("Thread::thread: unexpected exception, rethrowing, thread %d\n", threadId);
+ Log::fatal ("Thread::thread: unexpected exception, rethrowing, thread %d\n", threadId);
#endif
release();
throw;
Attachment: [text/bzr-bundle] bzr/olav.sandstaa@sun.com-20090624133132-9th2d111uumhkgye.bundle