【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
2024-03-11 11:07:55.114 [main] INFO Engine -
{
“content”:[
{
“reader”:{
“name”:“mysqlreader”,
“parameter”:{
“column”:[
“"
],
“connection”:[
{
“jdbcUrl”:[
“jdbc:mysql://172.20.16.61:3306/db11?useUnicode=true&characterEncoding=utf8&useSSL=false”
],
“table”:[
“student”
]
}
],
“password”:"********",
“username”:“datax”
}
},
“writer”:{
“name”:“oceanbasev10writer”,
“parameter”:{
“batchSize”:1000,
“column”:[
"”
],
“connection”:[
{
“jdbcUrl”:"||dsc_ob10_dsc||obdemo:sw_tenant||dsc_ob10_dsc||jdbc:mysql://172.20.16.16:2881/db11?useLocalSessionState=true&allowBatch=true&allowMultiQueries=true&rewriteBatchedStatements=true",
“table”:[
“student”
]
}
],
“memstoreThreshold”:“0.9”,
“obWriteMode”:“replace”,
“password”:"********",
“preSql”:[
“truncate table student”
],
“username”:“datax”,
“writerThreadCount”:10
}
}
}
],
“setting”:{
“errorLimit”:{
“percentage”:0.1,
“record”:0
},
“speed”:{
“channel”:4
}
}
}
2024-03-11 11:07:55.151 [main] WARN Engine - prioriy set to 0, because NumberFormatException, the value is: null
2024-03-11 11:07:55.155 [main] INFO PerfTrace - PerfTrace traceId=job_-1, isEnable=false, priority=0
2024-03-11 11:07:55.155 [main] INFO JobContainer - DataX jobContainer starts job.
2024-03-11 11:07:55.157 [main] INFO JobContainer - Set jobId = 0
2024-03-11 11:07:55.980 [job-0] INFO OriginalConfPretreatmentUtil - Available jdbcUrl:jdbc:mysql://172.20.16.61:3306/db11?useUnicode=true&characterEncoding=utf8&useSSL=false&yearIsDateType=false&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&rewriteBatchedStatements=true.
2024-03-11 11:07:55.982 [job-0] WARN OriginalConfPretreatmentUtil - 您的配置文件中的列配置存在一定的风险. 因为您未配置读取数据库表的列,当您的表字段个数、类型有变动时,可能影响任务正确性甚至会运行出错。请检查您的配置并作出修改.
2024-03-11 11:07:56.038 [job-0] INFO DBUtil - this is ob1_0 jdbc url.
2024-03-11 11:07:56.038 [job-0] INFO DBUtil - this is ob1_0 jdbc url. user=obdemo:sw_tenant:datax :url=jdbc:oceanbase://172.20.16.16:2881/db11?useLocalSessionState=true&allowBatch=true&allowMultiQueries=true&rewriteBatchedStatements=true
2024-03-11 11:08:11.388 [job-0] ERROR RetryUtil - Exception when calling callable, 异常Msg:Code:[DBUtilErrorCode-10], Description:[连接数据库失败. 请检查您的 账号、密码、数据库名称、IP、Port或者向 DBA 寻求帮助(注意网络环境).]. - 具体错误信息为:com.alipay.oceanbase.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
com.alibaba.datax.common.exception.DataXException: Code:[DBUtilErrorCode-10], Description:[连接数据库失败. 请检查您的 账号、密码、数据库名称、IP、Port或者向 DBA 寻求帮助(注意网络环境).]. - 具体错误信息为:com.alipay.oceanbase.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:26) ~[datax-common-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.RdbmsException.asConnException(RdbmsException.java:36) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil.connect(DBUtil.java:394) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil.connect(DBUtil.java:384) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil.access$000(DBUtil.java:22) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil$3.call(DBUtil.java:322) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil$3.call(DBUtil.java:319) ~[plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.common.util.RetryUtil$Retry.call(RetryUtil.java:164) ~[datax-common-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.common.util.RetryUtil$Retry.doRetry(RetryUtil.java:111) ~[datax-common-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.common.util.RetryUtil.executeWithRetry(RetryUtil.java:30) [datax-common-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil.getConnection(DBUtil.java:319) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.rdbms.util.DBUtil.getConnection(DBUtil.java:303) [plugin-rdbms-util-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.writer.oceanbasev10writer.util.DbUtils.fetchSingleValueWithRetry(DbUtils.java:50) [oceanbasev10writer-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.writer.oceanbasev10writer.OceanBaseV10Writer$Job.checkCompatibleMode(OceanBaseV10Writer.java:184) [oceanbasev10writer-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.plugin.writer.oceanbasev10writer.OceanBaseV10Writer$Job.init(OceanBaseV10Writer.java:62) [oceanbasev10writer-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.job.JobContainer.initJobWriter(JobContainer.java:704) [datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:304) [datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:113) [datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.Engine.start(Engine.java:92) [datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.Engine.entry(Engine.java:171) [datax-core-0.0.1-SNAPSHOT.jar:na]
at com.alibaba.datax.core.Engine.main(Engine.java:204) [datax-core-0.0.1-SNAPSHOT.jar:na]
2024-03-11 11:08:12.389 [job-0] ERROR RetryUtil - Exception when calling callable, 即将尝试执行第1次重试.本次重试计划等待[1000]ms,实际等待[1000]ms, 异常Msg:[Code:[DBUtilErrorCode-10], Description:[连接数据库失败. 请检查您的 账号、密码、数据库名称、IP、Port或者向 DBA 寻求帮助(注意网络环境).]. - 具体错误信息为:com.alipay.oceanbase.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.]
2024-03-11 11:08:12.390 [job-0] INFO DBUtil - this is ob1_0 jdbc url.
2024-03-11 11:08:12.390 [job-0] INFO DBUtil - this is ob1_0 jdbc url. user=obdemo:sw_tenant:datax :url=jdbc:oceanbase://172.20.16.16:2881/db11?useLocalSessionState=true&allowBatch=true&allowMultiQueries=true&rewriteBatchedStatements=true
2024-03-11 11:08:29.405 [job-0] ERROR RetryUtil - Exception when calling callable, 即将尝试执行第2次重试.本次重试计划等待[2000]ms,实际等待[2000]ms, 异常Msg:[Code:[DBUtilErrorCode-10], Description:[连接数据库失败. 请检查您的 账号、密码、数据库名称、IP、Port或者向 DBA 寻求帮助(注意网络环境).]. - 具体错误信息为:com.alipay.oceanbase.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.]
2024-03-11 11:08:29.406 [job-0] INFO DBUtil - this is ob1_0 jdbc url.
2024-03-11 11:08:29.406 [job-0] INFO DBUtil - this is ob1_0 jdbc url. user=obdemo:sw_tenant:datax :url=jdbc:oceanbase://172.20.16.16:2881/db11?useLocalSessionState=true&allowBatch=true&allowMultiQueries=true&rewriteBatchedStatements=true
2024-03-11 11:08:48.419 [job-0] ERROR RetryUtil - Exception when calling callable, 即将尝试执行第3次重试.本次重试计划等待[4000]ms,实际等待[4001]ms, 异常Msg:[Code:[DBUtilErrorCode-10], Description:[连接数据库失败. 请检查您的 账号、密码、数据库名称、IP、Port或者向 DBA 寻求帮助(注意网络环境).]. - 具体错误信息为:com.alipay.oceanbase.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.]
2024-03-11 11:08:48.419 [job-0] INFO DBUtil - this is ob1_0 jdbc url.
2024-03-11 11:08:48.419 [job-0] INFO DBUtil - this is ob1_0 jdbc url. user=obdemo:sw_tenant:datax :url=jdbc:oceanbase://172.20.16.16:2881/db11?useLocalSessionState=true&allowBatch=true&allowMultiQueries=true&rewriteBatchedStatements=true
2024-03-11 11:09:11.439 [job-0] ERROR RetryUtil - Exception when calling callable, 即将尝试执行第4次重试.本次重试计划等待[8000]ms,实际等待[8000]ms, 异常Msg:[Code:[DBUtilErrorCode-10], Description:[连接数据库失败. 请检查您的 账号、密码、数据库名称、IP、Port或者向 DBA 寻求帮助(注意网络环境).]. - 具体错误信息为:com.alipay.oceanbase.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.]
2024-03-11 11:09:11.439 [job-0] INFO DBUtil - this is ob1_0 jdbc url.
2024-03-11 11:09:11.439 [job-0] INFO DBUtil - this is ob1_0 jdbc url. user=obdemo:sw_tenant:datax :url=jdbc:oceanbase://172.20.16.16:2881/db11?useLocalSessionState=true&allowBatch=true&allowMultiQueries=true&rewriteBatchedStatements=true
^C[Error] DataX receive unexpected signal 2, starts to suicide.
2024-03-11 11:09:14
Full thread dump OpenJDK 64-Bit Server VM (25.282-b08 mixed mode):
“SIGINT handler” #11 daemon prio=9 os_prio=0 tid=0x00007ff814001000 nid=0x9302 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
“Abandoned connection cleanup thread” #10 daemon prio=5 os_prio=0 tid=0x00007ff838784000 nid=0x9300 in Object.wait() [0x00007ff80afdc000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
- locked <0x00000000c2a42e08> (a java.lang.ref.ReferenceQueue$Lock)
at com.alipay.oceanbase.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43)
“Abandoned connection cleanup thread” #8 daemon prio=5 os_prio=0 tid=0x00007ff838566000 nid=0x92ff in Object.wait() [0x00007ff80b51b000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
- locked <0x00000000c1af2d80> (a java.lang.ref.ReferenceQueue$Lock)
at com.mysql.jdbc.AbandonedConnectionCleanupThread.run(AbandonedConnectionCleanupThread.java:43)
“Service Thread” #7 daemon prio=9 os_prio=0 tid=0x00007ff83811f800 nid=0x92fd runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
“C1 CompilerThread1” #6 daemon prio=9 os_prio=0 tid=0x00007ff83811c800 nid=0x92fc waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
“C2 CompilerThread0” #5 daemon prio=9 os_prio=0 tid=0x00007ff83811b000 nid=0x92fb waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
“Signal Dispatcher” #4 daemon prio=9 os_prio=0 tid=0x00007ff83810c800 nid=0x92fa waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
“Finalizer” #3 daemon prio=8 os_prio=0 tid=0x00007ff8380dc800 nid=0x92f9 in Object.wait() [0x00007ff828efd000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000c0008ee8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:144)
- locked <0x00000000c0008ee8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:165)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:216)
“Reference Handler” #2 daemon prio=10 os_prio=0 tid=0x00007ff8380d8000 nid=0x92f8 in Object.wait() [0x00007ff828ffe000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000000c0006c00> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:502)
at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
- locked <0x00000000c0006c00> (a java.lang.ref.Reference$Lock)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)
“job-0” #1 prio=5 os_prio=0 tid=0x00007ff83804e000 nid=0x92f6 runnable [0x00007ff84101c000]
java.lang.Thread.State: RUNNABLE
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
- locked <0x00000000c322f7f0> (a java.net.SocksSocketImpl)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:607)
at com.alipay.oceanbase.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:221)
at com.alipay.oceanbase.jdbc.MysqlIO.(MysqlIO.java:394)
at com.alipay.oceanbase.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2587)
at com.alipay.oceanbase.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2621)
at com.alipay.oceanbase.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2412)
- locked <0x00000000c3223860> (a com.alipay.oceanbase.jdbc.JDBC4Connection)
at com.alipay.oceanbase.jdbc.ConnectionImpl.(ConnectionImpl.java:961)
at com.alipay.oceanbase.jdbc.JDBC4Connection.(JDBC4Connection.java:39)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.alipay.oceanbase.jdbc.Util.handleNewInstance(Util.java:439)
at com.alipay.oceanbase.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:460)
at com.alipay.oceanbase.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:340)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at com.alibaba.datax.plugin.rdbms.util.DBUtil.connect(DBUtil.java:392)
- locked <0x00000000c2a08fa8> (a java.lang.Class for com.alibaba.datax.plugin.rdbms.util.DBUtil)
at com.alibaba.datax.plugin.rdbms.util.DBUtil.connect(DBUtil.java:384)
- locked <0x00000000c2a08fa8> (a java.lang.Class for com.alibaba.datax.plugin.rdbms.util.DBUtil)
at com.alibaba.datax.plugin.rdbms.util.DBUtil.access$000(DBUtil.java:22)
at com.alibaba.datax.plugin.rdbms.util.DBUtil$3.call(DBUtil.java:322)
at com.alibaba.datax.plugin.rdbms.util.DBUtil$3.call(DBUtil.java:319)
at com.alibaba.datax.common.util.RetryUtil$Retry.call(RetryUtil.java:164)
at com.alibaba.datax.common.util.RetryUtil$Retry.doRetry(RetryUtil.java:111)
at com.alibaba.datax.common.util.RetryUtil.executeWithRetry(RetryUtil.java:30)
at com.alibaba.datax.plugin.rdbms.util.DBUtil.getConnection(DBUtil.java:319)
at com.alibaba.datax.plugin.rdbms.util.DBUtil.getConnection(DBUtil.java:303)
at com.alibaba.datax.plugin.writer.oceanbasev10writer.util.DbUtils.fetchSingleValueWithRetry(DbUtils.java:50)
at com.alibaba.datax.plugin.writer.oceanbasev10writer.OceanBaseV10Writer$Job.checkCompatibleMode(OceanBaseV10Writer.java:184)
at com.alibaba.datax.plugin.writer.oceanbasev10writer.OceanBaseV10Writer$Job.init(OceanBaseV10Writer.java:62)
at com.alibaba.datax.core.job.JobContainer.initJobWriter(JobContainer.java:704)
at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:304)
at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:113)
at com.alibaba.datax.core.Engine.start(Engine.java:92)
at com.alibaba.datax.core.Engine.entry(Engine.java:171)
at com.alibaba.datax.core.Engine.main(Engine.java:204)
“VM Thread” os_prio=0 tid=0x00007ff8380ce000 nid=0x92f7 runnable
“VM Periodic Task Thread” os_prio=0 tid=0x00007ff838122800 nid=0x92fe waiting on condition
JNI global references: 335
Heap
def new generation total 314560K, used 61526K [0x00000000c0000000, 0x00000000d5550000, 0x00000000d5550000)
eden space 279616K, 22% used [0x00000000c0000000, 0x00000000c3c15a08, 0x00000000d1110000)
from space 34944K, 0% used [0x00000000d1110000, 0x00000000d1110000, 0x00000000d3330000)
to space 34944K, 0% used [0x00000000d3330000, 0x00000000d3330000, 0x00000000d5550000)
tenured generation total 699072K, used 0K [0x00000000d5550000, 0x0000000100000000, 0x0000000100000000)
the space 699072K, 0% used [0x00000000d5550000, 0x00000000d5550000, 0x00000000d5550200, 0x0000000100000000)
Metaspace used 17732K, capacity 18036K, committed 18176K, reserved 1064960K
class space used 1853K, capacity 1942K, committed 2048K, reserved 1048576K