powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PSQLException: current transaction is aborted, commands ignored until end of transaction
16 сообщений из 16, страница 1 из 1
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39001956
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторPSQLException: current transaction is aborted, commands ignored until end of transaction block

В общем смежники наши босоногие полазили руками в продакшине и в результате на банальный запрос из Java OpenJPA выскакивает такая ошибка.

Стекоферфло читал не сильно помогло так как транзакции идут нормально на рабочих базах и в QA
http://stackoverflow.com/questions/10399727/psqlexception-current-transaction-is-aborted-commands-ignored-until-end-of-tra

Какой лог попросить чтоб запустили посмотреть где там проблемма? Попросил босоногих друзей отдать server.log может выдадут завтра по утру, но может чего там подкрутить в установках логов в postgresql.conf чтоб сразу показала на каком query транзакция затыкается?

В общем заранее благодарен за любой совет. Если совет удачный с меня бесплатный обед.
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39002011
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergunkaавторPSQLException: current transaction is aborted, commands ignored until end of transaction block

В общем смежники наши босоногие полазили руками в продакшине и в результате на банальный запрос из Java OpenJPA выскакивает такая ошибка.

Стекоферфло читал не сильно помогло так как транзакции идут нормально на рабочих базах и в QA
http://stackoverflow.com/questions/10399727/psqlexception-current-transaction-is-aborted-commands-ignored-until-end-of-tra

Какой лог попросить чтоб запустили посмотреть где там проблемма? Попросил босоногих друзей отдать server.log может выдадут завтра по утру, но может чего там подкрутить в установках логов в postgresql.conf чтоб сразу показала на каком query транзакция затыкается?

В общем заранее благодарен за любой совет. Если совет удачный с меня бесплатный обед.

Все ошибки и так в логи базы идут. Если специально не выключать.
Более того перед тем как приложение от базы получит "PSQLException: current transaction is aborted, commands ignored until end of transaction block" оно сначала получит ошибку на каком то из sql запросов внутри транзакции и именно ее надо смотреть.
Очень странно что приложение одновременно ловит ошибку что вы привели но не ловит ошибку с которой все началось.

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39002139
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergunka,


скорее всего поменяли где--то autocommit=ON на autocommit=OFF.
тогда после любой ошибки [о которой говорит максим] надо ROLLBACK руками слать [вот зачем оно так]. а вы -- не слали.

а это -- уже ругательство на попытку сделать что--то, не заслав требуемое [после фейла] недоумком господином пж ритуальное "кю". эцилоп его побери.
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39002143
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqSergunka,


скорее всего поменяли где--то autocommit=ON на autocommit=OFF.
тогда после любой ошибки [о которой говорит максим] надо ROLLBACK руками слать [вот зачем оно так]. а вы -- не слали.

а это -- уже ругательство на попытку сделать что--то, не заслав требуемое [после фейла] недоумком господином пж ритуальное "кю". эцилоп его побери.

Интересно а какое поведение вы хотите если текущее вам не нравится?
После ошибки в транзакции проигнорированной приложение продолжать принимать запросы и выполнять их?
В итоге получив вместо транзакции выполненной целиком транзакцию выполненную на вторую половину только?

--
Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39002178
p2.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim BogukПосле ошибки в транзакции проигнорированной приложение продолжать принимать запросы и выполнять их?
В итоге получив вместо транзакции выполненной целиком транзакцию выполненную на вторую половину только?
при таком подходе приложение должно обработать ошибку и само решить - прервать транзакцию (rollback), откатиться к контрольной точке (rollback to savepoint), выполнить альтернативный оператор (например, update после нарушения уникальности insertом), продолжающий длинную транзакцию.
сейчас у пострес такая возможность есть только в рамках обработки исключения на стороне сервера.
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39002222
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk,

приложение, уже получило ошибку. Если надо второе ритуальное кю -- то конечно можно. Но если я нигде не говорил до этого про сейвпойнты -- то нахуа ? я же всё равно ничего не могу сказать в это соединение, кроме ритуального кю. Мне не сложно, но смешно.

но, думается, случай с объявленным в sql сейвпонтом покрывается текущим поведением.
в эту сторону я не думал -- т.к. ни разу не делал -- т.к. в принципе противник как [длинных] клиентских транзакций так и вообще автокоммитов off [и, в этом плане, хотел бы with hold reffcursor--ов из ф-й].
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39002234
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
p2.,
SAVEPOINT в SQL никто не отменял
но пользуются редко
не только лишь все
скорее даже никто
т.ч. тут Макс скорее всего прав
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39002262
Фотография Misha Tyurin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
savepoint оч ок, когда клиент не понимает про стек транзакций. например, там развитая система классов (между собой вызываются и каждый у себя хочет транзакции) и всё такое

например пример из алхимии
http://docs.sqlalchemy.org/en/rel_1_0/orm/session_api.html#sqlalchemy.orm.session.Session.commit

If a subtransaction is in effect (which occurs when begin() is called multiple times), the subtransaction will be closed, and the next call to commit() will operate on the enclosing transaction.
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39002722
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Boguk и qwwq,

Спасибо огромное за советы. Сегодня пообщаюсь с нашими босоногими друзьями узнаю как да что доложу.
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39002747
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Misha Tyurinsavepoint оч ок, когда клиент не понимает про стек транзакций. например, там развитая система классов (между собой вызываются и каждый у себя хочет транзакции) и всё такое

