Skip to content

Commit

Permalink
update: mysql connector/j update for debugging (#17161)
Browse files Browse the repository at this point in the history
  • Loading branch information
Icemap authored Apr 19, 2024
1 parent c37a040 commit 46c801b
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions develop/dev-guide-third-party-tools-compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,27 +133,27 @@ TiDB 暂不支持 `UpdatableResultSet`,即请勿指定 `ResultSet.CONCUR_UPDAT

**描述**

`useLocalTransactionState``rewriteBatchedStatements` 两参数同时开启时,将导致事务无法提交。你可以使用[代码](https://github.com/Icemap/tidb-java-gitpod/tree/reproduction-local-transaction-state-txn-error)复现。
在使用 8.0.32 或以下版本的 MySQL Connector/J 时,同时开启 `useLocalTransactionState``rewriteBatchedStatements` 参数将导致事务无法提交。你可以使用[代码](https://github.com/Icemap/tidb-java-gitpod/tree/reproduction-local-transaction-state-txn-error)复现。

**规避方法**

> **注意:**
>
> 已向 MySQL JDBC 报告此 Bug,可关注此 [Bug Report](https://bugs.mysql.com/bug.php?id=108643) 进行最新消息的跟踪
> `maxPerformance` 配置中包含多个参数,其中包括 `useLocalSessionState` 参数。要查看当前 MySQL Connector/J 中 `maxPerformance` 包含的具体参数,可参考 MySQL Connector/J [8.0 版本](https://github.com/mysql/mysql-connector-j/blob/release/8.0/src/main/resources/com/mysql/cj/configurations/maxPerformance.properties)[5.1 版本](https://github.com/mysql/mysql-connector-j/blob/release/5.1/src/com/mysql/jdbc/configs/maxPerformance.properties) 的配置文件。在使用 `maxPerformance` 时,请关闭 `useLocalTransactionState`,即 `useConfigs=maxPerformance&useLocalTransactionState=false`
请勿开启 `useLocalTransactionState`,这有可能导致事务无法提交或回滚
MySQL Connector/J 已在 8.0.33 版本修复此问题。请使用 8.0.33 或更高版本。基于稳定性和性能考量,并结合到 8.0.x 版本已经停止更新,强烈建议升级 MySQL Connector/J 到[最新的 GA 版本](https://dev.mysql.com/downloads/connector/j/)

### Connector 无法兼容 5.7.5 版本以下的服务端

**描述**

MySQL Connector/J 8.0.29 在与 5.7.5 版本以下的 MySQL 服务端,或使用 5.7.5 版本以下 MySQL 服务端协议的数据库(如 TiDB 6.3.0 版本以下)同时使用时,将在某些情况下导致数据库连接的挂起。关于更多细节信息,可查看此 [Bug Report](https://bugs.mysql.com/bug.php?id=106252)
8.0.31 及以下版本 MySQL Connector/J,在与 5.7.5 版本以下的 MySQL 服务端,或使用 5.7.5 版本以下 MySQL 服务端协议的数据库(如 TiDB 6.3.0 版本以下)同时使用时,将在某些情况下导致数据库连接的挂起。关于更多细节信息,可查看此 [Bug Report](https://bugs.mysql.com/bug.php?id=106252)

**规避方法**

这是一个已知的问题,截至 2022 年 10 月 12 日,MySQL Connector/J 未合并修复代码
MySQL Connector/J 已在 8.0.32 版本修复此问题。请使用 8.0.32 或更高版本。基于稳定性和性能考量,并结合到 8.0.x 版本已经停止更新,强烈建议升级 MySQL Connector/J [最新的 GA 版本](https://dev.mysql.com/downloads/connector/j/)

TiDB 对其进行了两个维度的修复
TiDB 也对其进行了两个维度的修复

- 客户端方面:**pingcap/mysql-connector-j** 中修复了该 Bug,你可以使用 [pingcap/mysql-connector-j](https://github.com/pingcap/mysql-connector-j) 替换官方的 MySQL Connector/J。
- 服务端方面:TiDB v6.3.0 修复了此兼容性问题,你可以升级服务端至 v6.3.0 或以上版本。
Expand Down

0 comments on commit 46c801b

Please sign in to comment.