Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > MySQL > Проблема с XA aka Distributed transaction в php |
Автор: 02077461 16.3.2012, 16:29 | ||||||||
Добрый день. Случилось мне использовать http://dev.mysql.com/doc/refman/5.0/en/xa.html в php скрипте. Насколько я понял из доки имея несколько коннектов к бд в каждом мы должны открыть XA транзакцию с уникальным идентификатором, затем завершить ее, подготовить и закоммитить. т.е. выглядит так:
Код который так делает можете найти в аттаче. Все работает как надо когда все работает как надо. Но когда я опускаю один сервер после того как сделал END и PREPARE и непосредственно перед тем как делать COMMIT я получаю следующее сообщение:
По логам все правильно, вот только на первом сервере в базу строка вставилась, а на втором сервере -- нет. Кроме того нет транзации в RECOVERY.
Т.е. от транзакции никакого проку нет. С чем это может быть связано? Можно конечно следить кодом за тем что бы не было ошибок в логе, но тогда вообще нет смысла в транзакциях. |
Автор: aborod 7.12.2012, 16:21 |
Здравствуйте! Тоже интересует реализация XA в MySQL. Подскажите, какой версии у вас MySQL? На забугорных форумах пишут, что они вроде сначала добавили интерфейс, и лишь несколько выпусков спустя сделали полноценную поддержку. |