I found Postgres-XC returns different error code from PostgreSQL's one
for repeated rollback, and it makes a pgjdbc's regression test case
fail.
PostgreSQL returns error code 42704 which is defined as
ERRCODE_UNDEFINED_OBJECT. It is maybe returned in
src/backend/access/transam/twophase.c::LockGXact.
Postgres-XC returns error code XX000 which is defined as
ERRCODE_INTERNAL_ERROR It is maybe returned in
src/backend/pgxc/pool/execRemote.c::FinishRemotePreparedTransaction.
Error messages are quite similar. I will show it at the next line.
prepared transaction with identifier "0_8fHx8fF5/OCyZd9xZmJ2MSPCE1olci037CNQYoXoVCKbi63JcZIoUeJxU7PKl/t4qI4xV1agFPE+9gRrzheGHA==_BAUGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" does not exist.
You can reproduce using attached code.