seata 1.3 redis模式重构性能对比
发布日期:2021-06-30 11:03:35 浏览次数:2 分类:技术文章

本文共 21770 字,大约阅读时间需要 72 分钟。

!!!非官方数据,此压测数据为server端redis模式重构过程中,中间过程的测试数据。!!!

测试目的
在server端redis模式重构期间,测试server端不同的存储数据结构的性能差异,以对部分代码重构提供参考依据。
主要测试:

  • 1.develop分支,db模式,mysql;
  • 2.1.3.0版本,redis模式,lock string结构,session string结构;
  • 3.合并lock 重构pr之前,redis模式,lock string结构,session string结构;
  • 4.develop分支,redis模式,lock hash结构,session string结构;
  • 5.develop分支,redis模式,lock hash结构,session hash结构;

声明:

本测试数据,受限测试机,服务器,中间件配置,网络因素,以及技术选型,业务场景,仅仅代表个人压测数据,不代表实际生产部署的性能。重点在于显式几种结构下的对比差距,没有任何绝对性能参考依据。测试使用的部分代码来自于未被合并的pr,部分pr不一定会merge到主干!!!因此,数据不具有稳定版本的性能参考意义。请复制黏贴党不要断章取义!

声明:

本测试数据,受限测试机,服务器,中间件配置,网络因素,以及技术选型,业务场景,仅仅代表个人压测数据,不代表实际生产部署的性能。重点在于显式几种结构下的对比差距,没有任何绝对性能参考依据。测试使用的部分代码来自于未被合并的pr,部分pr不一定会merge到主干!!!因此,数据不具有稳定版本的性能参考意义。请复制黏贴党不要断章取义!

场景:order服务 - > storage服务 -> account服务

每次请求修改数据为
order服务 insert 1条 - > storage服务修改5条 -> account服务修改1条。
注意:storage表中只有5条数据,account表中1条数据。此测试场景,并发请求的数据完全相同,每一个请求,都会出现锁冲突,且由于并发较高,会造成严重的全局锁冲突,重试,超时。
工具:jmeter
测试项目:
配置:均默认配置,未做调整;
部署:seata windows10本地启动
redis 阿里云 1核1G docker启动
mysql 阿里云 1核1G docker启动
结果:数据采用95%Line 3次平均值:

在这里插入图片描述

1.业务链路正常测试数据

5并发

lock hash,session hash

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
lock hash,session string
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

lock string,session string

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
lock string,session string 特定pr为止
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

mysql

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

50并发

lock hash,session hash

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
lock hash,session string
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

lock string,session string

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
lock string,session string 特定pr为止
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

mysql

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

100并发

lock hash,session hash

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
lock hash,session string
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

lock string,session string

在这里插入图片描述
在这里插入图片描述
lock string,session string 特定pr为止
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

mysql

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

压测异常

redis模式下,压测过程主要异常如下:

io.seata.core.exception.BranchTransactionException: Global lock acquire failed xid = 100.64.20.95:8091:52520571292217344 branchId = 52520852440608769

