【异常】java.sql.SQLException: Could not retrieve transaction read-only status from server Query

时间:2023-03-09 12:47:10
【异常】java.sql.SQLException: Could not retrieve transaction read-only status from server Query

1 详细异常

java.sql.SQLException: Could not retrieve transaction read-only status from server Query: replace into wm_offsets (`group_id`, `topic`, `partition_id`, `offset`) values(?,?,?,?) Parameters: [[ChargingOrderRealTimeStatistics, maxwell, , ], [ChargingOrderRealTimeStatistics, maxwell, , ], [ChargingOrderRealTimeStatistics, maxwell, , ]]
at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:)
at org.apache.commons.dbutils.QueryRunner.batch(QueryRunner.java:)
at org.apache.commons.dbutils.QueryRunner.batch(QueryRunner.java:)
at com.*****.common.mysql.dao.OffsetManager$.saveOffset2MySQLByGroup(OffsetManager.scala:)
at com。***.spark.streaming.ChargingOrderRealTimeStatisticsEtl$$anonfun$main$.apply(ChargingOrderRealTimeStatisticsEtl.scala:)
at com.*******.spark.streaming.ChargingOrderRealTimeStatisticsEtl$$anonfun$main$.apply(ChargingOrderRealTimeStatisticsEtl.scala:)
at org.apache.spark.streaming.dstream.DStream$$anonfun$foreachRDD$$$anonfun$apply$mcV$sp$.apply(DStream.scala:)
at org.apache.spark.streaming.dstream.DStream$$anonfun$foreachRDD$$$anonfun$apply$mcV$sp$.apply(DStream.scala:)
at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$$$anonfun$apply$mcV$sp$.apply$mcV$sp(ForEachDStream.scala:)
at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$$$anonfun$apply$mcV$sp$.apply(ForEachDStream.scala:)
at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$$$anonfun$apply$mcV$sp$.apply(ForEachDStream.scala:)
at org.apache.spark.streaming.dstream.DStream.createRDDWithLocalProperties(DStream.scala:)
at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$.apply$mcV$sp(ForEachDStream.scala:)
at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$.apply(ForEachDStream.scala:)
at org.apache.spark.streaming.dstream.ForEachDStream$$anonfun$.apply(ForEachDStream.scala:)
at scala.util.Try$.apply(Try.scala:) 看报错感觉是事务问题 https://de
  

2 解决方案

看报错感觉是事务问题
mysql5.7推荐的驱动是8.0的
1 查询网上的说法,修改了事务级别,但是不起作用
2 根据官方mysql的推荐,更新的mysql驱动版本到8.0.7 解决问题