Comment 6 for bug 1002714

Revision history for this message
Henrik Ingo (hingo) wrote : Re: [Bug 1002714] Re: Donor accepts query, which then blocks

On Mon, Jun 18, 2012 at 12:13 AM, Alex Yurchenko
<email address hidden> wrote:
> - other transactions just block on commit. So mysqldump has a consistent
> view.

Ok, that's what I see in this bug report too then.

> BTW, there is a "slight" problem with mysqldump SST (exactly the one
> that you're using in this ticket): once we start rejecting client
> queries, mysqldump queries get rejected too. Unfortunately there seems
> to be no canonical way to distinguish mysqldump connection from regular
> client connections. So essentially mysqldump SST is impossible with this
> paradigm.

Good point :-)

I gave it a few hours of thought, and I'm inclined to accept that
mysqldump cannot be fixed. (You could probably fix it by issuing "SET
SESSION wsrep_on=OFF" at the beginning of the dump, but this would
require modifying mysqldump itself which seems to me like going to
far.)

So let's focus on Rsync SST then. (I have not tested, but I will
assume for now that xtrabackup sst works correctly since it is
non-blocking.)

I do the same test with rsync sst and when a node joins, I see the
following with SHOW PROCESSLIST:

mysql> show processlist;
+-------+----------------------+----------------------------------+------+---------+------+------------------------+------------------+-----------+---------------+-----------+
| Id | User | Host | db
  | Command | Time | State | Info |
Rows_sent | Rows_examined | Rows_read |
+-------+----------------------+----------------------------------+------+---------+------+------------------------+------------------+-----------+---------------+-----------+
| 1 | system user | |
NULL | Sleep | 36 | committed 35342 | NULL |
     0 | 0 | 1 |
| 2 | system user | |
NULL | Sleep | 3525 | wsrep aborter idle | NULL |
     0 | 0 | 1 |
| 3 | event_scheduler | localhost |
NULL | Daemon | 3522 | Waiting on empty queue | NULL |
     0 | 0 | 1 |
| 4 | system user | |
NULL | Sleep | 128 | committed 35321 | NULL |
     0 | 0 | 1 |
| 5 | system user | |
NULL | Sleep | 128 | committed 35327 | NULL |
     0 | 0 | 1 |
| 6 | system user | |
NULL | Sleep | 48 | committed 35330 | NULL |
     0 | 0 | 1 |
| 7 | system user | |
NULL | Sleep | 128 | committed 35319 | NULL |
     0 | 0 | 1 |
| 8 | system user | |
NULL | Sleep | 32 | committed 35345 | NULL |
     0 | 0 | 1 |
| 9 | system user | |
NULL | Sleep | 118 | committed 35329 | NULL |
     0 | 0 | 1 |
| 10 | system user | |
NULL | Sleep | 47 | committed 35331 | NULL |
     0 | 0 | 1 |
| 11 | system user | |
NULL | Sleep | 31 | committed 35346 | NULL |
     0 | 0 | 1 |
| 12 | system user | |
NULL | Sleep | 25 | committed 35352 | NULL |
     0 | 0 | 1 |
| 13 | system user | |
NULL | Sleep | 128 | committed 35318 | NULL |
     0 | 0 | 1 |
| 14 | system user | |
NULL | Sleep | 59 | committed 35323 | NULL |
     0 | 0 | 1 |
| 15 | system user | |
NULL | Sleep | 59 | committed 35294 | NULL |
     0 | 0 | 1 |
| 16 | system user | |
NULL | Sleep | 37 | committed 35341 | NULL |
     0 | 0 | 1 |
| 17 | system user | |
NULL | Sleep | 43 | committed 35335 | NULL |
     0 | 0 | 1 |
| 18 | system user | |
NULL | Sleep | 50 | committed 35328 | NULL |
     0 | 0 | 1 |
| 40 | root | localhost |
NULL | Query | 0 | sleeping | show processlist |
     0 | 0 | 1 |
| 11027 | unauthenticated user | esitbi128lab.ntc.nokia.com:39552 |
NULL | Connect | NULL | Reading from net | NULL |
     0 | 0 | 1 |
+-------+----------------------+----------------------------------+------+---------+------+------------------------+------------------+-----------+---------------+-----------+
20 rows in set (0.00 sec)

So now the test program is again stuck on donor, but in authentication
phase. It seems to me that this is because tables are locked so it
cannot read mysql.user?

--
<email address hidden>
+358-40-8211286 skype: henrik.ingo irc: hingo
www.openlife.cc

My LinkedIn profile: http://www.linkedin.com/profile/view?id=9522559