seata序列化问题用kryo失败,改数据库字段可以实现回滚,但是项目以上线修改字段不可能

hsvhsicv  于 2个月前  发布在  其他
关注(0)|答案(4)|浏览(27)

服务方一直报错回滚失败:
15:03:34.196 [rpcDispatch_RMROLE_1_1_24] INFO i.s.c.r.p.c.RmBranchRollbackProcessor - [process,56] - rm handle branch rollback process:xid=192.168.10.7:8091:7611325311590346893,branchId=7611325311590346894,branchType=AT,resourceId=jdbc:mysql://192.168.10.246:8066/health_data,applicationData=null
15:03:34.197 [rpcDispatch_RMROLE_1_1_24] INFO i.s.r.AbstractRMHandler - [doBranchRollback,123] - Branch Rollbacking: 192.168.10.7:8091:7611325311590346893 7611325311590346894 jdbc:mysql://192.168.10.246:8066/health_data
15:03:34.213 [rpcDispatch_RMROLE_1_1_24] INFO i.s.r.d.DataSourceManager - [info,41] - branchRollback failed. branchType:[AT], xid:[192.168.10.7:8091:7611325311590346893], branchId:[7611325311590346894], resourceId:[jdbc:mysql://192.168.10.246:8066/health_data], applicationData:[null]. reason:[Branch session rollback failed and try again later xid = 192.168.10.7:8091:7611325311590346893 branchId = 7611325311590346894 Encountered unregistered class ID: -34643987
Serialization trace:
sqlUndoLogs (io.seata.rm.datasource.undo.BranchUndoLog)]
15:03:34.214 [rpcDispatch_RMROLE_1_1_24] INFO i.s.r.AbstractRMHandler - [doBranchRollback,131] - Branch Rollbacked result: PhaseTwo_RollbackFailed_Retryable
15:03:34.965 [rpcDispatch_RMROLE_1_2_24] INFO i.s.c.r.p.c.RmBranchRollbackProcessor - [process,56] - rm handle branch rollback process:xid=192.168.10.7:8091:7611325311590346893,branchId=7611325311590346894,branchType=AT,resourceId=jdbc:mysql://192.168.10.246:8066/health_data,applicationData=null
15:03:34.966 [rpcDispatch_RMROLE_1_2_24] INFO i.s.r.AbstractRMHandler - [doBranchRollback,123] - Branch Rollbacking: 192.168.10.7:8091:7611325311590346893 7611325311590346894 jdbc:mysql://192.168.10.246:8066/health_data
15:03:34.970 [rpcDispatch_RMROLE_1_2_24] INFO i.s.r.d.DataSourceManager - [info,41] - branchRollback failed. branchType:[AT], xid:[192.168.10.7:8091:7611325311590346893], branchId:[7611325311590346894], resourceId:[jdbc:mysql://192.168.10.246:8066/health_data], applicationData:[null]. reason:[Branch session rollback failed and try again later xid = 192.168.10.7:8091:7611325311590346893 branchId = 7611325311590346894 Encountered unregistered class ID: -34643987
Serialization trace:
sqlUndoLogs (io.seata.rm.datasource.undo.BranchUndoLog)]
15:03:34.970 [rpcDispatch_RMROLE_1_2_24] INFO i.s.r.AbstractRMHandler - [doBranchRollback,131] - Branch Rollbacked result: PhaseTwo_RollbackFailed_Retryable
15:03:35.972 [rpcDispatch_RMROLE_1_3_24] INFO i.s.c.r.p.c.RmBranchRollbackProcessor - [process,56] - rm handle branch rollback process:xid=192.168.10.7:8091:7611325311590346893,branchId=7611325311590346894,branchType=AT,resourceId=jdbc:mysql://192.168.10.246:8066/health_data,applicationData=null
15:03:35.973 [rpcDispatch_RMROLE_1_3_24] INFO i.s.r.AbstractRMHandler - [doBranchRollback,123] - Branch Rollbacking: 192.168.10.7:8091:7611325311590346893 7611325311590346894 jdbc:mysql://192.168.10.246:8066/health_data
15:03:36.029 [rpcDispatch_RMROLE_1_3_24] INFO i.s.r.d.DataSourceManager - [info,41] - branchRollback failed. branchType:[AT], xid:[192.168.10.7:8091:7611325311590346893], branchId:[7611325311590346894], resourceId:[jdbc:mysql://192.168.10.246:8066/health_data], applicationData:[null]. reason:[Branch session rollback failed and try again later xid = 192.168.10.7:8091:7611325311590346893 branchId = 7611325311590346894 Encountered unregistered class ID: -34643987
Serialization trace:
sqlUndoLogs (io.seata.rm.datasource.undo.BranchUndoLog)]
15:03:36.029 [rpcDispatch_RMROLE_1_3_24] INFO i.s.r.AbstractRMHandler - [doBranchRollback,131] - Branch Rollbacked result: PhaseTwo_RollbackFailed_Retryable
15:03:36.965 [rpcDispatch_RMROLE_1_4_24] INFO i.s.c.r.p.c.RmBranchRollbackProcessor - [process,56] - rm handle branch rollback process:xid=192.168.10.7:8091:7611325311590346893,branchId=7611325311590346894,branchType=AT,resourceId=jdbc:mysql://192.168.10.246:8066/health_data,applicationData=null
15:03:36.965 [rpcDispatch_RMROLE_1_4_24] INFO i.s.r.AbstractRMHandler - [doBranchRollback,123] - Branch Rollbacking: 192.168.10.7:8091:7611325311590346893 7611325311590346894 jdbc:mysql://192.168.10.246:8066/health_data
15:03:36.970 [rpcDispatch_RMROLE_1_4_24] INFO i.s.r.d.DataSourceManager - [info,41] - branchRollback failed. branchType:[AT], xid:[192.168.10.7:8091:7611325311590346893], branchId:[7611325311590346894], resourceId:[jdbc:mysql://192.168.10.246:8066/health_data], applicationData:[null]. reason:[Branch session rollback failed and try again later xid = 192.168.10.7:8091:7611325311590346893 branchId = 7611325311590346894 Encountered unregistered class ID: -34643987
Serialization trace:
sqlUndoLogs (io.seata.rm.datasource.undo.BranchUndoLog)]

alen0pnh

alen0pnh1#

seata 1.4.2 undo_log 使用kyro序列化,事务正常执行没有问题,回滚的时候出现下面的错误。通过测试修改字段可以正常回滚

uinbv5nw

uinbv5nw3#

怎么改字段?

修改数据库中,时间类型,改为timestamp

uxh89sit

uxh89sit4#

我用的是fastjson作为序列化工具 数据库的时间格式必须都要由原来的datetime 改为timestamp不然回滚也都会报序列化timestamp格式错误,话说这个改动量会有点大啊 有没有更好的解决办法?

相关问题