Uploaded image for project: 'Crucible'
  1. Crucible
  2. CRUC-2488

Failure to delete reviews after a reviewer has viewed them.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 2.1-M5, 2.1
    • 2.1-M4
    • None

    Description

      It seems that if a reviewer views a review, then the moderator tries to delete the review after abandoning it, the review refuses to die.

      
      WARN  - SQL Error: -8, SQLState: 23000
      ERROR - Integrity constraint violation FKC569C1B110FA9B81 table: CRU_FILE_READ_STATUS in statement [delete from cru_review_participant where cru_participant_id=?]
      ERROR - Could not synchronize database state with session
      org.hibernate.exception.ConstraintViolationException: could not delete: [com.cenqua.crucible.model.ReviewParticipant#7]
      	at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
      	at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
      	at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2546)
      	at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2702)
      	at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:77)
      	at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:279)
      	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:263)
      	at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:172)
      	at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
      	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
      	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
      	at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)
      	at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:106)
      	at com.cenqua.crucible.hibernate.HibernateUtil.commit(HibernateUtil.java:259)
      	at com.cenqua.crucible.hibernate.HibernateUtil.commitAllTransactions(HibernateUtil.java:250)
      	at com.cenqua.crucible.hibernate.HibernateUtil.bounceTransaction(HibernateUtil.java:192)
      	at com.cenqua.crucible.model.managers.ReviewManager.deleteReview(ReviewManager.java:1032)
      	at com.atlassian.crucible.spi.impl.DefaultReviewService.deleteReview(DefaultReviewService.java:1417)
      	at com.atlassian.crucible.spi.rpc.RestReviewService.deleteReview(RestReviewService.java:611)
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      	at java.lang.reflect.Method.invoke(Method.java:585)
      	at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$VoidOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:139)
      	at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:67)
      	at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:208)
      	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)
      	at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:75)
      	at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:115)
      	at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:67)
      	at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:724)
      	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:689)
      	at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:680)
      	at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:324)
      	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:425)
      	at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:604)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1208)
      	at com.cenqua.fisheye.web.filters.RestFilter.doFilter(RestFilter.java:25)
      	at com.cenqua.fisheye.web.filters.CrucibleRestFilter.doFilter(CrucibleRestFilter.java:21)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
      	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:83)
      	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
      	at com.cenqua.crucible.filters.CrucibleFilter.doFilter(CrucibleFilter.java:141)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
      	at com.cenqua.fisheye.web.filters.TotalityFilter.doFilter(TotalityFilter.java:233)
      	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
      	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
      	at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:98)
      	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
      	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66)
      	at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:69)
      	at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
      	at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:81)
      	at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:145)
      	at com.cenqua.fisheye.web.filters.CustomIncludableGzipFilter.doFilter(CustomIncludableGzipFilter.java:21)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
      	at com.cenqua.fisheye.web.filters.ProductInfoFilter.doFilter(ProductInfoFilter.java:36)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
      	at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:55)
      	at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:41)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
      	at com.cenqua.fisheye.web.filters.UpfrontFilter.doFilter(UpfrontFilter.java:71)
      	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
      	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
      	at org.mortbay.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1200)
      	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:387)
      	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
      	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
      	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
      	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
      	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
      	at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
      	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
      	at org.mortbay.jetty.Server.handle(Server.java:324)
      	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:535)
      	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:865)
      	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
      	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
      	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
      	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
      	at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451)
      Caused by: java.sql.SQLException: Integrity constraint violation FKC569C1B110FA9B81 table: CRU_FILE_READ_STATUS in statement [delete from cru_review_participant where cru_participant_id=?]
      	at org.hsqldb.jdbc.Util.throwError(Unknown Source)
      	at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source)
      	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
      	at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:23)
      	at org.hibernate.persister.entity.AbstractEntityPersister.delete(AbstractEntityPersister.java:2525)
      	... 98 more
      ERROR - Trying to delete review CR-3(3)
      
      

      Attachments

        Activity

          People

            gcrain Geoff Crain (Inactive)
            alyons Anna Lyons [Atlassian]
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: