Java

    3热度

    11回答

    JDK 1.8 SEATA: seata-all 1.5.2 使用TCC模式,目前碰到的问题是: 通过@GlobalTransactional开启全局事务后顺序执行两个@TwoPhaseBusinessAction的事务方法A、方法B, 方法A、方法B都已定义各自rollbackMethod, 在测试时发现如果是在方法B的一阶段提交中抛出异常,方法A的rollbackMethod可以被触发调用,而

    8热度

    5回答

    如下图所示,我在confirm方法,直接调用了全局事务回滚,却返回的是committing状态,无法触发A服务自己的cancel方法,也无法触发B服务的cancel方法 JDK version : 1.8 Seata version: 1.5.2 OS : macOS Others:

    9热度

    5回答

    场景描述 RM二阶段发生异常时,TC是会进行不断的重试。直到成功为止 那么,问题就来了。一直重试虽然在一定程度上可能成功,但大部分情况下一直重试是不会成功的 这个时候,是需要作出一定的告警措施,比如发邮件,发钉钉之类的 比较幸运的是,seata提供了SPI,这样可以比较方便的实现。经过一番研究尝试,终于找到比较好的实现方式。如下,enjoy! Step One Step Two com.xxx.

    5热度

    12回答

    seata版本1.5.1,注册到nacos两个节点,客户端采用saga模式,正常情况下,一个事务请求会被分配到一个seata节点管理,如图: 业务流程正常结束,事务被committed。但测试的时候经常发现,当一个事务请求被分配到一个节点后,这个事务的部分日志会出现在另一个节点,那么此时,就算业务流程已经执行完毕,也不会打印committed那条日志,如图: 接收请求的seata节点日志: 另

    7热度

    22回答

    如上图,目前seata和业务都是虚拟机部署,且业务服务使用seata是直接虚拟机ip:port的方式。云化后,再部署一套seata容器化节点。集群内的业务使用集群内的seata节点(通过nacos高可用的方式),集群外的不变。想确认一下: 这种渐进式方案是否可行?通过使用同一套数据库做无状态使用是否有问题? 还未结束的事务,业务迁移到集群内还能继续么?

    0热度

    17回答

    客户端配置access-key后注册TM会在服务端io.seata.server.auth.DefaultCheckAuthHandler#doRegTransactionManagerCheck接受到,但服务端重启后客户端再次注册到服务端时access-key为空 服务端重启后,客户端再次注册则会出现此问题 JDK version : 11 Seata version: 1.5.2 OS

    5热度

    9回答

    目前trace命令只能跟踪到增强函数内部的methodInvoke,但是除了方法调用耗时,很多情况下是synchronized(obj)进入临界区的耗时,如果函数内有多段临界区,没发准确感知进入每个临界区的耗时 使用bytekit的AtSyncEntry来实现对进入临界区的耗时跟踪,trace命令添加参数skipMonitor来决定是否启用,默认为true

    10热度

    2回答

    环境信息 arthas-boot.jar 或者 as.sh 的版本: 3.4.5 Arthas 版本: 3.4.5 操作系统版本: xxx 目标进程的JVM版本: 1.8 执行arthas-boot的版本: 3.4.5 ES版本:5.6.4 实际运行的结果 [es@host-10-10-10-155 local]$ ./as.sh Arthas script version: 3.4.5

    5热度

    1回答

    环境信息 arthas-boot.jar 或者 as.sh 的版本: xxx Arthas 版本: 3.5.2 操作系统版本: Linux version 3.10.0-1127.13.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #

    3热度

    2回答

    使用dashboard命令,线程区域中出现的线程是按照什么原则显示的;比如cpu使用率?是否jvm内部线程?是否守护线程?等等

    0热度

    2回答

    具体报错信息,大神求教! 2021-07-15 21:19:39 [arthas-command-execute] WARN c.t.a.c.c.k.MemoryCompilerCommand -Memory compiler error com.taobao.arthas.compiler.DynamicCompilerException: Compilation Error line: 10

    10热度

    2回答

    因为线上环境和我本地执行不一致 怀疑是代码未更新 所以使用arthas 反编译了一个类 第二天早上 发现OOM了 然后我在Java VIsualVM中查看到实列有对ArthasBootstrap的引用 就怀疑起来了 环境信息 arthas-boot.jar 或者 as.sh 的版本: 3.5.2 Arthas 版本: 3.5.2 操作系统版本: centos7 目标进程的J

    6热度

    3回答

    环境信息 Arthas 版本: 3.5.3 目标进程的JVM版本: openjdk 1.8.0_202 重现问题的步骤 项目运行中k8s pod中,kubectl exec进入pod 使用arthas,使用heapdump --live /tmp/dump.hprof命令报错heap dump error: com.sun.management.HotSpotDiagnosticMXBean

    3热度

    2回答

    环境信息 arthas-spring-boot-starter 的版本: 3.5.2 Arthas 版本: 3.5.2 操作系统版本: linux 目标进程的JVM版本: 1.8 执行arthas-boot的版本: 3.5.2 重现问题的步骤 项目通过引入arthas-spring-boot-starter的方式进行在线诊断,通过heapdump --live导出堆快照发现Netty Pool

    2热度

    3回答

    问题 tunnel server 部署集群 ,Agent和Web Console如何进行消息流转? 长连接不在一个服务器上怎么处理? 期望 直接读取redis中的agent信息是否可行?

    0热度

    3回答

    环境信息 操作系统版本: centos7 目标进程的JVM版本: 180_144 执行arthas-boot的版本: 3.5.2 source 一个有内部类的A类后,mc生成3个class,retransform类名对应的A.class,提示delete a method 非法。这种场景如何热部署?

    5热度

    2回答

    直接判断等于true应该比较符合逻辑,否则随意输入一个字符串就会启用iframe

    2热度

    4回答

    环境信息 arthas-boot.jar 或者 as.sh 的版本: 3.4.4 Arthas 版本: 3.4.4 操作系统版本: CentOS 7 目标进程的JVM版本: 1.8.0_202 执行arthas-boot的版本: 1.8.0_202 重现问题的步骤 jad --source-only 某个含有匿名内部类的class mc 内存编译第 1 步的结果 异常 期望的结果 在未人为

    5热度

    4回答

    Arthas vmtool源码分析 Hello JNI Why use JNI ? 提高程序性能; 实现某些纯Java代码不可能实现的功能; 使用其他语言的类库; 与硬件、操作系统进行交互。 What is JNI ? JNI是Java Native Interface的缩写,通过使用native关键字书写程序,允许Java与其他语言进行交互。 How to write application

    7热度

    2回答

    环境信息 arthas-boot.jar 或者 as.sh 的版本: Arthas 版本: 3.5.4 操作系统版本: mac os BigSur 11.2.3 目标进程的JVM版本: 1.8.0_261 执行arthas-boot的版本: xxx 重现问题的步骤 被增强的目标方法 int id = 1; @RequestMapping("throwable") p