22:19:07.035  INFO --- [       TxTimeoutCheck_1_1] i.s.s.coordinator.DefaultCoordinator     : Global transaction[100.64.20.95:8091:52520574958039040] is timeout and will be rollback.22:19:07.049 ERROR --- [verHandlerThread_1_31_500] i.s.c.e.AbstractExceptionHandler         : Catch TransactionException while do RPC, request: xid=100.64.20.95:8091:52520571292217344,branchType=AT,resourceId=jdbc:mysql://116.62.62.26/seata-storage,lockKey=storage:1,2,3,4,5==>io.seata.core.exception.BranchTransactionException: Global lock acquire failed xid = 100.64.20.95:8091:52520571292217344 branchId = 52520852440608769	at io.seata.server.transaction.at.ATCore.branchSessionLock(ATCore.java:48)	at io.seata.server.coordinator.AbstractCore.lambda$branchRegister$10(AbstractCore.java:77)	at io.seata.server.storage.redis.session.RedisSessionManager.lockAndExecute(RedisSessionManager.java:194)	at io.seata.server.session.SessionHolder.lockAndExecute(SessionHolder.java:275)	at io.seata.server.coordinator.AbstractCore.branchRegister(AbstractCore.java:72)	at io.seata.server.coordinator.DefaultCore.branchRegister(DefaultCore.java:97)	at io.seata.server.coordinator.DefaultCoordinator.doBranchRegister(DefaultCoordinator.java:192)	at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:184)	at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:179)	at io.seata.core.exception.AbstractExceptionHandler.exceptionHandleTemplate(AbstractExceptionHandler.java:116)	at io.seata.server.AbstractTCInboundHandler.handle(AbstractTCInboundHandler.java:179)	at io.seata.core.protocol.transaction.BranchRegisterRequest.handle(BranchRegisterRequest.java:136)	at io.seata.server.coordinator.DefaultCoordinator.onRequest(DefaultCoordinator.java:427)	at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.onRequestMessage(ServerOnRequestProcessor.java:116)	at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.process(ServerOnRequestProcessor.java:77)	at io.seata.core.rpc.netty.AbstractNettyRemoting.lambda$processMessage$2(AbstractNettyRemoting.java:265)	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)	at java.lang.Thread.run(Thread.java:745)<==22:19:07.105  INFO --- [       TxTimeoutCheck_1_1] i.s.s.coordinator.DefaultCoordinator     : Global transaction[100.64.20.95:8091:52520571720036352] is timeout and will be rollback.22:19:07.106  INFO --- [verHandlerThread_1_30_500] io.seata.server.coordinator.DefaultCore  : Rollback global transaction successfully, xid = 100.64.20.95:8091:52520571195748352.

io.seata.core.exception.GlobalTransactionException: Could not register branch into global session xid = 100.64.20.95:8091:52520571598401536 status = TimeoutRollbacking while expecting Begin

22:19:09.724  INFO --- [     batchLoggerPrint_1_1] i.s.c.r.p.server.BatchLogHandler         : SeataMergeMessage xid=100.64.20.95:8091:52520571598401536,branchType=AT,resourceId=jdbc:mysql://116.62.62.26/seata-storage,lockKey=storage:1,2,3,4,5,clientIp:100.64.20.95,vgroup:default22:19:09.753  INFO --- [       TxTimeoutCheck_1_1] i.s.s.coordinator.DefaultCoordinator     : Global transaction[100.64.20.95:8091:52520571967500288] is timeout and will be rollback.22:19:09.773 ERROR --- [verHandlerThread_1_46_500] i.s.c.e.AbstractExceptionHandler         : Catch TransactionException while do RPC, request: xid=100.64.20.95:8091:52520571598401536,branchType=AT,resourceId=jdbc:mysql://116.62.62.26/seata-storage,lockKey=storage:1,2,3,4,5==>io.seata.core.exception.GlobalTransactionException: Could not register branch into global session xid = 100.64.20.95:8091:52520571598401536 status = TimeoutRollbacking while expecting Begin	at io.seata.server.coordinator.AbstractCore.globalSessionStatusCheck(AbstractCore.java:102)	at io.seata.server.coordinator.AbstractCore.lambda$branchRegister$10(AbstractCore.java:73)	at io.seata.server.storage.redis.session.RedisSessionManager.lockAndExecute(RedisSessionManager.java:194)	at io.seata.server.session.SessionHolder.lockAndExecute(SessionHolder.java:275)	at io.seata.server.coordinator.AbstractCore.branchRegister(AbstractCore.java:72)	at io.seata.server.coordinator.DefaultCore.branchRegister(DefaultCore.java:97)	at io.seata.server.coordinator.DefaultCoordinator.doBranchRegister(DefaultCoordinator.java:192)	at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:184)	at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:179)	at io.seata.core.exception.AbstractExceptionHandler.exceptionHandleTemplate(AbstractExceptionHandler.java:116)	at io.seata.server.AbstractTCInboundHandler.handle(AbstractTCInboundHandler.java:179)	at io.seata.core.protocol.transaction.BranchRegisterRequest.handle(BranchRegisterRequest.java:136)	at io.seata.server.coordinator.DefaultCoordinator.onRequest(DefaultCoordinator.java:427)	at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.onRequestMessage(ServerOnRequestProcessor.java:116)	at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.process(ServerOnRequestProcessor.java:77)	at io.seata.core.rpc.netty.AbstractNettyRemoting.lambda$processMessage$2(AbstractNettyRemoting.java:265)	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)	at java.lang.Thread.run(Thread.java:745)<==22:19:09.833  INFO --- [       TxTimeoutCheck_1_1] i.s.s.coordinator.DefaultCoordinator     : Global transaction[100.64.20.95:8091:52520572613423104] is timeout and will be rollback.22:19:09.888  INFO --- [     batchLoggerPrint_1_1] i.s.c.r.p.server.BatchLogHandler         : SeataMergeMessage xid=100.64.20.95:8091:52520571329966080,extraData=null,clientIp:100.64.20.95,vgroup:default

