← Back to team overview

dhis2-devs team mailing list archive

[Bug 1459587] [NEW] cannot-delete-a-user-associated-with-report-table

 

Public bug reported:

If a user has any associated reporttables, it is impossible to delete
this user. No error is displayed in the UI. The user should at least be
infomred that this operation is not possible .

Using r18432 of 2.18

Caused by: org.postgresql.util.PSQLException: ERROR: update or delete on table "userinfo" violates foreign key constraint "fk_reporttable_userid" on table "reporttable"
  Detail: Key (userinfoid)=(7246902) is still referenced from table "reporttable".
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2198)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1927)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:561)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:419)
	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:365)
	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
	at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:133)
	... 132 more
* ERROR 2015-05-28 09:07:28,762 HHH000352: Unable to release batch statement... (AbstractBatchImpl.java [http-apr-8080-exec-6])
* ERROR 2015-05-28 09:07:28,762 HHH000246: SQLException escaped proxy (AbstractBatchImpl.java [http-apr-8080-exec-6])
java.sql.SQLException: You can't operate on a closed Statement!!!
	at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
	at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)
	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.clearBatch(NewProxyPreparedStatement.java:1703)
	at org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl.releaseStatements(AbstractBatchImpl.java:163)
	at org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl.release(AbstractBatchImpl.java:197)
	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:174)
	at org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.close(TransactionCoordinatorImpl.java:277)
	at org.hibernate.internal.SessionImpl.close(SessionImpl.java:353)
	at org.springframework.orm.hibernate4.SessionFactoryUtils.closeSession(SessionFactoryUtils.java:121)
	at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:159)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2403)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.maybeDirtyTransaction(NewProxyPreparedStatement.java:2069)
	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.clearBatch(NewProxyPreparedStatement.java:1695)
	... 29 more

** Affects: dhis2
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of DHIS 2
developers, which is subscribed to DHIS.
https://bugs.launchpad.net/bugs/1459587

Title:
  cannot-delete-a-user-associated-with-report-table

Status in DHIS 2:
  New

Bug description:
  If a user has any associated reporttables, it is impossible to delete
  this user. No error is displayed in the UI. The user should at least
  be infomred that this operation is not possible .

  Using r18432 of 2.18

  Caused by: org.postgresql.util.PSQLException: ERROR: update or delete on table "userinfo" violates foreign key constraint "fk_reporttable_userid" on table "reporttable"
    Detail: Key (userinfoid)=(7246902) is still referenced from table "reporttable".
  	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2198)
  	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1927)
  	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:255)
  	at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:561)
  	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:419)
  	at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:365)
  	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
  	at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:133)
  	... 132 more
  * ERROR 2015-05-28 09:07:28,762 HHH000352: Unable to release batch statement... (AbstractBatchImpl.java [http-apr-8080-exec-6])
  * ERROR 2015-05-28 09:07:28,762 HHH000246: SQLException escaped proxy (AbstractBatchImpl.java [http-apr-8080-exec-6])
  java.sql.SQLException: You can't operate on a closed Statement!!!
  	at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:106)
  	at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:65)
  	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.clearBatch(NewProxyPreparedStatement.java:1703)
  	at org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl.releaseStatements(AbstractBatchImpl.java:163)
  	at org.hibernate.engine.jdbc.batch.internal.AbstractBatchImpl.release(AbstractBatchImpl.java:197)
  	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.close(JdbcCoordinatorImpl.java:174)
  	at org.hibernate.engine.transaction.internal.TransactionCoordinatorImpl.close(TransactionCoordinatorImpl.java:277)
  	at org.hibernate.internal.SessionImpl.close(SessionImpl.java:353)
  	at org.springframework.orm.hibernate4.SessionFactoryUtils.closeSession(SessionFactoryUtils.java:121)
  	at org.springframework.orm.hibernate4.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:159)
  	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
  	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
  	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
  	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
  	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
  	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
  	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
  	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
  	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
  	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
  	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
  	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
  	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
  	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
  	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
  	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
  	at org.apache.tomcat.util.net.AprEndpoint$SocketWithOptionsProcessor.run(AprEndpoint.java:2403)
  	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
  	at java.lang.Thread.run(Thread.java:745)
  Caused by: java.lang.NullPointerException
  	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.maybeDirtyTransaction(NewProxyPreparedStatement.java:2069)
  	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.clearBatch(NewProxyPreparedStatement.java:1695)
  	... 29 more

To manage notifications about this bug go to:
https://bugs.launchpad.net/dhis2/+bug/1459587/+subscriptions


Follow ups

References