[MXS-2603] MaxScale causes connections to break in Percona PXC Cluster Created: 2019-07-16 Updated: 2019-07-30 Resolved: 2019-07-29 |
|
| Status: | Closed |
| Project: | MariaDB MaxScale |
| Component/s: | galeramon, readwritesplit |
| Affects Version/s: | 2.3.9 |
| Fix Version/s: | 2.4.1 |
| Type: | Bug | Priority: | Major |
| Reporter: | Todd Stoffel (Inactive) | Assignee: | markus makela |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Centos 7, Percona XtraDB Cluster 5.7.26, MaxScale 2.3.9 |
||
| Description |
|
Markus, we have a potential customer that is having problems with MaxScale galeramon and readwritesplitter. It looks as though the transaction_replay is not functioning as expected in a Percona XtraDB Cluster (Galera 3).
I ran the following benchmark test:
Then I stop mysql process on node 2 to simulate a server crash:
All connections drop from MaxScale to all nodes. Then I get a fatal error from sysbench:
I get a couple of errors like this:
in the maxscale.log but not much else. I tried this test with mysqlslap and got the same results. The app should not know that any of the nodes in the cluster went down and it should certainly not drop the connection. Any ideas? |
| Comments |
| Comment by markus makela [ 2019-07-16 ] | ||||
|
One case where this can happen is if prepared statements are used and the connector only sends the COM_STMT_EXECUTE payload metadata on the first execution. Another case is that if a controlled shutdown is done, wsrep is disabled before the shutdown which causes the following errors:
Killing the process with SIGKILL seems to produce the expected result: client receives no errors upon the failure of the node labeled as the master. | ||||
| Comment by markus makela [ 2019-07-28 ] | ||||
|
Combined the code that detects transaction rollbacks and triggers transaction replays into common code that retries queries if an ignorable error is received. Extended the errors to show when a WSREP error is received due to the node not yet being ready for SQL statements. |