[ http://jira.codehaus.org/browse/CONTINUUM-799?page=all ]

Brett Porter updated CONTINUUM-799:
-----------------------------------

    Fix Version/s:     (was: 1.0.3)

> 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
>
> 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

        

Reply via email to