Thread: 2 phase commit with FDW
Hi!
I am getting the following error when trying to PREPARE transaction which updates both local and foreign table:
2/17/22 12:48:00:657 EST] 00000128 RegisteredRes E WTRN0046E: An attempt by
the transaction manager to call prepare on a transactional resource has resulted in an error. The error code was XAER_RMFAIL. The exception stack trace follows: org.postgresql.xa.PGXAException: Error preparing
transaction. prepare xid={XidImpl: formatId(57415344), gtrid_length(36), bqual_length(54),
data(0000017f08cc3aea00000001232c3afce8abf609478378ca6ac9d4bddbfea3e4efa55cf30000017f08cc3aea00000001232c3afce8abf609478378ca6ac9d4bddbfea3e4efa55cf3000000010000000000000000000000000002)}
at org.postgresql.xa.PGXAConnection.prepare(PGXAConnection.java:365)
There are no errors is all the tables are local. It seems that postgres_fdw is incompatible with the XA protocol. Is there a way around it? If not, we will need yet another code change and another data source.
Regards
-- Mladen Gogala Database Consultant Tel: (347) 321-1217 https://dbwhisperer.wordpress.com
Hi!
I am getting the following error when trying to PREPARE transaction which updates both local and foreign table:
2/17/22 12:48:00:657 EST] 00000128 RegisteredRes E WTRN0046E: An attempt by the transaction manager to call prepare on a transactional resource has resulted in an error. The error code was XAER_RMFAIL. The exception stack trace follows: org.postgresql.xa.PGXAException: Error preparing transaction. prepare xid={XidImpl: formatId(57415344), gtrid_length(36), bqual_length(54),
data(0000017f08cc3aea00000001232c3afce8abf609478378ca6ac9d4bddbfea3e4efa55cf30000017f08cc3aea00000001232c3afce8abf609478378ca6ac9d4bddbfea3e4efa55cf3000000010000000000000000000000000002)}
at org.postgresql.xa.PGXAConnection.prepare(PGXAConnection.java:365)
There are no errors is all the tables are local. It seems that postgres_fdw is incompatible with the XA protocol. Is there a way around it? If not, we will need yet another code change and another data source.
Regards
Is there anybody on this list who can tell me whether foreign tables can participate in 2-phase commit or not? My version is 14.2 on Oracle Linux 8.5.
Regards
-- Mladen Gogala Database Consultant Tel: (347) 321-1217 https://dbwhisperer.wordpress.com
On 2/17/22 13:10, Mladen Gogala wrote:Hi!
I am getting the following error when trying to PREPARE transaction which updates both local and foreign table:
2/17/22 12:48:00:657 EST] 00000128 RegisteredRes E WTRN0046E: An attempt by the transaction manager to call prepare on a transactional resource has resulted in an error. The error code was XAER_RMFAIL. The exception stack trace follows: org.postgresql.xa.PGXAException: Error preparing transaction. prepare xid={XidImpl: formatId(57415344), gtrid_length(36), bqual_length(54),
data(0000017f08cc3aea00000001232c3afce8abf609478378ca6ac9d4bddbfea3e4efa55cf30000017f08cc3aea00000001232c3afce8abf609478378ca6ac9d4bddbfea3e4efa55cf3000000010000000000000000000000000002)}
at org.postgresql.xa.PGXAConnection.prepare(PGXAConnection.java:365)
There are no errors is all the tables are local. It seems that postgres_fdw is incompatible with the XA protocol. Is there a way around it? If not, we will need yet another code change and another data source.
Regards
Is there anybody on this list who can tell me whether foreign tables can participate in 2-phase commit or not? My version is 14.2 on Oracle Linux 8.5.