[
https://issues.jboss.org/browse/WFLY-4908?page=com.atlassian.jira.plugin....
]
Jason Holmberg commented on WFLY-4908:
--------------------------------------
I've cloned
https://github.com/jfelix-mgn/wildfly-issue and tested it against the
build based on
https://github.com/scottmarlow/wildfly/tree/WFLY-4908_cleanupmanagementco... and it has
some interesting results.
# Undeploying module1 does produce the expected result, in that it brakes module2 because
of the dependency.
# Redeploying module1 does produce the logging [~smarlow] cited in this
[
https://issues.jboss.org/browse/WFLY-4908?focusedCommentId=13125152&p...]
comment.
# When view the deployments in the console the are still enabled and seems valid, at least
according to the console.
# If I look at the console after un-deploying module1, but *before* redeploying, then the
console complains and logs an exception, see below. Not really sure it helps in this
case.
{noformat}
=-=-=-> Exception produced when trying to view the deployments in the Console after
undeploying module1.ear
18:01:41,298 ERROR [org.jboss.as.controller.management-operation] (XNIO-1 task-1)
WFLYCTL0013: Operation ("read-attribute") failed - address: ([
("deployment" => "module2.ear"),
("subdeployment" => "ejb.jar"),
("subsystem" => "jpa"),
("hibernate-persistence-unit" =>
"module2.ear/ejb.jar#module2-pu")
]): java.lang.IllegalStateException: WFLYJPA0068: Persistence unit
'module2.ear/ejb.jar#module2-pu' is not available
at
org.jboss.as.jpa.management.EntityManagerFactoryLookup.entityManagerFactory(EntityManagerFactoryLookup.java:43)
at
org.jboss.as.jpa.hibernate5.management.HibernateAbstractStatistics.getEntityManagerFactory(HibernateAbstractStatistics.java:66)
at
org.jboss.as.jpa.hibernate5.management.HibernateStatistics$16.invoke(HibernateStatistics.java:359)
at
org.jboss.as.jpa.hibernate5.management.HibernateAbstractStatistics.getValue(HibernateAbstractStatistics.java:99)
at
org.jboss.as.jpa.management.ManagementResourceDefinition$1.handle(ManagementResourceDefinition.java:130)
at
org.jboss.as.jpa.management.ManagementResourceDefinition$AbstractMetricsHandler.executeRuntimeStep(ManagementResourceDefinition.java:268)
at
org.jboss.as.controller.AbstractRuntimeOnlyHandler$1.execute(AbstractRuntimeOnlyHandler.java:53)
at
org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:890)
at
org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:659)
at
org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:370)
at
org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1344)
at
org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:392)
at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:217)
at
org.jboss.as.domain.http.server.DomainApiHandler.handleRequest(DomainApiHandler.java:212)
at
io.undertow.server.handlers.encoding.EncodingHandler.handleRequest(EncodingHandler.java:72)
at
org.jboss.as.domain.http.server.security.SubjectDoAsHandler$1.run(SubjectDoAsHandler.java:72)
at
org.jboss.as.domain.http.server.security.SubjectDoAsHandler$1.run(SubjectDoAsHandler.java:68)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:92)
at
org.jboss.as.domain.http.server.security.SubjectDoAsHandler.handleRequest(SubjectDoAsHandler.java:68)
at
org.jboss.as.domain.http.server.security.SubjectDoAsHandler.handleRequest(SubjectDoAsHandler.java:63)
at io.undertow.server.handlers.BlockingHandler.handleRequest(BlockingHandler.java:56)
at
org.jboss.as.domain.http.server.DomainApiCheckHandler.handleRequest(DomainApiCheckHandler.java:95)
at
io.undertow.security.handlers.AuthenticationCallHandler.handleRequest(AuthenticationCallHandler.java:52)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793)
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)
{noformat}
I think it is worth noting that WildFly does seem to redeploying both EARs when module1 is
re-deployed despite what the logging says.
It seems to me that module2 breaking upon module1 un-deployment should be expected,
because of the dependency. Also, it does not seem that unreasonable to me that
redeployment might not result in every dependent module deploying cleanly. I kind of this
undeploying a module that other modules depend on is a mistake and only should be done
under controlled circumstances. That's my $0.02. This is different, in my opinion,
from the hot-deploy scenario, which does seem to be fixed in this branch.
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)