Bug 反馈
【 Bug 的影响】
使用TiSpark写入TiDB,采用write的方式直写tikv。出现错误导致Spark重试Task,任务运行时间变长。
错误如下:
com.pingcap.tikv.exception.TiKVException: Execution exception met.
at com.pingcap.tikv.util.ClientUtils.getTasksWithOutput(ClientUtils.java:222)
at com.pingcap.tikv.KVClient.doSendBatchGet(KVClient.java:118)
at com.pingcap.tikv.KVClient.batchGet(KVClient.java:96)
at com.pingcap.tikv.Snapshot.batchGet(Snapshot.java:91)
【可能的问题复现步骤】
在资源相对不足,即出现shuffle溢写磁盘的情况下,运行TiSpark写入TiDB。
【看到的非预期行为】
出现如下的失败任务重试:
【相关组件及具体版本】
TiDB 5.3.0 部署在K8s上,TiSpark 2.5.0 Spark 3.0.3或者3.1.2
【其他背景信息或者截图】
经过日志排查,信息指向com.pingcap.tikv.util.ConcreteBackOffer这个类,日志中说访问
131行backOffFunctionMap报java.util.ConcurrentModificationException错误
我把backOffFunctionMap的定义由HashMap改成ConcurrentHashMap后,此错误未在重现,改回去也没再重现。
请这方面的专家给评审一下,这个是不是个问题?是不是这个地方的问题?