[jboss-jira] [JBoss JIRA] (WFLY-4908) Redeploy dependent ear fails with duplicate resource error for persistence unit

Tom Arnold (JIRA) issues at jboss.org
Fri Dec 18 19:17:00 EST 2015


    [ https://issues.jboss.org/browse/WFLY-4908?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13143159#comment-13143159 ] 

Tom Arnold commented on WFLY-4908:
----------------------------------

[~scottmarlow], thanks for working on this. 

I tested your branch with https://github.com/jfelix-mgn/wildfly-issue.git. It looks like replacing the dependency works. Our development process is copying new deployments over the old ones (using scripts or links), so this should fix it for us. It would be great if your fix could make it into the next CR/Final.

What is still broken is undeploying the dependency and then redeploying it (i.e. the test case in this ticket). The dependency deploys but the dependent does not redeploy; touching the dependency does cause both to redeploy. I remember having problems with this case in JBoss AS 7 as well, so not really a regression there.

> Redeploy dependent ear fails with duplicate resource error for persistence unit
> -------------------------------------------------------------------------------
>
>                 Key: WFLY-4908
>                 URL: https://issues.jboss.org/browse/WFLY-4908
>             Project: WildFly
>          Issue Type: Bug
>          Components: JPA / Hibernate
>    Affects Versions: 8.2.0.Final, 9.0.0.CR2, 9.0.0.Final, 10.0.0.CR4
>         Environment: OS:
> Debian GNU/Linux 8.0 (jessie)
> Linux 3.16.0-4-amd64 x86_64 GNU/Linux
> JVM:
> java version "1.8.0_45"
> Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
> Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)
> Wildfly: 
> 9.0.0.Final
>            Reporter: Юрий Витковский
>            Assignee: Scott Marlow
>
> I have two EARs:
> {code}
> module1.ear  
> |  
> +--ejb.jar  
>    |  
>   +--META-INF  
>       |  
>       +--persistence.xml with persistence unit "module1-pu" 
> {code}
> and 
> {code}
> module2.ear  
> |  
> +--META-INF  
> |  |  
> |  +--jboss-all.xml  
> |  
> +--ejb.jar  
>    |  
>    +--META-INF  
>       |  
>       +--persistence.xml with persistence unit "module2-pu"  
> {code}
> module2.ear/META-INF/jboss-all.xml contains:
> {code:xml}
> <jboss xmlns="urn:jboss:1.0">  
>   <jboss-deployment-dependencies xmlns="urn:jboss:deployment-dependencies:1.0">  
>   <dependency name="module1.ear" />  
>   </jboss-deployment-dependencies>  
> </jboss>  
> {code}
> When I redeploy module1.ear, module2.ear not redeployed automatically with error: *java.lang.IllegalStateException: WFLYCTL0075: Duplicate resource module2.ear/ejb.jar#module2-pu* (on wildfly 8.2.0.Final: *java.lang.IllegalStateException: JBAS014666: Duplicate resource module2.ear/ejb.jar#module2-pu*)
> Full redeploy log:
> {code}
> 09:11:31,425 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 63) WFLYJPA0011: Stopping Persistence Unit (phase 2 of 2) Service 'module2.ear/ejb.jar#module2-pu'  
> 09:11:31,426 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 63) WFLYJPA0011: Stopping Persistence Unit (phase 1 of 2) Service 'module2.ear/ejb.jar#module2-pu'  
> 09:11:31,431 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 63) WFLYJPA0011: Stopping Persistence Unit (phase 2 of 2) Service 'module1.ear/ejb.jar#module1-pu'  
> 09:11:31,434 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 63) WFLYJPA0011: Stopping Persistence Unit (phase 1 of 2) Service 'module1.ear/ejb.jar#module1-pu'  
> 09:11:31,437 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0208: Stopped subdeployment (runtime-name: ejb.jar) in 17ms  
> 09:11:31,438 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0028: Stopped deployment module1.ear (runtime-name: module1.ear) in 18ms  
> 09:11:31,495 INFO  [org.jboss.as.server] (management-handler-thread - 3) WFLYSRV0009: Undeployed "module1.ear" (runtime-name: "module1.ear")  
> 09:11:31,495 INFO  [org.jboss.as.controller] (management-handler-thread - 3) WFLYCTL0183: Service status report  
> WFLYCTL0184:    New missing/unsatisfied dependencies:  
>       service jboss.deployment.unit."module1.ear".deploymentCompleteService (missing) dependents: [service jboss.deployment.unit."module2.ear".PARSE, service jboss.deployment.subunit."module2.ear"."ejb.jar".PARSE]   
>   
>   
> 09:11:31,558 INFO  [org.jboss.as.repository] (management-handler-thread - 1) WFLYDR0002: Content removed from location /opt/wildfly/standalone/data/content/69/baf0eeab47c006bc1f3d99b21b4355fac62d13/content  
> 09:11:43,170 INFO  [org.jboss.as.repository] (management-handler-thread - 1) WFLYDR0001: Content added at location /opt/wildfly/standalone/data/content/69/baf0eeab47c006bc1f3d99b21b4355fac62d13/content  
> 09:11:43,266 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0027: Starting deployment of "module1.ear" (runtime-name: "module1.ear")  
> 09:11:43,268 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0207: Starting subdeployment (runtime-name: "ejb.jar")  
> 09:11:43,273 INFO  [org.jboss.as.jpa] (MSC service thread 1-1) WFLYJPA0002: Read persistence.xml for module1-pu  
> 09:11:43,289 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 63) WFLYJPA0010: Starting Persistence Unit (phase 1 of 2) Service 'module1.ear/ejb.jar#module1-pu'  
> 09:11:43,289 INFO  [org.hibernate.jpa.internal.util.LogHelper] (ServerService Thread Pool -- 63) HHH000204: Processing PersistenceUnitInfo [  
>   name: module1-pu  
>   ...]  
> 09:11:43,292 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 63) WFLYJPA0010: Starting Persistence Unit (phase 2 of 2) Service 'module1.ear/ejb.jar#module1-pu'  
> 09:11:43,293 INFO  [org.hibernate.dialect.Dialect] (ServerService Thread Pool -- 63) HHH000400: Using dialect: org.hibernate.dialect.H2Dialect  
> 09:11:43,293 WARN  [org.hibernate.dialect.H2Dialect] (ServerService Thread Pool -- 63) HHH000431: Unable to determine H2 database version, certain features may not work  
> 09:11:43,294 INFO  [org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory] (ServerService Thread Pool -- 63) HHH000397: Using ASTQueryTranslatorFactory  
> 09:11:43,296 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0070: Deployment restart detected for deployment module2.ear, performing full redeploy instead.  
> 09:11:43,296 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0070: Deployment restart detected for deployment ejb.jar, performing full redeploy instead.  
> 09:11:43,296 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0208: Stopped subdeployment (runtime-name: ejb.jar) in 0ms  
> 09:11:43,297 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0028: Stopped deployment module2.ear (runtime-name: module2.ear) in 1ms  
> 09:11:43,298 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0027: Starting deployment of "module2.ear" (runtime-name: "module2.ear")  
> 09:11:43,299 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) WFLYSRV0207: Starting subdeployment (runtime-name: "ejb.jar")  
> 09:11:43,300 INFO  [org.jboss.as.jpa] (MSC service thread 1-2) WFLYJPA0002: Read persistence.xml for module2-pu  
> 09:11:43,307 INFO  [org.jboss.as.jpa] (ServerService Thread Pool -- 63) WFLYJPA0010: Starting Persistence Unit (phase 1 of 2) Service 'module2.ear/ejb.jar#module2-pu'  
> 09:11:43,308 INFO  [org.hibernate.jpa.internal.util.LogHelper] (ServerService Thread Pool -- 63) HHH000204: Processing PersistenceUnitInfo [  
>   name: module2-pu  
>   ...]  
> 09:11:43,312 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.subunit."module2.ear"."ejb.jar".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.subunit."module2.ear"."ejb.jar".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of subdeployment "ejb.jar" of deployment "module2.ear"  
>   at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:163)  
>   at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)  
>   at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)  
>   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)  
>   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)  
>   at java.lang.Thread.run(Thread.java:745)  
> Caused by: java.lang.IllegalStateException: WFLYCTL0075: Duplicate resource module2.ear/ejb.jar#module2-pu  
>   at org.jboss.as.controller.registry.AbstractModelResource$DefaultResourceProvider.register(AbstractModelResource.java:248)  
>   at org.jboss.as.controller.registry.AbstractModelResource.registerChild(AbstractModelResource.java:143)  
>   at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.addManagementConsole(PersistenceUnitServiceHandler.java:1128)  
>   at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.deployPersistenceUnitPhaseTwo(PersistenceUnitServiceHandler.java:704)  
>   at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.addPuService(PersistenceUnitServiceHandler.java:289)  
>   at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.handleJarDeployment(PersistenceUnitServiceHandler.java:162)  
>   at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.deploy(PersistenceUnitServiceHandler.java:133)  
>   at org.jboss.as.jpa.processor.PersistenceCompleteInstallProcessor.deploy(PersistenceCompleteInstallProcessor.java:55)  
>   at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156)  
>   ... 5 more  
>   
>   
> 09:11:43,376 INFO  [org.jboss.as.server] (management-handler-thread - 2) WFLYSRV0010: Deployed "module1.ear" (runtime-name : "module1.ear")  
> 09:11:43,376 INFO  [org.jboss.as.controller] (management-handler-thread - 2) WFLYCTL0183: Service status report  
> WFLYCTL0184:    New missing/unsatisfied dependencies:  
>       service jboss.deployment.subunit."module2.ear"."ejb.jar" (unavailable) dependents: [service jboss.deployment.unit."module2.ear".PARSE]   
>       service jboss.deployment.subunit."module2.ear"."ejb.jar".STRUCTURE (unavailable) dependents: [service jboss.deployment.unit."module2.ear".PARSE]   
>       service jboss.deployment.subunit."module2.ear"."ejb.jar".deploymentCompleteService (missing) dependents: [service jboss.deployment.unit."module2.ear".deploymentCompleteService]   
> WFLYCTL0185:    Newly corrected services:  
>       service jboss.deployment.unit."module1.ear".deploymentCompleteService (new available)  
> WFLYCTL0186:   Services which failed to start:      service jboss.deployment.subunit."module2.ear"."ejb.jar".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.subunit."module2.ear"."ejb.jar".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of subdeployment "ejb.jar" of deployment "module2.ear"  
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)



More information about the jboss-jira mailing list