например пример из алхимии
http://docs.sqlalchemy.org/en/rel_1_0/orm/session_api.html#sqlalchemy.orm.session.Session.commit

If a subtransaction is in effect (which occurs when begin() is called multiple times), the subtransaction will be closed, and the next call to commit() will operate on the enclosing transaction.

Спасибо, занятная теория.

Ситуация там вообще простая есть JPA класс на Java и данные льются в одну таблицу используя в SimpleJPA save и flush методы последовательно. Все работает если базы наши только в продакшине не заливается ломается при первой попытке. Есть мнение, что так же изменили доступ к таблице и не дают права на запись туда, но на мой взгляд ошибка должна быть несколько другой в этом случае.
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39002758
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwwqскорее всего поменяли где--то autocommit=ON на autocommit=OFF.

А как это проверить? Пошел гуглить.

Еще попутный вопрос, как себе ведет постргес если база на одной версии, а постргес сервер на другой?
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39002761
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergunka <>но на мой взгляд ошибка должна быть несколько другой в этом случае.так у вас ошибка и так несколько другая.

а ошибка топика -- это ответ на попытку что-то послать в соединение с autocommit off после "несколько другой ошибки" не завершённой просылкой rollback из приложения.

пошлите туда "ролбек" при ошибке -- и всё будет тип--топ.

т.е. у вас кривое (в части обработки ошибок в транзакции) приложение, что вскрылось на первом скачке.
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39002817
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот как ошибка выглядит со стороны Java


2015-07-02 16:50:20,702[pool-29-thread-1]|ERROR|com.ge.pw.betz.data.excel.CtiDataLoader|ERROR: current transaction is aborted, commands ignored until end of transaction block {prepstmnt 886280117 SELECT NEXTVAL('mla.SEQ_ID_CTI_DATA_MAP')} [code=0, state=25P02]; nested exception is <openjpa-2.2.2-rUnversioned directory fatal general error> org.apache.openjpa.persistence.PersistenceException: ERROR: current transaction is aborted, commands ignored until end of transaction block {prepstmnt 886280117 SELECT NEXTVAL('mla.SEQ_ID_CTI_DATA_MAP')} [code=0, state=25P02]
org.springframework.orm.jpa.JpaSystemException: ERROR: current transaction is aborted, commands ignored until end of transaction block {prepstmnt 886280117 SELECT NEXTVAL('mla.SEQ_ID_CTI_DATA_MAP')} [code=0, state=25P02]; nested exception is <openjpa-2.2.2-rUnversioned directory fatal general error> org.apache.openjpa.persistence.PersistenceException: ERROR: current transaction is aborted, commands ignored until end of transaction block {prepstmnt 886280117 SELECT NEXTVAL('mla.SEQ_ID_CTI_DATA_MAP')} [code=0, state=25P02]
at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:321)[132:org.springframework.orm:3.1.4.RELEASE]
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:404)[132:org.springframework.orm:3.1.4.RELEASE]
at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:58)[111:org.springframework.transaction:3.1.4.RELEASE]
at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213)[111:org.springframework.transaction:3.1.4.RELEASE]
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:163)[111:org.springframework.transaction:3.1.4.RELEASE]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)[18:org.springframework.aop:3.1.4.RELEASE]
at org.springframework.data.jpa.repository.support.LockModeRepositoryPostProcessor$LockModePopulatingMethodIntercceptor.invoke(LockModeRepositoryPostProcessor.java:92)[187:org.springframework.data.jpa:1.3.0.RELEASE]


Схожу еще спрошу на Жаба подфоруме
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39002851
Фотография vyegorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergunka,

Посмотрите логи жавы и Postgres'а до этого момента, т.к. реальное что-то произошло сразу перед вашим SELECT-ом.
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39003047
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vyegorovSergunka,

Посмотрите логи жавы и Postgres'а до этого момента, т.к. реальное что-то произошло сразу перед вашим SELECT-ом.у него там скорее всего обработанное [в жабе] исключение. но после него он роллбек в это соединение не говорит. т.е. неверно, с т.з. пж, обрабатывает ошибку в транзакции. ПЖ ждёт указания, по какое место ему откатиться (что есть следствие возможности sql--savepoit-ов). А чел привык после ексепшена считать транзакцию откаченной и закрытой.
...
Рейтинг: 0 / 0
PSQLException: current transaction is aborted, commands ignored until end of transaction
    #39004047
Sergunka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim BogukВсе ошибки и так в логи базы идут. Если специально не выключать.
Более того перед тем как приложение от базы получит "PSQLException: current transaction is aborted, commands ignored until end of transaction block" оно сначала получит ошибку на каком то из sql запросов внутри транзакции и именно ее надо смотреть.


Bingo

Код: html
1.
2.
3.
4.
2015-07-07 20:04:59 EDT [22757]: [4-1] user=cvt_web,db=powerup STATEMENT:  ALTER SEQUENCE mla.SEQ_ID_CTI_DATA_MAP INCREMENT BY 50
2015-07-07 20:04:59 EDT [22757]: [5-1] user=cvt_web,db=powerupERROR:  current transaction is aborted, commands ignored until end of transaction block
2015-07-07 20:04:59 EDT [22757]: [6-1] user=cvt_web,db=powerup STATEMENT:  SELECT NEXTVAL('mla.SEQ_ID_CTI_DATA_MAP')
2015-07-07 20:54:52 EDT [22756]: [21-1] user=cvt_web,db=powerup ERROR:  permission denied
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / PSQLException: current transaction is aborted, commands ignored until end of transaction
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]