我们最近按照文档设置了XA事务。
然而,app团队正面临以下问题
性能测试1: XXXX内部用户-三个不同帐户的并发用户,持续时间10分钟。-没有错误
性能测试2: XXXX联邦用户-三个不同帐户的并发用户,持续时间5分钟。-没有错误
性能测试3: XXXX联邦用户-有20个不同帐户的3个并发用户。-观察到错误
错误如下所示
{"error":"org.hibernate.exception.LockAcquisitionException:无法执行查询“}{”错误:“:无法在10秒后获得密钥f:6038d4995878:ptuserfafn375759570511和requestor GlobalTx:local:754的锁。锁由GlobalTx:local:732}持有”
我检查了DPA监控工具,发现了美国东部时间05:47-05:49:36之间的阻塞和死锁。除了不同的Txn/所有者ID之外,受害者和幸存者正在从同一台机器运行相同的SQL。
检查和验证系统/ Server错误日志,没有异常。
有什么想法吗?
发布于 2020-02-28 16:56:16
下面的文章有更多的细节。
如果sendStringParametersAsUnicode属性设置为"TRUE",则字符串参数将以Unicode格式:http://msdn.microsoft.com/en-us/library/ms378988.aspx格式发送到服务器。这意味着,如果将此属性设置为False,则从应用程序传递的参数的数据类型将为there,而不是nVarchar,因此不会进行隐式转换!
而且起作用了。没有死锁。
https://dba.stackexchange.com/questions/260655
复制相似问题