io.seata.core.exception.GlobalTransactionException: Could not found global transaction xid = 100.64.20.95:8091:52520574215647232, may be has finished.

22:19:30.670  INFO --- [     batchLoggerPrint_1_1] i.s.c.r.p.server.BatchLogHandler         : SeataMergeMessage xid=100.64.20.95:8091:52520574131761152,extraData=null,clientIp:100.64.20.95,vgroup:default22:19:30.747  INFO --- [     batchLoggerPrint_1_1] i.s.c.r.p.server.BatchLogHandler         : SeataMergeMessage xid=100.64.20.95:8091:52520574215647232,branchType=AT,resourceId=jdbc:mysql://116.62.62.26/seata-storage,lockKey=storage:1,2,3,4,5,clientIp:100.64.20.95,vgroup:default22:19:30.787 ERROR --- [rverHandlerThread_1_9_500] i.s.c.e.AbstractExceptionHandler         : Catch TransactionException while do RPC, request: xid=100.64.20.95:8091:52520574215647232,branchType=AT,resourceId=jdbc:mysql://116.62.62.26/seata-storage,lockKey=storage:1,2,3,4,5==>io.seata.core.exception.GlobalTransactionException: Could not found global transaction xid = 100.64.20.95:8091:52520574215647232, may be has finished.	at io.seata.server.coordinator.AbstractCore.assertGlobalSessionNotNull(AbstractCore.java:120)	at io.seata.server.coordinator.AbstractCore.branchRegister(AbstractCore.java:71)	at io.seata.server.coordinator.DefaultCore.branchRegister(DefaultCore.java:97)	at io.seata.server.coordinator.DefaultCoordinator.doBranchRegister(DefaultCoordinator.java:192)	at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:184)	at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:179)	at io.seata.core.exception.AbstractExceptionHandler.exceptionHandleTemplate(AbstractExceptionHandler.java:116)	at io.seata.server.AbstractTCInboundHandler.handle(AbstractTCInboundHandler.java:179)	at io.seata.core.protocol.transaction.BranchRegisterRequest.handle(BranchRegisterRequest.java:136)	at io.seata.server.coordinator.DefaultCoordinator.onRequest(DefaultCoordinator.java:427)	at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.onRequestMessage(ServerOnRequestProcessor.java:116)	at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.process(ServerOnRequestProcessor.java:77)	at io.seata.core.rpc.netty.AbstractNettyRemoting.lambda$processMessage$2(AbstractNettyRemoting.java:265)	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)	at java.lang.Thread.run(Thread.java:745)<==22:19:30.936  INFO --- [     batchLoggerPrint_1_1] i.s.c.r.p.server.BatchLogHandler         : SeataMergeMessage xid=100.64.20.95:8091:52520574173704192,extraData=null,clientIp:100.64.20.95,vgroup:default

