[Red Hat JIRA] (WFLY-14274) Validation Issues With jboss-ejb3.xml
by Patrick Buchheit (Jira)
Patrick Buchheit created WFLY-14274:
---------------------------------------
Summary: Validation Issues With jboss-ejb3.xml
Key: WFLY-14274
URL: https://issues.redhat.com/browse/WFLY-14274
Project: WildFly
Issue Type: Bug
Components: EJB
Affects Versions: 18.0.1.Final
Reporter: Patrick Buchheit
Assignee: Cheng Fang
When attempting to add a <s:security> section to the <assembly-descriptor> of jboss-ejb3.xml I get the following error:
{code:java}
Invalid element name: - security One of the following is expected: - security-role - method-permission - container-transaction - interceptor-binding - message-destination - exclude-list - application-exception - assembly-descriptor-entry Error indicated by: {urn:security:1.1} with code:{code}
I copied and pasted the exact text given in the example here: [https://docs.wildfly.org/18/Developer_Guide.html#jboss-ejb3] so I'm not quite sure what the issue is. I found several bugs that seemed to describe the same behaviour, but they were all marked as fixed. See: https://issues.redhat.com/browse/JBIDE-18316 and [https://bugzilla.redhat.com/show_bug.cgi?id=1302544] for examples.
Is there something wrong with the given documentation or is there still a bug in the schemas?
Environment:
Eclipse Photon (4.17)
Jboss Tools plugin
Wildfly 18.0.1 Final
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 3 months
[Red Hat JIRA] (WFLY-14273) Avoid need for unique names for resource-adapter child resources that provide statistics
by Brian Stansberry (Jira)
[ https://issues.redhat.com/browse/WFLY-14273?page=com.atlassian.jira.plugi... ]
Brian Stansberry reassigned WFLY-14273:
---------------------------------------
Assignee: Yeray Borges Santana (was: Tomasz Adamski)
> Avoid need for unique names for resource-adapter child resources that provide statistics
> ----------------------------------------------------------------------------------------
>
> Key: WFLY-14273
> URL: https://issues.redhat.com/browse/WFLY-14273
> Project: WildFly
> Issue Type: Bug
> Components: JCA, Management
> Reporter: Brian Stansberry
> Assignee: Yeray Borges Santana
> Priority: Minor
>
> *Note: This is not simple stuff, so it should only be tackled by people with significant management code expertise.*
> Say your configuration has multiple resource-adapter resources, e.g. "my.rar.1", "my.rar.2" etc. And say each of those has a connection-definition resource, each of which has pool-name 'MyConnectionDefinition'. That's a legitimate naming pattern. But because of the way the ManagementResourceRegistration for the RA statistics is registered, there is a race condition that can lead to intermittent failures at boot like the following:
> {code}
> 2021-01-06 10:43:40,113 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.resourceadapters.ra."my.rar".MyConnectionDefinition.STATISTICS: org.jboss.msc.service.StartException in service jboss.resourceadapters.ra."my.rar.1".MyConnectionDefinition.STATISTICS: Failed to start service
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
> at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalArgumentException: WFLYCTL0218: A node is already registered at '/subsystem=resource-adapters/resource-adapter=*/connection-definitions=MyConnectionDefinition/statistics=pool'
> at org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:106)
> at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:239)
> at org.jboss.as.connector.services.resourceadapters.statistics.ConnectionDefinitionStatisticsService.start(ConnectionDefinitionStatisticsService.java:126)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
> {code}
> I believe a similar thing could happen with 'admin-object' resources.
> Note that I considered WFCORE-5240 as the foundation for a solution for this, but it's not a valid foundation. There is no requirement that the MRR registered for different RA should provide the same statistics, so two registration attempts cannot assume that any existing MRR is the right one.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 3 months
[Red Hat JIRA] (WFLY-14273) Avoid need for unique names for resource-adapter child resources that provide statistics
by Brian Stansberry (Jira)
[ https://issues.redhat.com/browse/WFLY-14273?page=com.atlassian.jira.plugi... ]
Brian Stansberry updated WFLY-14273:
------------------------------------
Priority: Minor (was: Major)
> Avoid need for unique names for resource-adapter child resources that provide statistics
> ----------------------------------------------------------------------------------------
>
> Key: WFLY-14273
> URL: https://issues.redhat.com/browse/WFLY-14273
> Project: WildFly
> Issue Type: Bug
> Components: JCA, Management
> Reporter: Brian Stansberry
> Assignee: Tomasz Adamski
> Priority: Minor
>
> *Note: This is not simple stuff, so it should only be tackled by people with significant management code expertise.*
> Say your configuration has multiple resource-adapter resources, e.g. "my.rar.1", "my.rar.2" etc. And say each of those has a connection-definition resource, each of which has pool-name 'MyConnectionDefinition'. That's a legitimate naming pattern. But because of the way the ManagementResourceRegistration for the RA statistics is registered, there is a race condition that can lead to intermittent failures at boot like the following:
> {code}
> 2021-01-06 10:43:40,113 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.resourceadapters.ra."my.rar".MyConnectionDefinition.STATISTICS: org.jboss.msc.service.StartException in service jboss.resourceadapters.ra."my.rar.1".MyConnectionDefinition.STATISTICS: Failed to start service
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
> at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalArgumentException: WFLYCTL0218: A node is already registered at '/subsystem=resource-adapters/resource-adapter=*/connection-definitions=MyConnectionDefinition/statistics=pool'
> at org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:106)
> at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:239)
> at org.jboss.as.connector.services.resourceadapters.statistics.ConnectionDefinitionStatisticsService.start(ConnectionDefinitionStatisticsService.java:126)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
> {code}
> I believe a similar thing could happen with 'admin-object' resources.
> Note that I considered WFCORE-5240 as the foundation for a solution for this, but it's not a valid foundation. There is no requirement that the MRR registered for different RA should provide the same statistics, so two registration attempts cannot assume that any existing MRR is the right one.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 3 months
[Red Hat JIRA] (WFLY-14273) Avoid need for unique names for resource-adapter child resources that provide statistics
by Brian Stansberry (Jira)
[ https://issues.redhat.com/browse/WFLY-14273?page=com.atlassian.jira.plugi... ]
Brian Stansberry updated WFLY-14273:
------------------------------------
Issue Type: Bug (was: Enhancement)
> Avoid need for unique names for resource-adapter child resources that provide statistics
> ----------------------------------------------------------------------------------------
>
> Key: WFLY-14273
> URL: https://issues.redhat.com/browse/WFLY-14273
> Project: WildFly
> Issue Type: Bug
> Components: JCA, Management
> Reporter: Brian Stansberry
> Assignee: Tomasz Adamski
> Priority: Major
>
> *Note: This is not simple stuff, so it should only be tackled by people with significant management code expertise.*
> Say your configuration has multiple resource-adapter resources, e.g. "my.rar.1", "my.rar.2" etc. And say each of those has a connection-definition resource, each of which has pool-name 'MyConnectionDefinition'. That's a legitimate naming pattern. But because of the way the ManagementResourceRegistration for the RA statistics is registered, there is a race condition that can lead to intermittent failures at boot like the following:
> {code}
> 2021-01-06 10:43:40,113 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.resourceadapters.ra."my.rar".MyConnectionDefinition.STATISTICS: org.jboss.msc.service.StartException in service jboss.resourceadapters.ra."my.rar.1".MyConnectionDefinition.STATISTICS: Failed to start service
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
> at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalArgumentException: WFLYCTL0218: A node is already registered at '/subsystem=resource-adapters/resource-adapter=*/connection-definitions=MyConnectionDefinition/statistics=pool'
> at org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:106)
> at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:239)
> at org.jboss.as.connector.services.resourceadapters.statistics.ConnectionDefinitionStatisticsService.start(ConnectionDefinitionStatisticsService.java:126)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
> {code}
> I believe a similar thing could happen with 'admin-object' resources.
> Note that I considered WFCORE-5240 as the foundation for a solution for this, but it's not a valid foundation. There is no requirement that the MRR registered for different RA should provide the same statistics, so two registration attempts cannot assume that any existing MRR is the right one.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 3 months
[Red Hat JIRA] (WFLY-14273) Avoid need for unique names for resource-adapter child resources that provide statistics
by Brian Stansberry (Jira)
[ https://issues.redhat.com/browse/WFLY-14273?page=com.atlassian.jira.plugi... ]
Brian Stansberry updated WFLY-14273:
------------------------------------
Description:
*Note: This is not simple stuff, so it should only be tackled by people with significant management code expertise.*
Say your configuration has multiple resource-adapter resources, e.g. "my.rar.1", "my.rar.2" etc. And say each of those has a connection-definition resource, each of which has pool-name 'MyConnectionDefinition'. That's a legitimate naming pattern. But because of the way the ManagementResourceRegistration for the RA statistics is registered, there is a race condition that can lead to intermittent failures at boot like the following:
{code}
2021-01-06 10:43:40,113 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.resourceadapters.ra."my.rar".MyConnectionDefinition.STATISTICS: org.jboss.msc.service.StartException in service jboss.resourceadapters.ra."my.rar.1".MyConnectionDefinition.STATISTICS: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: WFLYCTL0218: A node is already registered at '/subsystem=resource-adapters/resource-adapter=*/connection-definitions=MyConnectionDefinition/statistics=pool'
at org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:106)
at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:239)
at org.jboss.as.connector.services.resourceadapters.statistics.ConnectionDefinitionStatisticsService.start(ConnectionDefinitionStatisticsService.java:126)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
{code}
I believe a similar thing could happen with 'admin-object' resources.
Note that I considered WFCORE-5240 as the foundation for a solution for this, but it's not a valid foundation. There is no requirement that the MRR registered for different RA should provide the same statistics, so two registration attempts cannot assume that any existing MRR is the right one.
was:
Say your configuration has multiple resource-adapter resources, e.g. "my.rar.1", "my.rar.2" etc. And say each of those has a connection-definition resource, each of which has pool-name 'MyConnectionDefinition'. That's a legitimate naming pattern. But because of the way the ManagementResourceRegistration for the RA statistics is registered, there is a race condition that can lead to intermittent failures at boot like the following:
{code}
2021-01-06 10:43:40,113 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.resourceadapters.ra."my.rar".MyConnectionDefinition.STATISTICS: org.jboss.msc.service.StartException in service jboss.resourceadapters.ra."my.rar.1".MyConnectionDefinition.STATISTICS: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: WFLYCTL0218: A node is already registered at '/subsystem=resource-adapters/resource-adapter=*/connection-definitions=MyConnectionDefinition/statistics=pool'
at org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:106)
at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:239)
at org.jboss.as.connector.services.resourceadapters.statistics.ConnectionDefinitionStatisticsService.start(ConnectionDefinitionStatisticsService.java:126)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
{code}
I believe a similar thing could happen with 'admin-object' resources.
Note that I considered WFCORE-5240 as the foundation for a solution for this, but it's not a valid foundation. There is no requirement that the MRR registered for different RA should provide the same statistics, so two registration attempts cannot assume that any existing MRR is the right one.
> Avoid need for unique names for resource-adapter child resources that provide statistics
> ----------------------------------------------------------------------------------------
>
> Key: WFLY-14273
> URL: https://issues.redhat.com/browse/WFLY-14273
> Project: WildFly
> Issue Type: Enhancement
> Components: JCA, Management
> Reporter: Brian Stansberry
> Assignee: Tomasz Adamski
> Priority: Major
>
> *Note: This is not simple stuff, so it should only be tackled by people with significant management code expertise.*
> Say your configuration has multiple resource-adapter resources, e.g. "my.rar.1", "my.rar.2" etc. And say each of those has a connection-definition resource, each of which has pool-name 'MyConnectionDefinition'. That's a legitimate naming pattern. But because of the way the ManagementResourceRegistration for the RA statistics is registered, there is a race condition that can lead to intermittent failures at boot like the following:
> {code}
> 2021-01-06 10:43:40,113 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.resourceadapters.ra."my.rar".MyConnectionDefinition.STATISTICS: org.jboss.msc.service.StartException in service jboss.resourceadapters.ra."my.rar.1".MyConnectionDefinition.STATISTICS: Failed to start service
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
> at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalArgumentException: WFLYCTL0218: A node is already registered at '/subsystem=resource-adapters/resource-adapter=*/connection-definitions=MyConnectionDefinition/statistics=pool'
> at org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:106)
> at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:239)
> at org.jboss.as.connector.services.resourceadapters.statistics.ConnectionDefinitionStatisticsService.start(ConnectionDefinitionStatisticsService.java:126)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
> {code}
> I believe a similar thing could happen with 'admin-object' resources.
> Note that I considered WFCORE-5240 as the foundation for a solution for this, but it's not a valid foundation. There is no requirement that the MRR registered for different RA should provide the same statistics, so two registration attempts cannot assume that any existing MRR is the right one.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 3 months
[Red Hat JIRA] (WFLY-14273) Avoid need for unique names for resource-adapter child resources that provide statistics
by Brian Stansberry (Jira)
[ https://issues.redhat.com/browse/WFLY-14273?page=com.atlassian.jira.plugi... ]
Brian Stansberry updated WFLY-14273:
------------------------------------
Description:
Say your configuration has multiple resource-adapter resources, e.g. "my.rar.1", "my.rar.2" etc. And say each of those has a connection-definition resource, each of which has pool-name 'MyConnectionDefinition'. That's a legitimate naming pattern. But because of the way the ManagementResourceRegistration for the RA statistics is registered, there is a race condition that can lead to intermittent failures at boot like the following:
{code}
2021-01-06 10:43:40,113 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.resourceadapters.ra."my.rar".MyConnectionDefinition.STATISTICS: org.jboss.msc.service.StartException in service jboss.resourceadapters.ra."my.rar.1".MyConnectionDefinition.STATISTICS: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: WFLYCTL0218: A node is already registered at '/subsystem=resource-adapters/resource-adapter=*/connection-definitions=MyConnectionDefinition/statistics=pool'
at org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:106)
at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:239)
at org.jboss.as.connector.services.resourceadapters.statistics.ConnectionDefinitionStatisticsService.start(ConnectionDefinitionStatisticsService.java:126)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
{code}
I believe a similar thing could happen with 'admin-object' resources.
Note that I considered WFCORE-5240 as the foundation for a solution for this, but it's not a valid foundation. There is no requirement that the MRR registered for different RA should provide the same statistics, so two registration attempts cannot assume that any existing MRR is the right one.
was:
Say your configuration has multiple resource-adapter resources, e.g. "my.rar.1", "my.rar.2" etc. And say each of those has a connection-definition resource, each of which has pool-name 'MyConnectionDefinition'. That's a legitimate naming pattern. But because of the way the ManagementResourceRegistration for the RA statistics is registered, there is a race condition that can lead to intermittent failures at boot like the following:
{code}
2021-01-06 10:43:40,113 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.resourceadapters.ra."my.rar".MyConnectionDefinition.STATISTICS: org.jboss.msc.service.StartException in service jboss.resourceadapters.ra."my.rar.1".MyConnectionDefinition.STATISTICS: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: WFLYCTL0218: A node is already registered at '/subsystem=resource-adapters/resource-adapter=*/connection-definitions=MyConnectionDefinition/statistics=pool'
at org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:106)
at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:239)
at org.jboss.as.connector.services.resourceadapters.statistics.ConnectionDefinitionStatisticsService.start(ConnectionDefinitionStatisticsService.java:126)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
{code}
I believe a similar thing could happen with 'admin-object' resources.
> Avoid need for unique names for resource-adapter child resources that provide statistics
> ----------------------------------------------------------------------------------------
>
> Key: WFLY-14273
> URL: https://issues.redhat.com/browse/WFLY-14273
> Project: WildFly
> Issue Type: Enhancement
> Components: JCA, Management
> Reporter: Brian Stansberry
> Assignee: Tomasz Adamski
> Priority: Major
>
> Say your configuration has multiple resource-adapter resources, e.g. "my.rar.1", "my.rar.2" etc. And say each of those has a connection-definition resource, each of which has pool-name 'MyConnectionDefinition'. That's a legitimate naming pattern. But because of the way the ManagementResourceRegistration for the RA statistics is registered, there is a race condition that can lead to intermittent failures at boot like the following:
> {code}
> 2021-01-06 10:43:40,113 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.resourceadapters.ra."my.rar".MyConnectionDefinition.STATISTICS: org.jboss.msc.service.StartException in service jboss.resourceadapters.ra."my.rar.1".MyConnectionDefinition.STATISTICS: Failed to start service
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
> at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalArgumentException: WFLYCTL0218: A node is already registered at '/subsystem=resource-adapters/resource-adapter=*/connection-definitions=MyConnectionDefinition/statistics=pool'
> at org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:106)
> at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:239)
> at org.jboss.as.connector.services.resourceadapters.statistics.ConnectionDefinitionStatisticsService.start(ConnectionDefinitionStatisticsService.java:126)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
> {code}
> I believe a similar thing could happen with 'admin-object' resources.
> Note that I considered WFCORE-5240 as the foundation for a solution for this, but it's not a valid foundation. There is no requirement that the MRR registered for different RA should provide the same statistics, so two registration attempts cannot assume that any existing MRR is the right one.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 3 months
[Red Hat JIRA] (WFLY-14273) Avoid need for unique names for resource-adapter child resources that provide statistics
by Brian Stansberry (Jira)
[ https://issues.redhat.com/browse/WFLY-14273?page=com.atlassian.jira.plugi... ]
Brian Stansberry commented on WFLY-14273:
-----------------------------------------
This is not trivial stuff, so it should only be tackled by people with significant management code expertise.
A possible solution is for RaAdd to add an override ManagementResourceRegistration at the /subsytem=resource=adapters/resource-adapter level, and then the override MRR for the statistics would be for /subsytem=resource=adapters/resource-adapter=my.rar.1/connection-definition=MyConnectionDefinition/statistics=pool.
RaRemove would need to remove that override.
> Avoid need for unique names for resource-adapter child resources that provide statistics
> ----------------------------------------------------------------------------------------
>
> Key: WFLY-14273
> URL: https://issues.redhat.com/browse/WFLY-14273
> Project: WildFly
> Issue Type: Enhancement
> Components: JCA, Management
> Reporter: Brian Stansberry
> Assignee: Tomasz Adamski
> Priority: Major
>
> Say your configuration has multiple resource-adapter resources, e.g. "my.rar.1", "my.rar.2" etc. And say each of those has a connection-definition resource, each of which has pool-name 'MyConnectionDefinition'. That's a legitimate naming pattern. But because of the way the ManagementResourceRegistration for the RA statistics is registered, there is a race condition that can lead to intermittent failures at boot like the following:
> {code}
> 2021-01-06 10:43:40,113 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.resourceadapters.ra."my.rar".MyConnectionDefinition.STATISTICS: org.jboss.msc.service.StartException in service jboss.resourceadapters.ra."my.rar.1".MyConnectionDefinition.STATISTICS: Failed to start service
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
> at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalArgumentException: WFLYCTL0218: A node is already registered at '/subsystem=resource-adapters/resource-adapter=*/connection-definitions=MyConnectionDefinition/statistics=pool'
> at org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:106)
> at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:239)
> at org.jboss.as.connector.services.resourceadapters.statistics.ConnectionDefinitionStatisticsService.start(ConnectionDefinitionStatisticsService.java:126)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
> {code}
> I believe a similar thing could happen with 'admin-object' resources.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 3 months
[Red Hat JIRA] (WFLY-14273) Avoid need for unique names for resource-adapter child resources that provide statistics
by Brian Stansberry (Jira)
[ https://issues.redhat.com/browse/WFLY-14273?page=com.atlassian.jira.plugi... ]
Brian Stansberry commented on WFLY-14273:
-----------------------------------------
A workaround is to use unique pool-name values globally across the resource-adapter resources.
> Avoid need for unique names for resource-adapter child resources that provide statistics
> ----------------------------------------------------------------------------------------
>
> Key: WFLY-14273
> URL: https://issues.redhat.com/browse/WFLY-14273
> Project: WildFly
> Issue Type: Enhancement
> Components: JCA, Management
> Reporter: Brian Stansberry
> Assignee: Tomasz Adamski
> Priority: Major
>
> Say your configuration has multiple resource-adapter resources, e.g. "my.rar.1", "my.rar.2" etc. And say each of those has a connection-definition resource, each of which has pool-name 'MyConnectionDefinition'. That's a legitimate naming pattern. But because of the way the ManagementResourceRegistration for the RA statistics is registered, there is a race condition that can lead to intermittent failures at boot like the following:
> {code}
> 2021-01-06 10:43:40,113 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.resourceadapters.ra."my.rar".MyConnectionDefinition.STATISTICS: org.jboss.msc.service.StartException in service jboss.resourceadapters.ra."my.rar.1".MyConnectionDefinition.STATISTICS: Failed to start service
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
> at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
> at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalArgumentException: WFLYCTL0218: A node is already registered at '/subsystem=resource-adapters/resource-adapter=*/connection-definitions=MyConnectionDefinition/statistics=pool'
> at org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:106)
> at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:239)
> at org.jboss.as.connector.services.resourceadapters.statistics.ConnectionDefinitionStatisticsService.start(ConnectionDefinitionStatisticsService.java:126)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
> at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
> {code}
> I believe a similar thing could happen with 'admin-object' resources.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 3 months
[Red Hat JIRA] (WFLY-14273) Avoid need for unique names for resource-adapter child resources that provide statistics
by Brian Stansberry (Jira)
Brian Stansberry created WFLY-14273:
---------------------------------------
Summary: Avoid need for unique names for resource-adapter child resources that provide statistics
Key: WFLY-14273
URL: https://issues.redhat.com/browse/WFLY-14273
Project: WildFly
Issue Type: Enhancement
Components: JCA, Management
Reporter: Brian Stansberry
Assignee: Tomasz Adamski
Say your configuration has multiple resource-adapter resources, e.g. "my.rar.1", "my.rar.2" etc. And say each of those has a connection-definition resource, each of which has pool-name 'MyConnectionDefinition'. That's a legitimate naming pattern. But because of the way the ManagementResourceRegistration for the RA statistics is registered, there is a race condition that can lead to intermittent failures at boot like the following:
{code}
2021-01-06 10:43:40,113 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.resourceadapters.ra."my.rar".MyConnectionDefinition.STATISTICS: org.jboss.msc.service.StartException in service jboss.resourceadapters.ra."my.rar.1".MyConnectionDefinition.STATISTICS: Failed to start service
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1731)
at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.IllegalArgumentException: WFLYCTL0218: A node is already registered at '/subsystem=resource-adapters/resource-adapter=*/connection-definitions=MyConnectionDefinition/statistics=pool'
at org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:106)
at org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:239)
at org.jboss.as.connector.services.resourceadapters.statistics.ConnectionDefinitionStatisticsService.start(ConnectionDefinitionStatisticsService.java:126)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
{code}
I believe a similar thing could happen with 'admin-object' resources.
--
This message was sent by Atlassian Jira
(v8.13.1#813001)
5 years, 3 months