wsrep_desync warnings

Bug #1281696 reported by Raghavendra D Prabhu on 2014-02-18
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
MySQL patches by Codership
High
Unassigned
5.5
High
Unassigned
Percona XtraDB Cluster
Status tracked in 5.6
5.5
Undecided
Unassigned
5.6
Undecided
Unassigned

Bug Description

With 5.6,

mysql> set global wsrep_desync=ON;
Query OK, 0 rows affected, 2 warnings (0.02 sec)

mysql> show warnings;
+---------+------+----------------------------------------+
| Level | Code | Message |
+---------+------+----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'ON' |
| Warning | 1231 | 'wsrep_desync' is already OFF. |
+---------+------+----------------------------------------+
2 rows in set (0.00 sec)

mysql> show global variables like '%desync%';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wsrep_desync | ON |
+---------------+-------+
1 row in set (0.01 sec)

............
...........

mysql> set global wsrep_desync=OFF;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> show warnings
    -> ;
+---------+------+-----------------------------------------+
| Level | Code | Message |
+---------+------+-----------------------------------------+
| Warning | 1292 | Truncated incorrect DOUBLE value: 'OFF' |
+---------+------+-----------------------------------------+
1 row in set (0.00 sec)

description: updated
Przemek (pmalkowski) wrote :

There is also IMHO wrong error when turning the desync to ON twice:

pxc2>show global variables like 'wsrep_desync';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| wsrep_desync | OFF |
+---------------+-------+
1 row in set (0.00 sec)

pxc2>set global wsrep_desync=1;
Query OK, 0 rows affected (0.01 sec)

pxc2>set global wsrep_desync=1;
ERROR 1396 (HY000): Operation 'desync' failed for set global wsrep_desync=1

pxc2>show warnings;
+---------+------+---------------------------------------------------------+
| Level | Code | Message |
+---------+------+---------------------------------------------------------+
| Warning | 1231 | 'wsrep_desync' is already ON. |
| Error | 1396 | Operation 'desync' failed for set global wsrep_desync=1 |
+---------+------+---------------------------------------------------------+
2 rows in set (0.00 sec)

But:

pxc2>set global wsrep_desync=0;
Query OK, 0 rows affected (0.00 sec)

pxc2>set global wsrep_desync=0;
Query OK, 0 rows affected, 1 warning (0.00 sec)

pxc2>show warnings;
+---------+------+--------------------------------+
| Level | Code | Message |
+---------+------+--------------------------------+
| Warning | 1231 | 'wsrep_desync' is already OFF. |
+---------+------+--------------------------------+
1 row in set (0.00 sec)

Tested on both PXC 5.5 and 5.6.

This is because the check is incorrect.

var->val->value_bool() returns the old value, var->save_result.... returns the value to be checked in check()

Yan Zhang (yan.zhang) wrote :

@Raghu

I think the check is correct. Everytime wsrep_desync is set 0 or 1, then wsrep->resync()/wsrep->desync() is called. However two consecutive wsrep->resync() calls usually succeed, two consecutive wsrep->desync() calls usually fail.

About the problem that 'set global wsrep_desync=ON/OFF' returns warnings "Truncated incorrect DOUBLE value: 'ON/OFF'", I think maybe mysql does not accept "ON/OFF" as boolean value(seems interpreted as double value). Instead I tried 'set global wsrep_desync=0/1', it works.

Philip Stoev (philip-stoev-f) wrote :

It is the second warning "'wsrep_desync' is already OFF" that is incorrect, as wsrep_desync becomes ON even with the warnings.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers