- 13 Nov, 2014 5 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
Backport to 5.3: - Don't call index_reader->interrupt_read() if the index reader has returned all rows that matched its keys.
-
Sergey Petrunya authored
- Don't call index_reader->interrupt_read() if the index reader has returned all rows that matched its keys.
-
Jan Lindström authored
Analysis: InnoDB error monitor is responsible to call every second sync_arr_wake_threads_if_sema_free() to wake up possible hanging threads if they are missed in mutex_signal_object. This is not possible if error monitor itself is on mutex/semaphore wait. We should avoid all unnecessary mutex/semaphore waits on error monitor. Currently error monitor calls function buf_flush_stat_update() that calls log_get_lsn() function and there we will try to get log_sys mutex. Better, solution for error monitor is that in buf_flush_stat_update() we will try to get lsn with mutex_enter_nowait() and if we did not get mutex do not update the stats. Fix: Use log_get_lsn_nowait() function on buf_flush_stat_update() function. If returned lsn is 0, we do not update flush stats. log_get_lsn_nowait() will use mutex_enter_nowait() and if we get mutex we return a correct lsn if not we return 0.
-
Kristian Nielsen authored
The test case had a classic mistake: SET DEBUG_SYNC='now SIGNAL xxx' followed immediately by SET DEBUG_SYNC='RESET'. This makes it possible for the waiter to miss the signal, if it does not manage to wake up prior to the RESET.
-
- 12 Nov, 2014 1 commit
-
-
Kristian Nielsen authored
MDEV-7089: Test failures in main.failed_auth_unixsocket and plugins.unix_socket depending on environment The test cases had some --replace_result $USER USER. The problem is that the value of $USER can be anything, depending on the name of the unix account that runs the test suite. So random parts of the result can be errorneously replaced, causing test failures. Fix by making the replacements more specific, so they will match only the intended stuff regardless of the value of $USER.
-
- 10 Nov, 2014 1 commit
-
-
Alexander Barkov authored
Merging a fix from the upstream.
-
- 03 Nov, 2014 1 commit
-
-
Jan Lindström authored
Add function to print to stderr all current semaphore waits. This function should be able to executed inside a gdb/ddd.
-
- 02 Nov, 2014 2 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
- 31 Oct, 2014 2 commits
-
-
unknown authored
-
Kristian Nielsen authored
The test runs a query in one thread, then in another queries the processlist and expects to find the first thread in the COM_SLEEP state. The problem is that the thread signals completion to the client before changing to COM_SLEEP state, so there is a window where the other thread can see the wrong state. A previous attempt to fix this was ineffective. It set a DEBUG_SYNC to handle proper waiting, but unfortunately that DEBUG_SYNC point ended up triggering already at the end of SET DEBUG_SYNC=xxx, so the wait was ineffective. Fix it properly now (hopefully) by ensuring that we wait for the DEBUG_SYNC point to trigger at the end of the SELECT SLEEP(), not just at the end of SET DEBUG_SYNC=xxx.
-
- 28 Oct, 2014 5 commits
-
-
Sergey Petrunya authored
-
Sergey Petrunya authored
(Backport to 5.3) (Attempt #2) - Don't attempt to use BKA for materialized derived tables. The table is neither filled nor fully opened yet, so attempt to call handler->multi_range_read_info() causes crash.
-
Sergey Petrunya authored
(Backport to 5.3) (variant #2, with fixed coding style) - Make Mrr_ordered_index_reader::resume_read() restore index position only if it was saved before with Mrr_ordered_index_reader::interrupt_read().
-
Sergey Petrunya authored
- TABLE::create_key_part_by_field() should not set PART_KEY_FLAG in field->flags = The reason is that it is used by hash join code which calls it to create a hash table lookup structure. It doesn't create a real index. = Another caller of the function is TABLE::add_tmp_key(). Made it to set the flag itself. - The differences in join_cache.result could also be observed before this patch: one could put "FLUSH TABLES" before the queries and get exactly the same difference.
-
Rich Prohaska authored
-
- 25 Oct, 2014 1 commit
-
-
Rich Prohaska authored
-
- 24 Oct, 2014 3 commits
-
-
Rich Prohaska authored
-
Rich Prohaska authored
-
Rich Prohaska authored
-
- 21 Oct, 2014 1 commit
-
-
Rich Prohaska authored
-
- 19 Oct, 2014 2 commits
-
-
Rich Prohaska authored
-
Rich Prohaska authored
-
- 18 Oct, 2014 2 commits
-
-
Rich Prohaska authored
-
Rich Prohaska authored
-
- 17 Oct, 2014 2 commits
-
-
Rich Prohaska authored
-
Sergey Vojtovich authored
Set proper alternative names on RHEL7: they should match Fedora names.
-
- 30 Oct, 2014 1 commit
-
-
Nirbhay Choubey authored
Use fn_ext2() (backported from 10.0) to get the file extension from last occurrence of FN_EXTCHAR ('.') instead.
-
- 29 Oct, 2014 6 commits
-
-
Kristian Nielsen authored
Attempt to fix a failure in test case innodb.innodb_information_schema seen occasionally in Buildbot. The test case waits for other threads to complete, but the wait is only 2 seconds. This is likely to sometimes be too little on our heavily loaded buildbot VMs, that can easily stall for more than 2 seconds from time to time. So let's try to increase the timeout (to about 40 seconds) and see if it helps.
-
Kristian Nielsen authored
The test case runs SHOW SLAVE HOSTS. The output of this is only stable after all slaves have had time to register with the master; this happens asynchroneously. The test was waiting for the slave with server_id=3 to appear in the output, but it was missing a similar wait for server_id=2. Thus, if server_id=2 was much slower to connect for some reason, it could be missing from the output, causing the test to fail.
-
Kristian Nielsen authored
I think I finally found the problem, managed to reproduce locally using a sleep in the test case to simulate the particular race condition that causes the test to fail often in Buildbot. The test starts an ALTER TABLE that does repair by sort in one thread, then another thread waits for the sort to be visible in SHOW PROCESSLIST and runs a SHOW statement in parallel. The problem happens when the sort manages to run to completion before the other thread has the time to look at SHOW PROCESSLIST. In this case, the wait times out because the state looked for has already passed. Earlier I added some DEBUG_SYNC to prevent this race, but it turns out that DEBUG_SYNC itself changes the state in the processlist. So when the debug sync point was hit, the processlist was showing the wrong state, so the wait would still time out. Fixed now by looking for the processlist to contain either the "Repair by sorting" state or the debug sync wait stage. Also clean up previous attempts to fix it. Set the wait timeout back to reasonable 60 seconds, and simplify the DEBUG_SYNC operations to work closer to how the original test case was intended.
-
Sergey Petrunya authored
-
Sergey Petrunya authored
-
Sergey Petrunya authored
-
- 28 Oct, 2014 1 commit
-
-
Kristian Nielsen authored
Increase timeout for check-testcase and friends, in an attempt to cure some random buildbot test failures.
-
- 22 Oct, 2014 2 commits
-
-
Kristian Nielsen authored
Increase wait timeout in test main.myisam-metadata, in an attempt to get rid of Buildbot random failures.
-
Kristian Nielsen authored
1. Do not use NULL `info' field in processlist to select the thread of interest. This can fail if the read of processlist ends up happening after REAP succeeds, but before the `info' field is reset. Instead, select on the CONNECTION_ID(), making sure we still scan the whole list to trigger the same code as in the original test case. 2. Wait for the query to really complete before reading it in the processlist. When REAP returns, it only means that ack has been sent to client, the reset of query stage happens a bit later in the code.
-
- 21 Oct, 2014 2 commits
-
-
Kristian Nielsen authored
-
Kristian Nielsen authored
Add missing REAP to the test. A later test failed with strange incorrect values for COM_SELECT in information_schema.global_status. Since global_status is updated at the end of session activity, it seems appropriate to ensure that all background connections have completed before accessing it. (I checked that the original bug still triggers the test case after the modification with REAP).
-