[MXS-1146] JDBC connection dropping transaction when connecting to MaxScale directly Created: 2017-02-23 Updated: 2017-05-18 Resolved: 2017-05-18 |
|
| Status: | Closed |
| Project: | MariaDB MaxScale |
| Component/s: | readwritesplit |
| Affects Version/s: | 2.0.4 |
| Fix Version/s: | 2.2.0 |
| Type: | Bug | Priority: | Critical |
| Reporter: | Bruno Šimić (Inactive) | Assignee: | markus makela |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
JDBC Version 1.5.5 |
||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Sprint: | 2017-29, 2017-30, 2017-31, 2017-32, 2017-33 | ||||||||
| Description |
|
For an unknown reason, the statement aborts down suddenly with error message (attached in exception.txt) On the node associated with the MaxScale there is following error entry: In MaxScale log no error messages are written. The statements copy PDF documents and images (as a BLOBs) into the corresponding table in a database. This PreparedStatement is used: The problem occurs randomly, only when this statement is executed. Sometime after 100 inserts, other time after more than 4000 inserts. Connects directly to one of the three nodes are running without problems. Cannot setup MaxScale as readwritesplit since read and write operation would be one transaction (application side!) |
| Comments |
| Comment by markus makela [ 2017-03-02 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Are the inserted documents larger than 16MB? If so, this is probably caused by a bug in the client protocol code when packets larger than 2^24 bytes are being processed. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Bruno Šimić (Inactive) [ 2017-03-02 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
No, the documents are smaller. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by markus makela [ 2017-03-03 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
I managed to reproduce this with the following program.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by markus makela [ 2017-03-07 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Since then, I haven't been able to reproduce the problem. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by markus makela [ 2017-03-22 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
How often do the inserts happen and how often do the errors happen? What is the value of wait_timeout on the master? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by markus makela [ 2017-03-24 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This could be related to | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by markus makela [ 2017-03-31 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This is possibly caused and fixed by | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by Bruno Šimić (Inactive) [ 2017-04-19 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Error occurres during the migration of Oracle tablespaces in a MariaDB: by opening a result set to the corresponding table in the Oracle tablespace; while iterating through the rows, and writing the values in the corresponding table of the MariaDB DB PreparedStatement wait_timeout = 28800 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by markus makela [ 2017-04-21 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
bruno Does the JDBC PreparedStatement use batch queries? If so, setting the batch size to one might help fix this. The MariaDB Connector/J documentation tells us to set useBatchMultiSend=false (and optionally useBatchMultiSendNumber=1) in the JDBC connection string to disable batching. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Comment by markus makela [ 2017-05-18 ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Closing as fixed in 2.2.0. If the problem persists, please reopen the issue. |