为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm8
【操作系统】:centos
【CPU】:
【问题描述】*:golang 基于mysql的服务适配达梦,执行事务报错,
dm driver版本:
#8.1.2.138
#2022.09.14
#12441
具体报错内容:
2023-07-20T13:30:26.2409 [DEBUG][/server//service//server//server/ai_model/algorithm.go:90]: Begin start ...
2023-07-20T13:30:26.2413 [DEBUG][/server//service//server//server/ai_model/algorithm.go:106]: tx Exec, sql:insert into t_ai_algorithm (f_id,f_name,f_version,f_description,f_product_code) values (?,?,?,?,?);,
2023-07-20T13:30:26.2417 [DEBUG][/server//service//server//server/ai_model/algorithm.go:98]: Commit start ...
2023-07-20T13:30:26.2417 [ERROR][/server//service//server//server/ai_model/algorithm.go:99]: [3696beaad3fb00228f152cc58f1cba47] commit error, execute rollback, error: driver: bad connection
2023-07-20T13:30:26.2422 [ERROR][/server//rpc/internal/serverinterceptors/crashinterceptor.go:41]: runtime error: invalid memory address or nil pointer dereference
goroutine 5760 [running]:
runtime/debug.Stack()
/usr/local/go/src/runtime/debug/stack.go:24 +0x68
databox-cloud-v2/rpc/internal/serverinterceptors.UnaryTimeoutInterceptor.func1.1.1()
/server/rpc/internal/serverinterceptors/timeoutinterceptor.go:33 +0x40
panic({0xe71160, 0x1cf2a40})
/usr/local/go/src/runtime/panic.go:838 +0x20c
dm.(*dm_build_2).dm_build_32.func1()
/server/dm/a.go:111 +0xe8
panic({0xe71160, 0x1cf2a40})
/usr/local/go/src/runtime/panic.go:838 +0x20c
dm.(*dm_build_2).dm_build_264(...)
/server/dm/a.go:816
dm.(*dm_build_2).dm_build_32(0x400030c780, {0x1288c98, 0x4000310120})
/server/dm/a.go:154 +0x2f4
dm.(*dm_build_2).dm_build_42(0x40002d1108?, {0x1288c98, 0x4000310120})
/server/dm/a.go:250 +0x48
dm.(*dm_build_2).Dm_build_64(0x400030c780, 0x0)
/server/dm/a.go:341 +0x80
dm.(*DmStatement).free(0x40001b4dc0)
/server/dm/v.go:510 +0x80
dm.(*DmStatement).close(0x4000252280?)
/server/dm/v.go:360 +0x68
panic({0xe71160, 0x1cf2a40})
/usr/local/go/src/runtime/panic.go:838 +0x20c
dm.dm_build_520(0x400030c780, 0x40001b4dc0, {0x40008814d0, 0x1, 0x1})
/server/dm/zr.go:940 +0x44
dm.(*dm_build_2).Dm_build_109(0x400030c780, 0x40001b4dc0, {0x40005b2d70?, 0x5, 0x5}, 0x0)
/server/dm/a.go:464 +0x360
dm.(*DmStatement).executeInner(0x40001b4dc0, {0x40005b2d20, 0x5, 0x0?}, 0x0?)
/server/dm/v.go:886 +0x80
dm.(*DmStatement).exec(0x40001b4dc0, {0x40005b2d20?, 0x40008df1a0?, 0x40001b4dc0?})
/server/dm/v.go:394 +0x48
dm.(*DmStatement).execContext(0x40001b4dc0, {0x1281400, 0x40008df1a0}, {0x40004bfa00?, 0x40007639c8?, 0xb15d64?})
/server/dm/v.go:414 +0xe0
dm.(*DmConnection).execContext(0x4000252280, {0x1281400, 0x40008df1a0}, {0x10b1f3e, 0x68}, {0x40004bfa00, 0x5, 0x5})
/server/dm/n.go:571 +0x140
dm.(*DmConnection).ExecContext(0x400025a930?, {0x1281400?, 0x40008df1a0?}, {0x10b1f3e?, 0x40004bfa00?}, {0x40004bfa00?, 0xffff302c8b48?, 0x4000252280?})
/server/dm/n.go:288 +0x3c
database/sql.ctxDriverExec({0x1281400?, 0x40008df1a0?}, {0xffff302c98c0?, 0x4000252280?}, {0x0?, 0x0?}, {0x10b1f3e?, 0x200000003?}, {0x40004bfa00?, 0x4000072500?, ...})
/usr/local/go/src/database/sql/ctxutil.go:31 +0xb0
database/sql.(*DB).execDC.func2()
/usr/local/go/src/database/sql/sql.go:1681 +0x134
database/sql.withLock({0x1275968, 0x4000727a70}, 0x4000763c58)
/usr/local/go/src/database/sql/sql.go:3437 +0x80
database/sql.(*DB).execDC(0x4000653b80?, {0x1281400, 0x40008df1a0}, 0x4000727a70, 0x5?, {0x10b1f3e, 0x68}, {0x4000830be0, 0x5, 0x5})
/usr/local/go/src/database/sql/sql.go:1676 +0x1a0
database/sql.(*Tx).ExecContext(0x4000653b80, {0x1281400, 0x40008df1a0}, {0x10b1f3e, 0x68}, {0x4000830be0, 0x5, 0x5})
/usr/local/go/src/database/sql/sql.go:2491 +0x8c
databox-cloud-v2/pkg/mysql.(*Tx).Exec(0x40008203c0, {0x10b1f3e, 0x68}, {0x4000830be0, 0x5, 0x5})
/server/pkg/mysql/sql.go:113 +0xbc
这个貌似报错是因为提交事务之前连接中断了