ConstraintViolationExceptions due to duplicate entries

Robin Fernandes rewbs.soal at gmail.com
Thu Jul 13 20:41:20 CEST 2006


Hi all,

I'm looking at an XWiki 0.9.840 instance here with an unusual problem.
Often, users are not correctly added to the XWikiAllGroup when their
account is created. It appears to be an intermittent problem.

Looking at the log, I see a bunch of stack traces like the one below.
Hibernate is running into duplicate key issues when persisting to DB.
I suspect this is related.

Any ideas how this could be happening? Anyone seen anything similar?

Regards,
Robin


Could not synchronize database state with session
org.hibernate.exception.ConstraintViolationException: could not
insert: [com.xpn.xwiki.objects.StringProperty]
        at org.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:74)
        at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
        at org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:1859)
        at org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:2190)
        at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:46)
        at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:239)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:223)
        at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:136)
        at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:274)
        at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:726)
        at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiProperty(XWikiHibernateStore.java:1076)
        at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiCollection(XWikiHibernateStore.java:873)
        at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiObject(XWikiHibernateStore.java:825)
        at com.xpn.xwiki.XWiki.SetUserDefaultGroup(XWiki.java:1809)
        at com.ibm.ibmxwiki.BluepagesLDAPAuthServiceImpl.CreateUserFromLDAP(Unknown
Source)
        at com.ibm.ibmxwiki.BluepagesLDAPAuthServiceImpl.authenticate(Unknown
Source)
        at com.xpn.xwiki.user.impl.xwiki.MyFormAuthenticator.authenticate(MyFormAuthenticator.java:173)
        at com.xpn.xwiki.user.impl.xwiki.MyFormAuthenticator.processLogin(MyFormAuthenticator.java:112)
        at com.xpn.xwiki.user.impl.xwiki.XWikiAuthServiceImpl.checkAuth(XWikiAuthServiceImpl.java:161)
        at com.xpn.xwiki.XWiki.checkAuth(XWiki.java:1860)
        at com.xpn.xwiki.user.impl.xwiki.XWikiRightServiceImpl.checkAccess(XWikiRightServiceImpl.java:94)
        at com.xpn.xwiki.XWiki.checkAccess(XWiki.java:1865)
        at com.xpn.xwiki.XWiki.prepareDocuments(XWiki.java:2436)
        at com.xpn.xwiki.web.ViewEditAction.execute(ViewEditAction.java:133)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at com.xpn.xwiki.web.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:127)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:797)
Caused by:
java.sql.SQLException: Duplicate entry '1743317516-member' for key 1
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2847)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1531)
        at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1347)
        at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:958)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1957)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1880)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1741)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
        at org.hibernate.persister.entity.BasicEntityPersister.insert(BasicEntityPersister.java:1846)
        ... 45 more




More information about the users mailing list