From: Masataka S. <pg...@gm...> - 2013-11-27 05:29:19
|
Hi, I looked into an error message "GTM error, could not obtain snapshot". The root cause was very simple, but I found another 2 bugs on the way of analysis. I explain the summary of bugs and attached patches. 01_fix_error_target: When GTM proxy received an error response to a command, GTM proxy reported error using an unrelated connection to the command. Because proxy_main.c:ProcessResponse uses ereport function and it is internally use GetMyThreadInfo->thr_conn, but thr_conn is not set correctly. 02_fix_backend_proxy_id: When Postgres-XC disconnected connection to GTM proxy, GTM proxy reports it to GTM by MSG_BACKEND_DISCONNECT. The message must have It could snuff out GTXID from the snapshot, and it is the root cause of the subject. 03_fix_commit_rollback_status: TXN_COMMIT_RESULT / TXN_ROLLBACK_RESULT should have a gxid and a status, but GTM Proxy sends it without a status. I want to commit these patches tomorrow. I'm sorry but please notice me quickly if you have a comment to the patches. Regards |