[MXS-841] Plantage Maxcale en charge Created: 2016-08-26 Updated: 2017-12-21 Resolved: 2016-09-13 |
|
| Status: | Closed |
| Project: | MariaDB MaxScale |
| Component/s: | Core |
| Affects Version/s: | 1.4.3 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | dsi | Assignee: | Unassigned |
| Resolution: | Cannot Reproduce | Votes: | 0 |
| Labels: | None | ||
| Environment: |
Maxscale 64 bit debian wheezy |
||
| Attachments: |
|
| Description |
|
Bonjour, Nous avons tenté de mettre en prod dans la soirée du 16 au 17/06, Maxscale mais ce dernier n'a pas tenu la charge après plusieurs heures. voici les logs d'erreur : AFAIK this the 'Attempt ...' messages are related to issues with the databases itself. Does this cause any problems to the production? Now related to the crash at ~2AM which is the reason you opened this ticket. this is what we can see in the log: 2016-06-17 01:57:05 error : Fatal: MaxScale 1.4.3 received fatal signal 11. Attempting backtrace. Que peut-on faire pour résoudre ce problème ? En vous remerciant Cordialement, Aziz Jouhdi DSI |
| Comments |
| Comment by Johan Wikman [ 2016-08-29 ] | ||||||||
|
Interpreted stacktrace:
| ||||||||
| Comment by dsi [ 2016-08-29 ] | ||||||||
|
Bonjour Johan, Je n'ai pas compris ce que vous me demandez. Cordialement, | ||||||||
| Comment by Johan Wikman [ 2016-08-29 ] | ||||||||
|
Bonjour, Sorry no, I don't speak french (but google translate did an adequate job). I did not ask you yet for anything. I just converted the stacktrace from your log into one where the file and line number information is available and stored them here for later reference. | ||||||||
| Comment by dsi [ 2016-08-29 ] | ||||||||
|
Hi Johan, Thx for your response, let me know if you have questions. Kind regards | ||||||||
| Comment by Johan Wikman [ 2016-09-05 ] | ||||||||
|
Hi, The attached log seems to be from multiple runs with various issues. In case you still have problems, please provide a log from a recent run. Johan | ||||||||
| Comment by markus makela [ 2016-09-05 ] | ||||||||
|
Please also describe the client activity between the restart at 2016-06-16 17:33:25 and the crash at 2016-06-17 01:57:05. Also if you could specify what sort of client activity you had after the crash happened and MaxScale was restarted. | ||||||||
| Comment by dsi [ 2016-09-06 ] | ||||||||
|
Hi, We have no recent logs because MAXSCALE is no longer Prod since the crash. Kind regards | ||||||||
| Comment by Johan Wikman [ 2016-09-13 ] | ||||||||
|
Without more information we cannot reproduce this. Please reopen or recreate if this occurs again. | ||||||||
| Comment by dsi [ 2016-09-14 ] | ||||||||
|
Hi, We reviewed the configuration with our consultant at Percona. Thx | ||||||||
| Comment by dsi [ 2016-09-21 ] | ||||||||
|
Hi, Maxscale is now on Prod since last week. 2016-09-17 23:16:25 error : Attempt to write buffered data to backend failed due internal inconsistent state. Can you explain me what happen ? Thx Kind regards | ||||||||
| Comment by markus makela [ 2016-09-22 ] | ||||||||
|
The error message in question is logged on line 644 in mysql_backend.c where the code is trying to write more data to a backend network socket but the state of the connection is not what is expected. It is possible that there is a short window where the connection appears to be in a bad state (DCB_STATE_NOPOLLING) but it is still in the polling system. On line 393 in poll.c the state is changed before the connection is removed from the polling system. This is done to avoid locking the connection while it is being removed from the polling system. It is possible that inside this small window, after the state change and before the actual removal from the polling system, another thread picks up an outgoing write event and starts to process it. This other thread then sees that the connection is not in the proper state and proceeds to log an error message on line 644 in mysql_backend.c. Above this, on line 622, we can see that the dcb->writeq is accessed. As this is done without a lock, it is possible that invalid data is read. It could also be possible that this is what caused the crash that you saw earlier. We've changed the reading and writing of data to backends in the upcoming 2.0.1 release of MaxScale. It is likely that the error message does not appear on 2.0.1 due to the fact that the code now handles state changes differently and grabs the internal connection buffers into local variables before processing them. | ||||||||
| Comment by dsi [ 2016-09-22 ] | ||||||||
|
Hi, Thx for your response. Kind regards | ||||||||
| Comment by dsi [ 2017-12-21 ] | ||||||||
|
Hi, We have stil this crash who is happening once per mounth during those 3 last mounth. Best Regards, | ||||||||
| Comment by dsi [ 2017-12-21 ] | ||||||||
|
Hi, We have stil this crash who is happening once per mounth during those 3 last mounth. Best Regards, | ||||||||
| Comment by Johan Wikman [ 2017-12-21 ] | ||||||||
|
Unfortunately, we do not anymore provide other than security fixes for MaxScale 1.4. You can find documentation on the upgrading of MaxScale here: https://github.com/mariadb-corporation/MaxScale/tree/2.1/Documentation/Upgrading |