|
|
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
автор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 транзакция затыкается? В общем заранее благодарен за любой совет. Если совет удачный с меня бесплатный обед. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 08:26 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 09:37 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
Sergunka, скорее всего поменяли где--то autocommit=ON на autocommit=OFF. тогда после любой ошибки [о которой говорит максим] надо ROLLBACK руками слать [вот зачем оно так]. а вы -- не слали. а это -- уже ругательство на попытку сделать что--то, не заслав требуемое [после фейла] недоумком господином пж ритуальное "кю". эцилоп его побери. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 11:20 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
qwwqSergunka, скорее всего поменяли где--то autocommit=ON на autocommit=OFF. тогда после любой ошибки [о которой говорит максим] надо ROLLBACK руками слать [вот зачем оно так]. а вы -- не слали. а это -- уже ругательство на попытку сделать что--то, не заслав требуемое [после фейла] недоумком господином пж ритуальное "кю". эцилоп его побери. Интересно а какое поведение вы хотите если текущее вам не нравится? После ошибки в транзакции проигнорированной приложение продолжать принимать запросы и выполнять их? В итоге получив вместо транзакции выполненной целиком транзакцию выполненную на вторую половину только? -- Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 11:26 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
Maxim BogukПосле ошибки в транзакции проигнорированной приложение продолжать принимать запросы и выполнять их? В итоге получив вместо транзакции выполненной целиком транзакцию выполненную на вторую половину только? при таком подходе приложение должно обработать ошибку и само решить - прервать транзакцию (rollback), откатиться к контрольной точке (rollback to savepoint), выполнить альтернативный оператор (например, update после нарушения уникальности insertом), продолжающий длинную транзакцию. сейчас у пострес такая возможность есть только в рамках обработки исключения на стороне сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 11:54 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk, приложение, уже получило ошибку. Если надо второе ритуальное кю -- то конечно можно. Но если я нигде не говорил до этого про сейвпойнты -- то нахуа ? я же всё равно ничего не могу сказать в это соединение, кроме ритуального кю. Мне не сложно, но смешно. но, думается, случай с объявленным в sql сейвпонтом покрывается текущим поведением. в эту сторону я не думал -- т.к. ни разу не делал -- т.к. в принципе противник как [длинных] клиентских транзакций так и вообще автокоммитов off [и, в этом плане, хотел бы with hold reffcursor--ов из ф-й]. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 12:23 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
p2., SAVEPOINT в SQL никто не отменял но пользуются редко не только лишь все скорее даже никто т.ч. тут Макс скорее всего прав ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 12:30 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 12:42 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
Maxim Boguk и qwwq, Спасибо огромное за советы. Сегодня пообщаюсь с нашими босоногими друзьями узнаю как да что доложу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 17:58 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
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 методы последовательно. Все работает если базы наши только в продакшине не заливается ломается при первой попытке. Есть мнение, что так же изменили доступ к таблице и не дают права на запись туда, но на мой взгляд ошибка должна быть несколько другой в этом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 18:09 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
qwwqскорее всего поменяли где--то autocommit=ON на autocommit=OFF. А как это проверить? Пошел гуглить. Еще попутный вопрос, как себе ведет постргес если база на одной версии, а постргес сервер на другой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 18:16 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
Sergunka <>но на мой взгляд ошибка должна быть несколько другой в этом случае.так у вас ошибка и так несколько другая. а ошибка топика -- это ответ на попытку что-то послать в соединение с autocommit off после "несколько другой ошибки" не завершённой просылкой rollback из приложения. пошлите туда "ролбек" при ошибке -- и всё будет тип--топ. т.е. у вас кривое (в части обработки ошибок в транзакции) приложение, что вскрылось на первом скачке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 18:16 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
Вот как ошибка выглядит со стороны 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] Схожу еще спрошу на Жаба подфоруме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 19:35 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
Sergunka, Посмотрите логи жавы и Postgres'а до этого момента, т.к. реальное что-то произошло сразу перед вашим SELECT-ом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2015, 20:20 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
vyegorovSergunka, Посмотрите логи жавы и Postgres'а до этого момента, т.к. реальное что-то произошло сразу перед вашим SELECT-ом.у него там скорее всего обработанное [в жабе] исключение. но после него он роллбек в это соединение не говорит. т.е. неверно, с т.з. пж, обрабатывает ошибку в транзакции. ПЖ ждёт указания, по какое место ему откатиться (что есть следствие возможности sql--savepoit-ов). А чел привык после ексепшена считать транзакцию откаченной и закрытой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2015, 08:23 |
|
||
|
PSQLException: current transaction is aborted, commands ignored until end of transaction
|
|||
|---|---|---|---|
|
#18+
Maxim BogukВсе ошибки и так в логи базы идут. Если специально не выключать. Более того перед тем как приложение от базы получит "PSQLException: current transaction is aborted, commands ignored until end of transaction block" оно сначала получит ошибку на каком то из sql запросов внутри транзакции и именно ее надо смотреть. Bingo Код: html 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2015, 01:12 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39002222&tid=1997894]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
168ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 206ms |
| total: | 438ms |

| 0 / 0 |