db模式mysql,下,压测过程主要异常如下:

10:55:12.122  INFO --- [     batchLoggerPrint_1_1] i.s.c.r.p.server.BatchLogHandler         : SeataMergeMessage xid=192.168.158.80:8091:52710864220127232,extraData=null,clientIp:192.168.158.80,vgroup:default10:55:12.124 ERROR --- [verHandlerThread_1_14_500] i.s.c.e.AbstractExceptionHandler         : Catch TransactionException while do RPC, request: xid=192.168.158.80:8091:52710864304013312,branchType=AT,resourceId=jdbc:mysql://116.62.62.26/seata-storage,lockKey=storage:1,2,3,4,5==>io.seata.core.exception.GlobalTransactionException: Could not register branch into global session xid = 192.168.158.80:8091:52710864304013312 status = TimeoutRollbacking while expecting Begin	at io.seata.server.coordinator.AbstractCore.globalSessionStatusCheck(AbstractCore.java:102)	at io.seata.server.coordinator.AbstractCore.lambda$branchRegister$10(AbstractCore.java:73)	at io.seata.server.storage.db.session.DataBaseSessionManager.lockAndExecute(DataBaseSessionManager.java:197)	at io.seata.server.session.SessionHolder.lockAndExecute(SessionHolder.java:275)	at io.seata.server.coordinator.AbstractCore.branchRegister(AbstractCore.java:72)	at io.seata.server.coordinator.DefaultCore.branchRegister(DefaultCore.java:97)	at io.seata.server.coordinator.DefaultCoordinator.doBranchRegister(DefaultCoordinator.java:192)	at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:184)	at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:179)	at io.seata.core.exception.AbstractExceptionHandler.exceptionHandleTemplate(AbstractExceptionHandler.java:116)	at io.seata.server.AbstractTCInboundHandler.handle(AbstractTCInboundHandler.java:179)	at io.seata.core.protocol.transaction.BranchRegisterRequest.handle(BranchRegisterRequest.java:136)	at io.seata.server.coordinator.DefaultCoordinator.onRequest(DefaultCoordinator.java:427)	at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.onRequestMessage(ServerOnRequestProcessor.java:116)	at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.process(ServerOnRequestProcessor.java:77)	at io.seata.core.rpc.netty.AbstractNettyRemoting.lambda$processMessage$2(AbstractNettyRemoting.java:265)	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)	at java.lang.Thread.run(Thread.java:745)<==10:55:12.134  INFO --- [     RetryRollbacking_1_1] io.seata.server.coordinator.DefaultCore  : Rollback global transaction successfully, xid = 192.168.158.80:8091:52710862731149312.10:55:12.158  INFO --- [     batchLoggerPrint_1_1] i.s.c.r.p.server.BatchLogHandler         : SeataMergeMessage xid=192.168.158.80:8091:52710864270458880,extraData=null,clientIp:192.168.158.80,vgroup:default
10:55:07.945  INFO --- [     batchLoggerPrint_1_1] i.s.c.r.p.server.BatchLogHandler         : SeataMergeMessage xid=192.168.158.80:8091:52710861707739136,branchType=AT,resourceId=jdbc:mysql://116.62.62.26/seata-storage,lockKey=storage:1,2,3,4,5,clientIp:192.168.158.80,vgroup:default10:55:07.966  INFO --- [verHandlerThread_1_39_500] i.s.s.s.db.lock.LockStoreDataBaseDAO     : Global lock on [storage:1] is holding by xid 192.168.158.80:8091:52710861548355584 branchId 5271110874385612910:55:07.980 ERROR --- [verHandlerThread_1_39_500] i.s.c.e.AbstractExceptionHandler         : Catch TransactionException while do RPC, request: xid=192.168.158.80:8091:52710861707739136,branchType=AT,resourceId=jdbc:mysql://116.62.62.26/seata-storage,lockKey=storage:1,2,3,4,5==>io.seata.core.exception.BranchTransactionException: Global lock acquire failed xid = 192.168.158.80:8091:52710861707739136 branchId = 52711110014730241	at io.seata.server.transaction.at.ATCore.branchSessionLock(ATCore.java:48)	at io.seata.server.coordinator.AbstractCore.lambda$branchRegister$10(AbstractCore.java:77)	at io.seata.server.storage.db.session.DataBaseSessionManager.lockAndExecute(DataBaseSessionManager.java:197)	at io.seata.server.session.SessionHolder.lockAndExecute(SessionHolder.java:275)	at io.seata.server.coordinator.AbstractCore.branchRegister(AbstractCore.java:72)	at io.seata.server.coordinator.DefaultCore.branchRegister(DefaultCore.java:97)	at io.seata.server.coordinator.DefaultCoordinator.doBranchRegister(DefaultCoordinator.java:192)	at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:184)	at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:179)	at io.seata.core.exception.AbstractExceptionHandler.exceptionHandleTemplate(AbstractExceptionHandler.java:116)	at io.seata.server.AbstractTCInboundHandler.handle(AbstractTCInboundHandler.java:179)	at io.seata.core.protocol.transaction.BranchRegisterRequest.handle(BranchRegisterRequest.java:136)	at io.seata.server.coordinator.DefaultCoordinator.onRequest(DefaultCoordinator.java:427)	at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.onRequestMessage(ServerOnRequestProcessor.java:116)	at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.process(ServerOnRequestProcessor.java:77)	at io.seata.core.rpc.netty.AbstractNettyRemoting.lambda$processMessage$2(AbstractNettyRemoting.java:265)	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)	at java.lang.Thread.run(Thread.java:745)<==10:55:08.016  INFO --- [     batchLoggerPrint_1_1] i.s.c.r.p.server.BatchLogHandler         : SeataMergeMessage xid=192.168.158.80:8091:52710861745487872,branchType=AT,resourceId=jdbc:mysql://116.62.62.26/seata-storage,lockKey=storage:1,2,3,4,5,clientIp:192.168.158.80,vgroup:default

