One sub module randomly appears twice after adding a parent multi-module
-------------------------------------------------------------------------
Key: CONTINUUM-799
URL: http://jira.codehaus.org/browse/CONTINUUM-799
Project: Continuum
Issue Type: Bug
Components: Database
Affects Versions: 1.0.3
Environment: Linux Red Hat
Reporter: Jonathan Johnson
Fix For: 1.0.3
One sub module randomly appears twice after adding a parent multi-module to
continuum 1.0.3.
I have a parent maven 2 pom with 16 sub-modules. If I reset the database ( by
removing the database directory) and add my parent pom.xml all the modules will
be added correctly except one random module will be added twice. I tried this
three times and a different module in the list is duplicated once. This also
happens after a fresh install of version 1.0.3.
If I run a "Build All" one of the duplicate modules builds, while the other
remains with a "New" status. When attempting to remove the duplicate module
with the "New" status I get the error below.
------------------
[EMAIL PROTECTED] also reported this...
"I've had a similar problem when using continuum with SVN. I end up with two
projects that have the exact same SCM url, but different continuum build id's
(sequential, in my case). Updating the build definition for one, automatically
updates it for the other. However, updates inside svn only trigger one of them
to be built by continuum, and not both. If I try to delete the duplicated
project, I get the continuum error page with the same error output."
------------------
Additional findinds...
I looked in the working directory. I have 1-15 directories under
working-directory. The module that is duplicated has an id of 10 and another
of 16. The one that is 16 is the module that still has the status of "New" and
throws the database DELETE exception when I try to remove the module from the
Continuum list.
the duplicateD module has different ids (10 and 16) but working directory does
not have a "16" folder.
Here is theexception when removing the duplicate module with the id of "16"
ognl.MethodFailedException: Method "removeProject" failed for object [EMAIL
PROTECTED] [javax.jdo.JDOUserException: One or more instances could not be
deleted
NestedThrowables:
javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM
BUILDDEFINITION WHERE ID = ?
NestedThrowables:
SQL Exception: DELETE on table 'BUILDDEFINITION' caused a violation of foreign
key constraint 'PROJECT_BUILP8_FK2' for key (10). The statement has been
rolled back.]
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:796)
at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
at ognl.SimpleNode.getValue(SimpleNode.java:210)
at ognl.Ognl.getValue(Ognl.java:333)
at ognl.Ognl.getValue(Ognl.java:378)
at ognl.Ognl.getValue(Ognl.java:357)
at
org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
at
org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
at
org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
at
org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
/-- Encapsulated exception ------------\
javax.jdo.JDOUserException: One or more instances could not be deleted
at
org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1438)
at
org.jpox.store.rdbms.scostore.ElementContainerStore.clear(ElementContainerStore.java:595)
at
org.jpox.store.mapping.CollectionMapping.preDelete(CollectionMapping.java:304)
at
org.jpox.store.mapping.CollectionMapping.deleteDependent(CollectionMapping.java:332)
at
org.jpox.store.rdbms.table.ClassTable.deleteDependent(ClassTable.java:2280)
at org.jpox.store.StoreManager.deleteDependent(StoreManager.java:838)
at
org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4049)
at
org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
at
org.jpox.AbstractPersistenceManager.deletePersistent(AbstractPersistenceManager.java:1402)
at
org.codehaus.plexus.jdo.PlexusJdoUtils.removeObject(PlexusJdoUtils.java:53)
at
org.apache.maven.continuum.store.JdoContinuumStore.removeObject(JdoContinuumStore.java:969)
at
org.apache.maven.continuum.store.JdoContinuumStore.removeProject(JdoContinuumStore.java:901)
at
org.apache.maven.continuum.DefaultContinuum.removeProject(DefaultContinuum.java:328)
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 ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)
at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
at ognl.SimpleNode.getValue(SimpleNode.java:210)
at ognl.Ognl.getValue(Ognl.java:333)
at ognl.Ognl.getValue(Ognl.java:378)
at ognl.Ognl.getValue(Ognl.java:357)
at
org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
at
org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
at
org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
at
org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
NestedThrowablesStackTrace:
javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM
BUILDDEFINITION WHERE ID = ?
at
org.jpox.store.rdbms.request.DeleteRequest.execute(DeleteRequest.java:259)
at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2238)
at org.jpox.store.StoreManager.delete(StoreManager.java:800)
at
org.jpox.state.StateManagerImpl.internalDeletePersistent(StateManagerImpl.java:4113)
at
org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4068)
at
org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
at
org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1429)
at
org.jpox.store.rdbms.scostore.ElementContainerStore.clear(ElementContainerStore.java:595)
at
org.jpox.store.mapping.CollectionMapping.preDelete(CollectionMapping.java:304)
at
org.jpox.store.mapping.CollectionMapping.deleteDependent(CollectionMapping.java:332)
at
org.jpox.store.rdbms.table.ClassTable.deleteDependent(ClassTable.java:2280)
at org.jpox.store.StoreManager.deleteDependent(StoreManager.java:838)
at
org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4049)
at
org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
at
org.jpox.AbstractPersistenceManager.deletePersistent(AbstractPersistenceManager.java:1402)
at
org.codehaus.plexus.jdo.PlexusJdoUtils.removeObject(PlexusJdoUtils.java:53)
at
org.apache.maven.continuum.store.JdoContinuumStore.removeObject(JdoContinuumStore.java:969)
at
org.apache.maven.continuum.store.JdoContinuumStore.removeProject(JdoContinuumStore.java:901)
at
org.apache.maven.continuum.DefaultContinuum.removeProject(DefaultContinuum.java:328)
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 ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)
at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
at ognl.SimpleNode.getValue(SimpleNode.java:210)
at ognl.Ognl.getValue(Ognl.java:333)
at ognl.Ognl.getValue(Ognl.java:378)
at ognl.Ognl.getValue(Ognl.java:357)
at
org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
at
org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
at
org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
at
org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
NestedThrowablesStackTrace:
ERROR 23503: DELETE on table 'BUILDDEFINITION' caused a violation of foreign
key constraint 'PROJECT_BUILP8_FK2' for key (10). The statement has been
rolled back.
at org.apache.derby.iapi.error.StandardException.newException(Unknown
Source)
at
org.apache.derby.impl.sql.execute.ReferencedKeyRIChecker.doCheck(Unknown Source)
at org.apache.derby.impl.sql.execute.RISetChecker.doPKCheck(Unknown
Source)
at
org.apache.derby.impl.sql.execute.DeleteResultSet.collectAffectedRows(Unknown
Source)
at org.apache.derby.impl.sql.execute.DeleteResultSet.open(Unknown
Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown
Source)
at
org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown
Source)
at org.jpox.store.rdbms.request.Request.executeUpdate(Request.java:78)
at
org.jpox.store.rdbms.request.DeleteRequest.execute(DeleteRequest.java:245)
at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2238)
at org.jpox.store.StoreManager.delete(StoreManager.java:800)
at
org.jpox.state.StateManagerImpl.internalDeletePersistent(StateManagerImpl.java:4113)
at
org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4068)
at
org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
at
org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1429)
at
org.jpox.store.rdbms.scostore.ElementContainerStore.clear(ElementContainerStore.java:595)
at
org.jpox.store.mapping.CollectionMapping.preDelete(CollectionMapping.java:304)
at
org.jpox.store.mapping.CollectionMapping.deleteDependent(CollectionMapping.java:332)
at
org.jpox.store.rdbms.table.ClassTable.deleteDependent(ClassTable.java:2280)
at org.jpox.store.StoreManager.deleteDependent(StoreManager.java:838)
at
org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4049)
at
org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
at
org.jpox.AbstractPersistenceManager.deletePersistent(AbstractPersistenceManager.java:1402)
at
org.codehaus.plexus.jdo.PlexusJdoUtils.removeObject(PlexusJdoUtils.java:53)
at
org.apache.maven.continuum.store.JdoContinuumStore.removeObject(JdoContinuumStore.java:969)
at
org.apache.maven.continuum.store.JdoContinuumStore.removeProject(JdoContinuumStore.java:901)
at
org.apache.maven.continuum.DefaultContinuum.removeProject(DefaultContinuum.java:328)
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 ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)
at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
at ognl.SimpleNode.getValue(SimpleNode.java:210)
at ognl.Ognl.getValue(Ognl.java:333)
at ognl.Ognl.getValue(Ognl.java:378)
at ognl.Ognl.getValue(Ognl.java:357)
at
org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
at
org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
at
org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
at
org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
\--------------------------------------/
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira