根据您提供的信息,您在使用Seata进行分布式事务管理时遇到了问题。具体来说,您尝试在主线程的事务中使用编程式事务开启一个手动管理的新事务,但发现在版本1.4.2和1.6.1中都无法正常工作。不过,当您去除分布式事务注解或相关的编程式事务代码时,程序能够正常执行,并且在出现异常时也没有报错信息。
Seata是一个用于解决分布式事务问题的框架,其核心机制之一是二阶段提交。在分布式事务的管理中,通常有一个事务管理器(TM)和一个资源管理器(RM)。TM负责定义全局事务的范围,如开始全局事务、提交或回滚全局事务。而TC则负责维护全局和分支事务的状态,并驱动全局事务的提交或回滚。
关于您遇到的具体问题,我没有找到直接相关的信息。但是,根据Seata的一般执行流程,可能存在一些限制或特定条件导致您无法在主线程的事务中使用编程式事务开启新的手动管理事务。例如,某些版本的Seata可能不支持这种操作模式,或者可能需要特定的配置才能实现。