特定pr之前的代码压测

先是

2020-09-25 19:30:14.998 ERROR --- [Thread_1_16_500] i.s.c.e.AbstractExceptionHandler         : Catch TransactionException while do RPC, request: xid=192.168.158.80:8091:52840600355274752,branchType=AT,resourceId=jdbc:mysql://116.62.62.26/seata-storage,lockKey=storage:1,2,3,4,5==>io.seata.core.exception.BranchTransactionException: Global lock acquire failed xid = 192.168.158.80:8091:52840600355274752 branchId = 52840743536230401	at io.seata.server.transaction.at.ATCore.branchSessionLock(ATCore.java:48)	at io.seata.server.coordinator.AbstractCore.lambda$branchRegister$2(AbstractCore.java:77)	at io.seata.server.storage.redis.session.RedisSessionManager.lockAndExecute(RedisSessionManager.java:194)	at io.seata.server.session.SessionHolder.lockAndExecute(SessionHolder.java:275)	at io.seata.server.coordinator.AbstractCore.branchRegister(AbstractCore.java:72)	at io.seata.server.coordinator.DefaultCore.branchRegister(DefaultCore.java:97)	at io.seata.server.coordinator.DefaultCoordinator.doBranchRegister(DefaultCoordinator.java:192)	at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:184)	at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:179)	at io.seata.core.exception.AbstractExceptionHandler.exceptionHandleTemplate(AbstractExceptionHandler.java:116)	at io.seata.server.AbstractTCInboundHandler.handle(AbstractTCInboundHandler.java:179)	at io.seata.core.protocol.transaction.BranchRegisterRequest.handle(BranchRegisterRequest.java:136)	at io.seata.server.coordinator.DefaultCoordinator.onRequest(DefaultCoordinator.java:427)	at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.onRequestMessage(ServerOnRequestProcessor.java:116)	at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.process(ServerOnRequestProcessor.java:77)	at io.seata.core.rpc.netty.AbstractNettyRemoting.lambda$processMessage$2(AbstractNettyRemoting.java:265)	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)	at java.lang.Thread.run(Thread.java:745)<==

后出现

2020-09-25 19:30:44.975  INFO --- [Rollbacking_1_1] io.seata.server.coordinator.DefaultCore  : Rollback global transaction successfully, xid = 192.168.158.80:8091:52840601164775424.2020-09-25 19:30:44.994  INFO --- [Rollbacking_1_1] io.seata.server.coordinator.DefaultCore  : Rollback global transaction successfully, xid = 192.168.158.80:8091:52840601672286208.2020-09-25 19:30:45.011  INFO --- [Rollbacking_1_1] io.seata.server.coordinator.DefaultCore  : Rollback global transaction successfully, xid = 192.168.158.80:8091:52840602343374848.2020-09-25 19:30:45.029  INFO --- [Rollbacking_1_1] io.seata.server.coordinator.DefaultCore  : Rollback global transaction successfully, xid = 192.168.158.80:8091:52840602599227392.2020-09-25 19:30:45.047  INFO --- [Rollbacking_1_1] io.seata.server.coordinator.DefaultCore  : Rollback global transaction successfully, xid = 192.168.158.80:8091:52840601630343168.2020-09-25 19:30:45.065 ERROR --- [Thread_1_12_500] i.s.c.e.AbstractExceptionHandler         : Catch TransactionException while do RPC, request: xid=192.168.158.80:8091:52840602301431808,branchType=AT,resourceId=jdbc:mysql://116.62.62.26/seata-storage,lockKey=storage:1,2,3,4,5==>io.seata.core.exception.GlobalTransactionException: Could not register branch into global session xid = 192.168.158.80:8091:52840602301431808 status = TimeoutRollbacking while expecting Begin	at io.seata.server.coordinator.AbstractCore.globalSessionStatusCheck(AbstractCore.java:102)	at io.seata.server.coordinator.AbstractCore.lambda$branchRegister$2(AbstractCore.java:73)	at io.seata.server.storage.redis.session.RedisSessionManager.lockAndExecute(RedisSessionManager.java:194)	at io.seata.server.session.SessionHolder.lockAndExecute(SessionHolder.java:275)	at io.seata.server.coordinator.AbstractCore.branchRegister(AbstractCore.java:72)	at io.seata.server.coordinator.DefaultCore.branchRegister(DefaultCore.java:97)	at io.seata.server.coordinator.DefaultCoordinator.doBranchRegister(DefaultCoordinator.java:192)	at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:184)	at io.seata.server.AbstractTCInboundHandler$4.execute(AbstractTCInboundHandler.java:179)	at io.seata.core.exception.AbstractExceptionHandler.exceptionHandleTemplate(AbstractExceptionHandler.java:116)	at io.seata.server.AbstractTCInboundHandler.handle(AbstractTCInboundHandler.java:179)	at io.seata.core.protocol.transaction.BranchRegisterRequest.handle(BranchRegisterRequest.java:136)	at io.seata.server.coordinator.DefaultCoordinator.onRequest(DefaultCoordinator.java:427)	at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.onRequestMessage(ServerOnRequestProcessor.java:116)	at io.seata.core.rpc.processor.server.ServerOnRequestProcessor.process(ServerOnRequestProcessor.java:77)	at io.seata.core.rpc.netty.AbstractNettyRemoting.lambda$processMessage$2(AbstractNettyRemoting.java:265)	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)	at java.lang.Thread.run(Thread.java:745)<==

转载地址:https://it4all.blog.csdn.net/article/details/108759561 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:面向对象设计七大原则
下一篇:git协作常用术语

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月11日 03时07分01秒