Details
-
Bug
-
Status: Open (View Workflow)
-
Major
-
Resolution: Unresolved
-
3.5.1
-
MariaDb servers below 10.2.6 (all EoL)
MySql servers in general (tested in 9.1.0)
Description
A recent change has caused a performance degradation on loads to older MariaDb servers (below 10.2.6), which are out of support, but maybe more relevant also to mySql servers (servers that lack the MARIADB_CLIENT_STMT_BULK_OPERATIONS feature flag).
The relevant change is on clientPreparedStatement.java:
https://github.com/mariadb-corporation/mariadb-connector-j/commit/ce9b23c2413d884fdb75e5030b698ee95824bced
Maybe I'm missing the context on why this was needed, but in case this is an unintended change:
In our setup, for those servers, the flow in executeInternalPreparedBatch() would eventually call executeBatchPipeline(), now, given the change, it's calling executeBatchStd().
I didn't dig into why, but in my testing that causes a load to take substantially longer. The whole process of extracting and loading a small amount of data jumps from 8s to over 1 min with just the update from 3.5.0 to 3.5.1.
For the loading into the dabase, we are calling Statement.executeBatch()
Attachments
Issue Links
- is caused by
-
CONJ-1208 permit bulk for INSERT ON DUPLICATE KEY UPDATE commands
- Closed