summaryrefslogtreecommitdiff
path: root/mysys/errors.c
Commit message (Collapse)AuthorAgeFilesLines
* MDEV-7947 strcmp() takes 0.37% in OLTP ROMonty2020-07-231-1/+3
| | | | | | | | | | | | | | | | | | | This patch ensures that all identical character sets shares the same cs->csname. This allows us to replace strcmp() in my_charset_same() with comparisons of pointers. This fixes a long standing performance issue that could cause as strcmp() for every item sent trough the protocol class to the end user. One consequence of this patch is that we don't allow one to add a character definition in the Index.xml file that changes the csname of an existing character set. This is by design as changing character set names of existing ones is extremely dangerous, especially as some storage engines just records character set numbers. As we now have a hash over character set's csname, we can in the future use that for faster access to a specific character set. This could be done by changing the hash to non unique and use the hash to find the next character set with same csname.
* my_pagepages: perror -> my_errorDaniel Black2020-04-081-1/+3
|
* my_largepage: fprintf -> my_{printf_,}errorDaniel Black2020-04-081-1/+3
|
* add EE_BADMEMORY_RELEASEDaniel Black2020-04-081-1/+3
|
* Merge branch '10.3' into 10.4Oleksandr Byelkin2019-05-191-1/+1
|\
| * Merge 10.1 into 10.2Marko Mäkelä2019-05-131-1/+1
| |\
| | * Merge branch '5.5' into 10.1Vicențiu Ciorbaru2019-05-111-1/+1
| | |\
| | | * Update FSF AddressVicențiu Ciorbaru2019-05-111-1/+1
| | | | | | | | | | | | | | | | * Update wrong zip-code
* | | | mysys: rename ME_xxx flags to match plugin apiSergei Golubchik2018-06-041-2/+2
|/ / /
* | | Merge branch '10.1' into 10.2Sergei Golubchik2016-06-301-3/+2
|\ \ \ | |/ /
| * | Merge branch '5.5' into bb-10.0Sergei Golubchik2016-06-211-3/+2
| |\ \ | | |/
| | * Merge branch 'mysql/5.5' into 5.5Sergei Golubchik2016-06-141-2/+2
| | |\
| | | * Bug#23251517: SEMISYNC REPLICATION HANGINGmysql-5.5.50Sujatha Sivakumar2016-05-161-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert following bug fix: Bug#20685029: SLAVE IO THREAD SHOULD STOP WHEN DISK IS FULL Bug#21753696: MAKE SHOW SLAVE STATUS NON BLOCKING IF IO THREAD WAITS FOR DISK SPACE This fix results in a deadlock between slave IO thread and SQL thread. (cherry picked from commit e3fea6c6dbb36c6ab21c4ab777224560e9608b53)
| | | * Bug#22897202: RPL_IO_THD_WAIT_FOR_DISK_SPACE HAS OCCASIONALSujatha Sivakumar2016-04-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FAILURES Analysis: ========= Test script is not ensuring that "assert_grep.inc" should be called only after 'Disk is full' error is written to the error log. Test checks for "Queueing master event to the relay log" state. But this state is set before invoking 'queue_event'. Actual 'Disk is full' error happens at a very lower level. It can happen that we might even reset the debug point before even the actual disk full simulation occurs and the "Disk is full" message will never appear in the error log. In order to guarentee that we must have some mechanism where in after we write "Disk is full" error messge into the error log we must signal the test to execute SSS and then reset the debug point. So that test is deterministic. Fix: === Added debug sync point to make script deterministic.
| | | * Bug#20685029: SLAVE IO THREAD SHOULD STOP WHEN DISK ISSujatha Sivakumar2016-03-011-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FULL Bug#21753696: MAKE SHOW SLAVE STATUS NON BLOCKING IF IO THREAD WAITS FOR DISK SPACE Problem: ======== Currently SHOW SLAVE STATUS blocks if IO thread waits for disk space. This makes automation tools verifying server health block on taking relevant action. Finally this will create SHOW SLAVE STATUS piles. Analysis: ========= SHOW SLAVE STATUS hangs on mi->data_lock if relay log write is waiting for free disk space while holding mi->data_lock. mi->data_lock is needed to protect the format description event (mi->format_description_event) which is accessed by the clients running FLUSH LOGS and slave IO thread. Note relay log writes don't need to be protected by mi->data_lock, LOCK_log is used to protect relay log between IO and SQL thread (see MYSQL_BIN_LOG::append_event). The code takes mi->data_lock to protect mi->format_description_event during relay log rotate which might get triggered right after relay log write. Fix: ==== Release the data_lock just for the duration of writing into relay log. Made change to ensure the following lock order is maintained to avoid deadlocks. data_lock, LOCK_log data_lock is held during relay log rotations to protect the description event.
| | | * BUG#11753923-SQL THREAD CRASHES ON DISK FULLVenkatesh Duggirala2013-03-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixing post push issue Simulator name used needs to be changed to make it work properly. Analysis: Debug control list addition (ListAddDel function dbug.c file) code was written in such a way that if new element is subset of already existing element, then the new element is not added. i.e., set @@global.debug = '+d,abcd', is existing in the list then you cannot add "a" or "ab" or "abc" in the list.
| | | * BUG#11753923-SQL THREAD CRASHES ON DISK FULLVenkatesh Duggirala2013-01-021-6/+18
| | | |\ | | | | | | | | | | Merging fix from mysql-5.1
| | | | * BUG#11753923-SQL THREAD CRASHES ON DISK FULLVenkatesh Duggirala2013-01-021-6/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem:If Disk becomes full while writing into the binlog, then the server instance hangs till someone frees the space. After user frees up the disk space, mysql server crashes with an assert (m_status != DA_EMPTY) Analysis: wait_for_free_space is being called in an infinite loop i.e., server instance will hang until someone frees up the space. So there is no need to set status bit in diagnostic area. Fix: Replace my_error/my_printf_error with sql_print_warning() which prints the warning in error log.
| | | * | Updated/added copyright headersKent Boortz2011-06-301-2/+2
| | | |\ \ | | | | |/
| | | | * Updated/added copyright headersKent Boortz2011-06-301-2/+4
| | | | |\
| | | | | * Updated/added copyright headersKent Boortz2011-06-301-2/+3
| | | | | |
| | | * | | Manual merge with mysql-5.1-bugteam.Ramil Kalimullin2010-12-091-0/+2
| | | |\ \ \ | | | | |/ /
| | | | * | Fix for bug#48451: my_seek and my_tell ignore MY_WME flagRamil Kalimullin2010-12-091-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | my_seek() and my_tell() functions now honour MY_WME flag.
| | | * | | Merge of mysql-5.1-bugteam into mysql-trunk-merge.Davi Arnaut2010-07-201-1/+5
| | | |\ \ \ | | | | |/ /
| | | | * | Bug#45288: pb2 returns a lot of compilation warnings on linuxDavi Arnaut2010-07-201-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix warnings flagged by the new warning option -Wunused-but-set-variable that was added to GCC 4.6 and that is enabled by -Wunused and -Wall. The option causes a warning whenever a local variable is assigned to but is later unused. It also warns about meaningless pointer dereferences.
| | | * | | WL#5486: Remove code for unsupported platformsDavi Arnaut2010-07-151-1/+1
| | | | | | | | | | | | | | | | | | Remove MS-DOS specific code.
| | | * | | Backport of:Konstantin Osipov2009-11-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------------------------------------------------------- ChangeSet@1.2571, 2008-04-08 12:30:06+02:00, vvaintroub@wva. +122 -0 Bug#32082 : definition of VOID in my_global.h conflicts with Windows SDK headers VOID macro is now removed. Its usage is replaced with void cast. In some cases, where cast does not make much sense (pthread_*, printf, hash_delete, my_seek), cast is ommited.
| | | * | | WL#751 Error message construction, backportSergey Glukhov2009-10-151-0/+5
| | | |/ /
| | | * | Merge BUG#22082 from 5.0-bugteam to 5.1-bugteamHe Zhenxing2009-03-061-1/+15
| | | |\ \ | | | | |/
| | | | * BUG#22082 Slave hangs(holds mutex) on "disk full"He Zhenxing2009-03-061-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When disk is full, server may waiting for free space while writing binlog, relay-log or MyISAM tables. The server will continue after user have freed some space. But the error message printed was not quite clear about the how often the error message is printed, and there will be a delay before the server continue and user freeing space. And caused users thinking that the server was hanging forever. This patch fixed the problem by making the error messages printed more clear. The error message is split into two part, the first part will only be printed once, and the second part will be printed very 10 times. Message first part: Disk is full writing '<filename>' (Errcode: <errorno>). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space) Message second part: Retry in 60 secs, Message reprinted in 600 secs
| | | | * Fix for Bug#16902.Hakan Kuecuekyilmaz2008-06-161-1/+1
| | | | |
| | | * | Fix for Bug#16902.Hakan Kuecuekyilmaz2008-06-161-1/+1
| | | | |
| | | * | Merge mysql.com:/home/kent/bk/main/mysql-5.0kent@kent-amd64.(none)2006-12-231-2/+1
| | | |\ \ | | | | |/ | | | | | | | | | | into mysql.com:/home/kent/bk/main/mysql-5.1
| | | | * Many files:kent@mysql.com/kent-amd64.(none)2006-12-231-2/+1
| | | | | | | | | | | | | | | | | | | | Changed header to GPL version 2 only
| | | * | After merge fixesmonty@mysql.com2006-05-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove compiler warnings Fix some broken tests Workaround for syncronization bug in NDB (Bug #16445)
| | | * | Cleanups after review of WL#602monty@mysql.com2006-05-031-2/+2
| | | |/ | | | | | | | | | | | | | | | | Fixed warnings from test suite Some fixes in mysql-test-run script to catch more warnings
| | | * fix compilation failure on sunfire280petr@mysql.com2005-03-011-1/+0
| | | |
| | | * Show all generated warnings in SHOW ERRORmonty@mysql.com2005-02-241-2/+3
| | | | | | | | | | | | | | | | Previously we only stored the first given error (the error sent to the client)
| | | * Mergebar@mysql.com2005-02-231-0/+2
| | | |\
| | | | * Bug#8349 myisamchk: --set-charset does not workbar@mysql.com2005-02-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | What we need to be able to set in myisamchk is actually a collation, not a character set. This fix just changes to display the proper error message.
| | | * | WL#1895 - Print message to error log in case of detected MyISAM corruptioningo@mysql.com2004-12-231-4/+2
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changed my_error() to print error messages, which come from arbitrary registered ranges of error messages. Messages can be unregistered (and should be at end of the program). Added registration of handler error messages. Added a new mi_print_error() macro and a new mi_report_error() function, which supply error messages with a table name. Added calls to mi_print_error() or mi_report_error() at all places in MyISAM, where table corruption is detected.
| | | * Merge with 4.0 for 4.1 releasemonty@mysql.com2004-10-061-1/+1
| | | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Noteworthy: - New HANDLER code - New multi-update-grant-check code - Table lock code in ha_innodb.cc was not applied
| | | | * Fix for BUG#3248 "Doc says MyISAM warns if disk full but it does not":guilhem@mysql.com2004-09-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | we force the message to the error log, and we make it more informative; we treat EDQUOT like ENOSPC.
| | | * | Merge with 4.0monty@narttu.mysql.fi2003-11-041-3/+5
| | | |\ \ | | | | |/
| | | | * Call my_sync() after all data is written to .frm filemonty@mysql.com2003-11-021-3/+5
| | | | | | | | | | | | | | | | | | | | Added my_sync() to mysys which will do fsync/fdatasync/_commit() on a file.
| | | * | Cleanup after split of libmysql.c to client.c and libmysql.c. A 4.1 ↵monty@narttu.mysql.fi2003-06-141-1/+1
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | master/slave will now use the 4.1 protocol Fixed wrong value for SQLSTATE_LENGTH Added CLIENT_REMEMBER_OPTIONS to mysql_real_connect() Changed mysql_port and mysql_unix_port to mysqld_xxxx
| | | * Update copyrightmonty@hundin.mysql.fi2001-12-061-15/+14
| | | | | | | | | | | | | | | | Fixed memory leak on shutdown (Affects the embedded version & MyODBC)
| | | * Added functions for symbolic link handling to make it possible tomonty@hundin.mysql.fi2001-05-311-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | backport things from 4.0. This is safe as the functions are not used! Fixed bug in new mutex handling in InnoDB Make allow_break() and dont_break() defines.
| | | * Changed --replace to --replace_result in mysqltestmonty@donna.mysql.com2001-02-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Changed errmsg -> my_errmsg (portability issue) Fixed that mysqlbinlog writes SET TIMESTAMP before all queries Fixed comments in default my.cnf files
| | | * Fixes for releasemonty@donna.mysql.com2000-09-271-1/+1
| | | |