Details
-
Bug
-
Resolution: Duplicate
-
Low
-
4.0.0
-
None
Description
The scenario was:
- kcichy posted a comment.
- mparfianowicz started writing a reply, which was saved as a draft.
- kcichy deleted his parent comment.
- mparfianowicz was unable to post his comment, because parent comment was gone
- kcichy cannot complete review CR-FE-9826.
cru_comment table
stack trace from fisheye.dev logs (the rest is attached)
016-01-21 10:38:41,179 ERROR [qtp153500756-5040 ] fisheye noClassMethodInfo - Exception "org.hibernate.exception.ConstraintViolationException: could not execute statement" (javax.servlet.ServletException) while processing "/cru/changeStateAjax.do" (Referer:"https://fisheye.dev.internal.atlassian.com/cru/CR-FE-9826") javax.servlet.ServletException: org.hibernate.exception.ConstraintViolationException: could not execute statement ... Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:129) at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:124) at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:189) at org.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:58) at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3355) at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:3558) at org.hibernate.action.internal.EntityDeleteAction.execute(EntityDeleteAction.java:102) at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:395) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:387) at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:310) at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:349) at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:56) at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1159) at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:404) at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101) at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:175) at com.cenqua.crucible.hibernate.SessionState.commit(SessionState.java:165) at com.cenqua.crucible.hibernate.SessionState.commitAllTx(SessionState.java:118) at com.cenqua.crucible.hibernate.SessionState.commitTx(SessionState.java:109) at com.cenqua.crucible.hibernate.HibernateUtil.commitTransaction(HibernateUtil.java:342) at com.atlassian.fecru.tx.TxHelperStylePlatformTransactionManager.commit(TxHelperStylePlatformTransactionManager.java:34) at com.atlassian.fisheye.spi.impl.DefaultTxTemplate.execute(DefaultTxTemplate.java:88) at com.atlassian.crucible.actions.StateActionAction.execute(StateActionAction.java:102) at com.atlassian.crucible.actions.StateActionAjaxAction.execute(StateActionAjaxAction.java:60) ... ... 166 more Caused by: org.postgresql.util.PSQLException: ERROR: update or delete on table "cru_comment" violates foreign key constraint "fke5a1d10674df349c" on table "cru_comment" Detail: Key (cru_comment_id)=(102434) is still referenced from table "cru_comment". at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2101) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1834) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:510) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:386) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:332) at com.jolbox.bonecp.PreparedStatementHandle.executeUpdate(PreparedStatementHandle.java:203) at sun.reflect.GeneratedMethodAccessor795.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at com.cenqua.crucible.hibernate.trackingstatements.TrackingStatementFactory$1.handleInvocation(TrackingStatementFactory.java:25) at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87) at com.sun.proxy.$Proxy85.executeUpdate(Unknown Source) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:186) ... 223 more