diff options
author | Monty <monty@mariadb.org> | 2016-08-21 20:38:47 +0300 |
---|---|---|
committer | Monty <monty@mariadb.org> | 2016-08-21 20:38:47 +0300 |
commit | 5932fa789043fad1602a5ebb335adf4e7c860cdf (patch) | |
tree | 9a278b5cc085391c49fbd033dd5396a4a073fa78 /include | |
parent | 6f31dd093a245a21a69fd990f947611a5dcfb77b (diff) | |
download | mariadb-git-5932fa789043fad1602a5ebb335adf4e7c860cdf.tar.gz |
Fixed "Packets out of order" warning message on stdout in clients,
compiled for debugging, when the server goes down
This happens in the following scenario:
- Server gets a shutdown message
- Servers sends error ER_CONNECTION_KILLED to the clients connection
- The client sends a query to the server, before the server has time to
close the connection to the client
- Client reads the ER_CONNECTION_KILLED error message
In the above case, the packet number for the reply is one less than
what the client expected and the client prints "Packets out of order".
Fixed the following way:
- The client accepts now error packages with a packet number
one less than expected.
- To ensure that this issue can be detected early in my_real_read(), error
messages sent to the client are not compressed, even when compressed protocol is used.
Diffstat (limited to 'include')
-rw-r--r-- | include/mysql.h.pp | 2 | ||||
-rw-r--r-- | include/mysql_com.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/include/mysql.h.pp b/include/mysql.h.pp index 2c8e47b454f..a593f526c6e 100644 --- a/include/mysql.h.pp +++ b/include/mysql.h.pp @@ -27,7 +27,7 @@ typedef struct st_net { char save_char; char net_skip_rest_factor; my_bool thread_specific_malloc; - my_bool compress; + unsigned char compress; my_bool unused3; unsigned char *unused; unsigned int last_errno; diff --git a/include/mysql_com.h b/include/mysql_com.h index 8fdac38dd66..96514a28310 100644 --- a/include/mysql_com.h +++ b/include/mysql_com.h @@ -386,7 +386,7 @@ typedef struct st_net { char save_char; char net_skip_rest_factor; my_bool thread_specific_malloc; - my_bool compress; + unsigned char compress; my_bool unused3; /* Please remove with the next incompatible ABI change. */ /* Pointer to query object in query cache, do not equal NULL (0) for |