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