问题一:Seata+Nacos+DB方式,Server端与Client端 Nacos的配置要求是什么?
Seata+Nacos+DB方式,Server端与Client端 Nacos的配置namespace必须是同一个嘛,可不可以不是同一个Namespace?
参考答案:
"配置可以不同,但是服务发现必须同一个。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/580289?spm=a2c6h.12873639.article-detail.12.456d4378DrHxEF
问题二:Seata中什么情况下同一个事务参与者会注册两次分支?
Seata中什么情况下同一个事务参与者会注册两次分支?
参考答案:
数据源重复代理,导致undolog的操作也做了一次注册。或者你自己debug下分之注册的地方看堆栈。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/580282?spm=a2c6h.12873639.article-detail.13.456d4378DrHxEF
问题三:Seata中我的应用注册到nacos上就很稳定一次都没报异常,是因为seata实时性比nacos强?
Seata中我发现nacos比seata稳定的多,我的rm注册到seata上笔记本关了以后报了好多次注册异常,而我的应用注册到nacos上就很稳定一次都没报异常,是因为seata实时性比nacos更强吗?我更多的是从nacos和seata的实际应用场景去考虑的。
参考答案:
10s一次自动重连而已,而且nacos你关了,连不上数据库会报错。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/580279?spm=a2c6h.12873639.article-detail.14.456d4378DrHxEF
问题四:Seata中像这种情况失败了会重试多少次?
"Seata中像这种情况失败了会重试多少次?
com.mysql.cj.jdbc.MysqlXAException: Undetermined error occurred in the underlying Connection - check your data for consistency
at com.mysql.cj.jdbc.MysqlXAConnection.mapXAExceptionFromSQLException(MysqlXAConnection.java:347)
at com.mysql.cj.jdbc.MysqlXAConnection.dispatchCommand(MysqlXAConnection.java:329)
at com.mysql.cj.jdbc.MysqlXAConnection.rollback(MysqlXAConnection.java:243)
at io.seata.rm.datasource.xa.ConnectionProxyXA.xaRollback(ConnectionProxyXA.java:141)
at io.seata.rm.datasource.xa.ConnectionProxyXA.xaRollback(ConnectionProxyXA.java:132)
at io.seata.rm.datasource.xa.ResourceManagerXA.finishBranch(ResourceManagerXA.java:115)
at io.seata.rm.datasource.xa.ResourceManagerXA.branchRollback(ResourceManagerXA.java:100)
at io.seata.rm.AbstractRMHandler.doBranchRollback(AbstractRMHandler.java:125)
at io.seata.rm.AbstractRMHandler$2.execute(AbstractRMHandler.java:67)
at io.seata.rm.AbstractRMHandler$2.execute(AbstractRMHandler.java:63)
at io.seata.core.exception.AbstractExceptionHandler.exceptionHandleTemplate(AbstractExceptionHandler.java:131)
at io.seata.rm.AbstractRMHandler.handle(AbstractRMHandler.java:63)
at io.seata.rm.DefaultRMHandler.handle(DefaultRMHandler.java:68)
at io.seata.core.protocol.transaction.BranchRollbackRequest.handle(BranchRollbackRequest.java:35)
at io.seata.rm.AbstractRMHandler.onRequest(AbstractRMHandler.java:150)
at io.seata.core.rpc.processor.client.RmBranchRollbackProcessor.handleBranchRollback(RmBranchRollbackProcessor.java:63)
at io.seata.core.rpc.processor.client.RmBranchRollbackProcessor.process(RmBranchRollbackProcessor.java:58)
at io.seata.core.rpc.netty.AbstractNettyRemoting.lambda$processMessage$2(AbstractNettyRemoting.java:281)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0x2618' at line 1
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:764)
at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:648)
at com.mysql.cj.jdbc.MysqlXAConnection.dispatchCommand(MysqlXAConnection.java:323)
... 20 common frames omitted
MySQL版本:8.0.32
seata server版本: 1.7.1
seata-spring-boot-starter版本: 1.7.1"
参考答案:
"无限,直到成功。有些字符可能有问题,用ip连接tc的方式测一下。xa recover一下,看下哪些xa事务挂在那,然后把data拆成这样去提交 带上formatid,xa commit/rollback 'xid','-branchid',formatID。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/580276?spm=a2c6h.12873639.article-detail.15.456d4378DrHxEF
问题五:Seata中 像这种指定数据库名称的sql seata不支持吗?
Seata中UPDATE db
.tableName
set fileda=1 where Id=1 像这种指定数据库名称的sql seata不支持吗? 目前回滚导致表找不到 。
参考答案:
到2.0试下,印象中已经修了,如果2.0不行,就是要等2.1或2.0.1了。微服务还是建议各自管理各自的库表,有这种情况应该通过服务调用去触发。官网有升级注意事项去看下。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/580275?spm=a2c6h.12873639.article-detail.16.456d4378DrHxEF