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

        

Reply via email to