I tend to believe 3PC ,but offical document says 2PC . offical document link: https://rocketmq.apache.org/docs/featureBehavior/04transactionmessage/ enter image description here
the reason why is think it is 3PC is the step to write msg to half msg queue. I think this step is eqaual to pre-commit in 3PC.
It's 2pc.
Because it's core step is: