[JBoss JIRA] (WFCORE-3999) Allow registering a custom HTTP handler for management interface
by Jeff Mesnil (JIRA)
[ https://issues.jboss.org/browse/WFCORE-3999?page=com.atlassian.jira.plugi... ]
Jeff Mesnil updated WFCORE-3999:
--------------------------------
Description:
With WFCORE-1742, it is possible to add "resources" to the HTTP management interface through the ExtensibleHttpManagement interface.
However this requires to provide a io.undertow.server.handlers.resource.ResourceManager object that represents the resource. This interface is meant to represent static resources (such as file) and does not map well to exposing a "REST" kind of API.
It requires to provide cache metadata (etag, cache) that may not be relevant for a HTTP API.
It also automatically enables redirection (e.g. / to /index.html) without possibility to disable it.
For some HTTP API such as the one required by MicroProfile Health Check (a GET on /management/health), it would be better to be able to pass a io.undertow.server.HttpHandler instead of a io.undertow.server.handlers.resource.ResourceManager to have more flexibility/simplicity to provide management HTTP API.
One of the concern when WFCORE-1742 was created was that this API exposes Undertow API. This is already the case with ResourceManager and this RFE would only add exposition to the io.undertow.server.HttpHandler interface (in particular, the HttpServerExchange API is already exposed by the ResourceManager).
Proposed API:
in org.jboss.as.server.mgmt.domain.ExtensibleHttpManagement
{code}
/**
* Add a context for a HTTP management handler.
* @param contextName the name of the context. Cannot be {@code null} or empty
* @param managementHandler HTTP management handler. Cannot be {@code null}
*
* @throws IllegalArgumentException if either parameter is invalid
* @throws IllegalStateException if there is already a context present named the same as {@code contextName}, either
* added via this interface or otherwise
*/
void addManagementHandler(String contextName, HttpHandler managementHandler);
{code}
(this is in addition to the existing addStaticContext(String contextName, ResourceManager resourceManager)).
There is no need to add a corresponding remove method as the existing one removeContext(String contextName) can be used.
was:
With WFCORE-1742, it is possible to add "resources" to the HTTP management interface through the ExtensibleHttpManagement interface.
However this requires to provide a io.undertow.server.handlers.resource.ResourceManager object that represents the resource. This interface is meant to represent static resources (such as file) and does not map well to exposing a "REST" kind of API.
It does not allow to distinguish between HTTP verbs (GET, POST, DELETE) or inspect HTTP header.
It requires to provide cache metadata (etag, cache) that may not be relevant for a HTTP API.
It also automatically enables redirection (e.g. / to /index.html) without possibility to disable it.
For some HTTP API such as the one required by MicroProfile Health Check (a GET on /management/health), it would be better to be able to pass a io.undertow.server.HttpHandler instead of a io.undertow.server.handlers.resource.ResourceManager to have more flexibility/simplicity to provide management HTTP API.
One of the concern when WFCORE-1742 was created was that this API exposes Undertow API. This is already the case with ResourceManager and this RFE would add another such exposition to io.undertow.server.HttpHandler.
Proposed API:
in org.jboss.as.server.mgmt.domain.ExtensibleHttpManagement
{code}
/**
* Add a context for a HTTP management handler.
* @param contextName the name of the context. Cannot be {@code null} or empty
* @param managementHandler HTTP management handler. Cannot be {@code null}
*
* @throws IllegalArgumentException if either parameter is invalid
* @throws IllegalStateException if there is already a context present named the same as {@code contextName}, either
* added via this interface or otherwise
*/
void addManagementHandler(String contextName, HttpHandler managementHandler);
{code}
(this is in addition to the existing addStaticContext(String contextName, ResourceManager resourceManager)).
There is no need to add a corresponding remove method as the existing one removeContext(String contextName) can be used.
> Allow registering a custom HTTP handler for management interface
> ----------------------------------------------------------------
>
> Key: WFCORE-3999
> URL: https://issues.jboss.org/browse/WFCORE-3999
> Project: WildFly Core
> Issue Type: Feature Request
> Components: Management
> Reporter: Jeff Mesnil
> Assignee: Jeff Mesnil
>
> With WFCORE-1742, it is possible to add "resources" to the HTTP management interface through the ExtensibleHttpManagement interface.
> However this requires to provide a io.undertow.server.handlers.resource.ResourceManager object that represents the resource. This interface is meant to represent static resources (such as file) and does not map well to exposing a "REST" kind of API.
> It requires to provide cache metadata (etag, cache) that may not be relevant for a HTTP API.
> It also automatically enables redirection (e.g. / to /index.html) without possibility to disable it.
> For some HTTP API such as the one required by MicroProfile Health Check (a GET on /management/health), it would be better to be able to pass a io.undertow.server.HttpHandler instead of a io.undertow.server.handlers.resource.ResourceManager to have more flexibility/simplicity to provide management HTTP API.
> One of the concern when WFCORE-1742 was created was that this API exposes Undertow API. This is already the case with ResourceManager and this RFE would only add exposition to the io.undertow.server.HttpHandler interface (in particular, the HttpServerExchange API is already exposed by the ResourceManager).
> Proposed API:
> in org.jboss.as.server.mgmt.domain.ExtensibleHttpManagement
> {code}
> /**
> * Add a context for a HTTP management handler.
> * @param contextName the name of the context. Cannot be {@code null} or empty
> * @param managementHandler HTTP management handler. Cannot be {@code null}
> *
> * @throws IllegalArgumentException if either parameter is invalid
> * @throws IllegalStateException if there is already a context present named the same as {@code contextName}, either
> * added via this interface or otherwise
> */
> void addManagementHandler(String contextName, HttpHandler managementHandler);
> {code}
> (this is in addition to the existing addStaticContext(String contextName, ResourceManager resourceManager)).
> There is no need to add a corresponding remove method as the existing one removeContext(String contextName) can be used.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 11 months
[JBoss JIRA] (WFCORE-4004) Allow registering a custom HTTP handler for management interface
by Jeff Mesnil (JIRA)
Jeff Mesnil created WFCORE-4004:
-----------------------------------
Summary: Allow registering a custom HTTP handler for management interface
Key: WFCORE-4004
URL: https://issues.jboss.org/browse/WFCORE-4004
Project: WildFly Core
Issue Type: Feature Request
Components: Management
Reporter: Jeff Mesnil
Assignee: Jeff Mesnil
With WFCORE-1742, it is possible to add "resources" to the HTTP management interface through the ExtensibleHttpManagement interface.
However this requires to provide a io.undertow.server.handlers.resource.ResourceManager object that represents the resource. This interface is meant to represent static resources (such as file) and does not map well to exposing a "REST" kind of API.
It requires to provide cache metadata (etag, cache) that may not be relevant for a HTTP API.
It also automatically enables redirection (e.g. / to /index.html) without possibility to disable it.
For some HTTP API such as the one required by MicroProfile Health Check (a GET on /management/health), it would be better to be able to pass a io.undertow.server.HttpHandler instead of a io.undertow.server.handlers.resource.ResourceManager to have more flexibility/simplicity to provide management HTTP API.
One of the concern when WFCORE-1742 was created was that this API exposes Undertow API. This is already the case with ResourceManager and this RFE would only add exposition to the io.undertow.server.HttpHandler interface (in particular, the HttpServerExchange API is already exposed by the ResourceManager).
Proposed API:
in org.jboss.as.server.mgmt.domain.ExtensibleHttpManagement
{code}
/**
* Add a context for a HTTP management handler.
* @param contextName the name of the context. Cannot be {@code null} or empty
* @param managementHandler HTTP management handler. Cannot be {@code null}
*
* @throws IllegalArgumentException if either parameter is invalid
* @throws IllegalStateException if there is already a context present named the same as {@code contextName}, either
* added via this interface or otherwise
*/
void addManagementHandler(String contextName, HttpHandler managementHandler);
{code}
(this is in addition to the existing addStaticContext(String contextName, ResourceManager resourceManager)).
There is no need to add a corresponding remove method as the existing one removeContext(String contextName) can be used.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 11 months
[JBoss JIRA] (WFWIP-83) [Artemis 2.x upgrade] javax.jms.InvalidClientIDException: clientID=cts was already set into another connection
by Miroslav Novak (JIRA)
[ https://issues.jboss.org/browse/WFWIP-83?page=com.atlassian.jira.plugin.s... ]
Miroslav Novak commented on WFWIP-83:
-------------------------------------
Hi Howard, you need to run it from $JBOSS_HOME/bin directory.
> [Artemis 2.x upgrade] javax.jms.InvalidClientIDException: clientID=cts was already set into another connection
> --------------------------------------------------------------------------------------------------------------
>
> Key: WFWIP-83
> URL: https://issues.jboss.org/browse/WFWIP-83
> Project: WildFly WIP
> Issue Type: Bug
> Components: Artemis, JMS
> Reporter: Miroslav Novak
> Assignee: Martyn Taylor
> Priority: Blocker
> Labels: activemq, feature-branch-blocker
>
> There is regression TCK 7 when running WF/EAP with Artemis 2.x resource adapter against AMQ 7.2.0.GA. WF/EAP with Artemis 2.x is last build from [2018-08-06]:
> https://mw-messaging-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/view/EAP-...
> There are approximately 200 failures with exception:
> {code}
> [javatest.batch] ESC[0mESC[0m09:55:10,602 INFO [stdout] (Thread-68) 08-03-2018 09:55:10: SVR-ERROR: javax.jms.InvalidClientIDException: clientID=cts was already set into another connection
> [javatest.batch] ESC[0mESC[0m09:55:10,602 INFO [stdout] (Thread-68) at org.apache.activemq.artemis.jms.client.ActiveMQConnection.validateClientID(ActiveMQConnection.java:266)
> [javatest.batch] ESC[0mESC[0m09:55:10,602 INFO [stdout] (Thread-68) at org.apache.activemq.artemis.jms.client.ActiveMQConnection.authorize(ActiveMQConnection.java:681)
> [javatest.batch] ESC[0mESC[0m09:55:10,603 INFO [stdout] (Thread-68) at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:849)
> [javatest.batch] ESC[0mESC[0m09:55:10,603 INFO [stdout] (Thread-68) at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createXATopicConnection(ActiveMQConnectionFactory.java:387)
> [javatest.batch] ESC[0mESC[0m09:55:10,603 INFO [stdout] (Thread-68) at org.apache.activemq.artemis.ra.ActiveMQRAManagedConnection.setup(ActiveMQRAManagedConnection.java:745)
> [javatest.batch] ESC[0mESC[0m09:55:10,604 INFO [stdout] (Thread-68) at org.apache.activemq.artemis.ra.ActiveMQRAManagedConnection.<init>(ActiveMQRAManagedConnection.java:161)
> [javatest.batch] ESC[0mESC[0m09:55:10,604 INFO [stdout] (Thread-68) at org.apache.activemq.artemis.ra.ActiveMQRAManagedConnectionFactory.createManagedConnection(ActiveMQRAManagedConnectionFactory.java:151)
> [javatest.batch] ESC[0mESC[0m09:55:10,604 INFO [stdout] (Thread-68) at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.createConnectionEventListener(Semaphor
> eConcurrentLinkedDequeManagedConnectionPool.java:1326)
> [javatest.batch] ESC[0mESC[0m09:55:10,605 INFO [stdout] (Thread-68) at org.jboss.jca.core.connectionmanager.pool.mcp.SemaphoreConcurrentLinkedDequeManagedConnectionPool.getConnection(SemaphoreConcurrentLinke
> dDequeManagedConnectionPool.java:499)
> [javatest.batch] ESC[0mESC[0m09:55:10,605 INFO [stdout] (Thread-68) at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getSimpleConnection(AbstractPool.java:632)
> [javatest.batch] ESC[0mESC[0m09:55:10,605 INFO [stdout] (Thread-68) at org.jboss.jca.core.connectionmanager.pool.AbstractPool.getConnection(AbstractPool.java:604)
> [javatest.batch] ESC[0mESC[0m09:55:10,606 INFO [stdout] (Thread-68) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.getManagedConnection(AbstractConnectionManager.java:624)
> [javatest.batch] ESC[0mESC[0m09:55:10,610 INFO [stdout] (Thread-68) at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:430)
> [javatest.batch] ESC[0mESC[0m09:55:10,610 INFO [stdout] (Thread-68) at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:789)
> [javatest.batch] ESC[0mESC[0m09:55:10,610 INFO [stdout] (Thread-68) at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.allocateConnection(ActiveMQRASessionFactoryImpl.java:872)
> [javatest.batch] ESC[0mESC[0m09:55:10,611 INFO [stdout] (Thread-68) at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:531)
> [javatest.batch] ESC[0mESC[0m09:55:10,611 INFO [stdout] (Thread-68) at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:746)
> [javatest.batch] ESC[0mESC[0m09:55:10,611 INFO [stdout] (Thread-68) at org.apache.activemq.artemis.ra.ActiveMQRASessionFactoryImpl.createSession(ActiveMQRASessionFactoryImpl.java:751)
> [javatest.batch] ESC[0mESC[0m09:55:10,612 INFO [stdout] (Thread-68) at org.apache.activemq.artemis.ra.ActiveMQRAConnectionFactoryImpl.validateUser(ActiveMQRAConnectionFactoryImpl.java:475)
> [javatest.batch] ESC[0mESC[0m09:55:10,612 INFO [stdout] (Thread-68) at org.apache.activemq.artemis.ra.ActiveMQRAConnectionFactoryImpl.createTopicConnection(ActiveMQRAConnectionFactoryImpl.java:217)
> [javatest.batch] ESC[0mESC[0m09:55:10,612 INFO [stdout] (Thread-68) at com.sun.ts.tests.jms.ee.ejbweb.xa.TransactionTests.testInitForT(TransactionTests.java:354)
> [javatest.batch] ESC[0mESC[0m09:55:10,613 INFO [stdout] (Thread-68) at com.sun.ts.tests.jms.ee.ejbweb.xa.TransactionTests.Test06(TransactionTests.java:634)
> [javatest.batch] ESC[0mESC[0m09:55:10,613 INFO [stdout] (Thread-68) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [javatest.batch] ESC[0mESC[0m09:55:10,613 INFO [stdout] (Thread-68) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> [javatest.batch] ESC[0mESC[0m09:55:10,613 INFO [stdout] (Thread-68) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [javatest.batch] ESC[0mESC[0m09:55:10,614 INFO [stdout] (Thread-68) at java.lang.reflect.Method.invoke(Method.java:498)
> [javatest.batch] ESC[0mESC[0m09:55:10,614 INFO [stdout] (Thread-68) at com.sun.ts.lib.harness.EETest.run(EETest.java:550)
> [javatest.batch] ESC[0mESC[0m09:55:10,614 INFO [stdout] (Thread-68) at com.sun.ts.lib.harness.ServiceEETest.run(ServiceEETest.java:113)
> [javatest.batch] ESC[0mESC[0m09:55:10,614 INFO [stdout] (Thread-68) at com.sun.ts.tests.common.vehicle.ejb.EJBVehicle.runTest(EJBVehicle.java:70)
> {code}
> Note that TCK 7 is passing when trying with current Wildfly master (Artemis 1.5.5.012).
> Link to TCK 7 job:
> https://eap-qe-jenkins.rhev-ci-vms.eng.rdu2.redhat.com/job/eap-7.x-third-...
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 11 months
[JBoss JIRA] (WFLY-10474) AMQ119012: Timed out waiting to receive initial broadcast from cluster
by Radoslav Husar (JIRA)
[ https://issues.jboss.org/browse/WFLY-10474?page=com.atlassian.jira.plugin... ]
Radoslav Husar commented on WFLY-10474:
---------------------------------------
[~eduda] All the links result in a 404. Looks like the runs were not set to be kept?
> AMQ119012: Timed out waiting to receive initial broadcast from cluster
> ----------------------------------------------------------------------
>
> Key: WFLY-10474
> URL: https://issues.jboss.org/browse/WFLY-10474
> Project: WildFly
> Issue Type: Bug
> Components: JMS
> Affects Versions: 13.0.0.Beta1
> Reporter: Erich Duda
> Assignee: Jeff Mesnil
> Priority: Blocker
> Labels: blocker-WF14
>
> In messaging HA scenarios we see that tests sometimes fail because of exception \[1\]. The exception is thrown from {{ServerLocatorImpl::createSessionFactory}} which waits until initial broadcast from cluster is received, but it is not received in 10 seconds timeout. In following scenario the issue causes split brain - both live and backup are active at the same time.
> *Scenario*
> * There are two Wildfly/Artemis servers configured as Live-Backup pair
> * Live server is killed
> * Backup server becomes new Live server
> * Live server is restarted and failback is performed
> *Expectation:* Failback performs successfully. Original Live becomes Live again and original Backup becomes Backup again.
> *Reality:* After the Live is restarted, it does not detect that there is already another active Live with the same nodeId and it activates (becomes Live) so both Live and Backup are active at the same time.
> *Technical details*
> I found out that original Live server does not detect that its Backup is active, because SharedNothingLiveActivation::isNodeIdUsed returns false. I added more logs to this method and found out that the {{false}} is returned from line \[2\] after that the exception \[1\] is thrown.
> *Investigation report*
> I tried to downgrade Artemis to {{1.5.5.jbossorg-010}} version but I hit the same issue. So the issue is not caused by recent Artemis upgrade.
> It is regression against EAP 7.1.0.GA but it is not regression against Wildfly 12.
> We see the issue only with JGroups. I tried to run the test with Netty discovery and it passed 50 times in row.
> \[1\]
> {code}
> ActiveMQConnectionTimedOutException[errorType=CONNECTION_TIMEDOUT message=AMQ119012: Timed out waiting to receive initial broadcast from cluster]
> at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:749) [artemis-core-client-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:627) [artemis-core-client-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connectNoWarnings(ServerLocatorImpl.java:633) [artemis-core-client-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.isNodeIdUsed(SharedNothingLiveActivation.java:280) [artemis-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.run(SharedNothingLiveActivation.java:90) [artemis-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:539) [artemis-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:485) [artemis-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl.start(JMSServerManagerImpl.java:413) [artemis-jms-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.wildfly.extension.messaging.activemq.jms.JMSService.doStart(JMSService.java:205) [wildfly-messaging-activemq-13.0.0.Beta2-SNAPSHOT.jar:13.0.0.Beta2-SNAPSHOT]
> at org.wildfly.extension.messaging.activemq.jms.JMSService.access$000(JMSService.java:64) [wildfly-messaging-activemq-13.0.0.Beta2-SNAPSHOT.jar:13.0.0.Beta2-SNAPSHOT]
> at org.wildfly.extension.messaging.activemq.jms.JMSService$1.run(JMSService.java:99) [wildfly-messaging-activemq-13.0.0.Beta2-SNAPSHOT.jar:13.0.0.Beta2-SNAPSHOT]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_171]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_171]
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) [jboss-threads-2.3.2.Final.jar:2.3.2.Final]
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985) [jboss-threads-2.3.2.Final.jar:2.3.2.Final]
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487) [jboss-threads-2.3.2.Final.jar:2.3.2.Final]
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378) [jboss-threads-2.3.2.Final.jar:2.3.2.Final]
> at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_171]
> at org.jboss.threads.JBossThread.run(JBossThread.java:485) [jboss-threads-2.3.2.Final.jar:2.3.2.Final]
> {code}
> \[2\] https://github.com/rh-messaging/jboss-activemq-artemis/blob/465eb8733e465...
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 11 months
[JBoss JIRA] (WFCORE-3999) Allow registering a custom HTTP handler for management interface
by Rostislav Svoboda (JIRA)
[ https://issues.jboss.org/browse/WFCORE-3999?page=com.atlassian.jira.plugi... ]
Rostislav Svoboda commented on WFCORE-3999:
-------------------------------------------
[~kabirkhan] we will need EAP7 jira clone for this
> Allow registering a custom HTTP handler for management interface
> ----------------------------------------------------------------
>
> Key: WFCORE-3999
> URL: https://issues.jboss.org/browse/WFCORE-3999
> Project: WildFly Core
> Issue Type: Feature Request
> Components: Management
> Reporter: Jeff Mesnil
> Assignee: Jeff Mesnil
>
> With WFCORE-1742, it is possible to add "resources" to the HTTP management interface through the ExtensibleHttpManagement interface.
> However this requires to provide a io.undertow.server.handlers.resource.ResourceManager object that represents the resource. This interface is meant to represent static resources (such as file) and does not map well to exposing a "REST" kind of API.
> It does not allow to distinguish between HTTP verbs (GET, POST, DELETE) or inspect HTTP header.
> It requires to provide cache metadata (etag, cache) that may not be relevant for a HTTP API.
> It also automatically enables redirection (e.g. / to /index.html) without possibility to disable it.
> For some HTTP API such as the one required by MicroProfile Health Check (a GET on /management/health), it would be better to be able to pass a io.undertow.server.HttpHandler instead of a io.undertow.server.handlers.resource.ResourceManager to have more flexibility/simplicity to provide management HTTP API.
> One of the concern when WFCORE-1742 was created was that this API exposes Undertow API. This is already the case with ResourceManager and this RFE would add another such exposition to io.undertow.server.HttpHandler.
> Proposed API:
> in org.jboss.as.server.mgmt.domain.ExtensibleHttpManagement
> {code}
> /**
> * Add a context for a HTTP management handler.
> * @param contextName the name of the context. Cannot be {@code null} or empty
> * @param managementHandler HTTP management handler. Cannot be {@code null}
> *
> * @throws IllegalArgumentException if either parameter is invalid
> * @throws IllegalStateException if there is already a context present named the same as {@code contextName}, either
> * added via this interface or otherwise
> */
> void addManagementHandler(String contextName, HttpHandler managementHandler);
> {code}
> (this is in addition to the existing addStaticContext(String contextName, ResourceManager resourceManager)).
> There is no need to add a corresponding remove method as the existing one removeContext(String contextName) can be used.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 11 months
[JBoss JIRA] (WFLY-10474) AMQ119012: Timed out waiting to receive initial broadcast from cluster
by Jeff Mesnil (JIRA)
[ https://issues.jboss.org/browse/WFLY-10474?page=com.atlassian.jira.plugin... ]
Jeff Mesnil commented on WFLY-10474:
------------------------------------
[~rhusar] could this issue be related (or fixed, I have not checked it with master yet) to the improvement you made to the intermittent failures in the clustering test suite?
> AMQ119012: Timed out waiting to receive initial broadcast from cluster
> ----------------------------------------------------------------------
>
> Key: WFLY-10474
> URL: https://issues.jboss.org/browse/WFLY-10474
> Project: WildFly
> Issue Type: Bug
> Components: JMS
> Affects Versions: 13.0.0.Beta1
> Reporter: Erich Duda
> Assignee: Jeff Mesnil
> Priority: Blocker
> Labels: blocker-WF14
>
> In messaging HA scenarios we see that tests sometimes fail because of exception \[1\]. The exception is thrown from {{ServerLocatorImpl::createSessionFactory}} which waits until initial broadcast from cluster is received, but it is not received in 10 seconds timeout. In following scenario the issue causes split brain - both live and backup are active at the same time.
> *Scenario*
> * There are two Wildfly/Artemis servers configured as Live-Backup pair
> * Live server is killed
> * Backup server becomes new Live server
> * Live server is restarted and failback is performed
> *Expectation:* Failback performs successfully. Original Live becomes Live again and original Backup becomes Backup again.
> *Reality:* After the Live is restarted, it does not detect that there is already another active Live with the same nodeId and it activates (becomes Live) so both Live and Backup are active at the same time.
> *Technical details*
> I found out that original Live server does not detect that its Backup is active, because SharedNothingLiveActivation::isNodeIdUsed returns false. I added more logs to this method and found out that the {{false}} is returned from line \[2\] after that the exception \[1\] is thrown.
> *Investigation report*
> I tried to downgrade Artemis to {{1.5.5.jbossorg-010}} version but I hit the same issue. So the issue is not caused by recent Artemis upgrade.
> It is regression against EAP 7.1.0.GA but it is not regression against Wildfly 12.
> We see the issue only with JGroups. I tried to run the test with Netty discovery and it passed 50 times in row.
> \[1\]
> {code}
> ActiveMQConnectionTimedOutException[errorType=CONNECTION_TIMEDOUT message=AMQ119012: Timed out waiting to receive initial broadcast from cluster]
> at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:749) [artemis-core-client-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:627) [artemis-core-client-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connectNoWarnings(ServerLocatorImpl.java:633) [artemis-core-client-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.isNodeIdUsed(SharedNothingLiveActivation.java:280) [artemis-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.apache.activemq.artemis.core.server.impl.SharedNothingLiveActivation.run(SharedNothingLiveActivation.java:90) [artemis-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:539) [artemis-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:485) [artemis-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.apache.activemq.artemis.jms.server.impl.JMSServerManagerImpl.start(JMSServerManagerImpl.java:413) [artemis-jms-server-1.5.5.jbossorg-012.jar:1.5.5.jbossorg-SNAPSHOT]
> at org.wildfly.extension.messaging.activemq.jms.JMSService.doStart(JMSService.java:205) [wildfly-messaging-activemq-13.0.0.Beta2-SNAPSHOT.jar:13.0.0.Beta2-SNAPSHOT]
> at org.wildfly.extension.messaging.activemq.jms.JMSService.access$000(JMSService.java:64) [wildfly-messaging-activemq-13.0.0.Beta2-SNAPSHOT.jar:13.0.0.Beta2-SNAPSHOT]
> at org.wildfly.extension.messaging.activemq.jms.JMSService$1.run(JMSService.java:99) [wildfly-messaging-activemq-13.0.0.Beta2-SNAPSHOT.jar:13.0.0.Beta2-SNAPSHOT]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_171]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_171]
> at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) [jboss-threads-2.3.2.Final.jar:2.3.2.Final]
> at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985) [jboss-threads-2.3.2.Final.jar:2.3.2.Final]
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487) [jboss-threads-2.3.2.Final.jar:2.3.2.Final]
> at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378) [jboss-threads-2.3.2.Final.jar:2.3.2.Final]
> at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_171]
> at org.jboss.threads.JBossThread.run(JBossThread.java:485) [jboss-threads-2.3.2.Final.jar:2.3.2.Final]
> {code}
> \[2\] https://github.com/rh-messaging/jboss-activemq-artemis/blob/465eb8733e465...
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 11 months
[JBoss JIRA] (WFWIP-28) [Artemis 2.x upgrade] Unexptected crash of server in SOAK test
by Francesco Nigro (JIRA)
[ https://issues.jboss.org/browse/WFWIP-28?page=com.atlassian.jira.plugin.s... ]
Francesco Nigro reassigned WFWIP-28:
------------------------------------
Assignee: Francesco Nigro (was: Martyn Taylor)
> [Artemis 2.x upgrade] Unexptected crash of server in SOAK test
> --------------------------------------------------------------
>
> Key: WFWIP-28
> URL: https://issues.jboss.org/browse/WFWIP-28
> Project: WildFly WIP
> Issue Type: Bug
> Components: Artemis
> Reporter: Miroslav Novak
> Assignee: Francesco Nigro
> Priority: Blocker
> Labels: feature-branch-blocker
> Attachments: sosreport-rvaisdebug.asd-20180807101658.tar.xz
>
>
> After ~13 hours there is unexpected crash of one server in SOAK test. There is no error/warning in the logs.
> Test Scenario:
> * Start 2 servers
> * Client sends messages to input queue. Messages then go through:
> * One server to another through MDB reading and sending them from remote container through resource adapter
> * Messages are forwarded from one server to another over JMS bridge and back over Core bridge
> * Messages have JMSReplyTo defined with a temporary queue, that is filled with responses for the client
> * Messages are read from the destination with stateless EJB and sent back to clients
> * Client reads the messages after the pass through all the soak modules.
> Pass Criteria: In the last step receiver consumes all messages sent by producer.
> Actual Result:
> After ~13 hours 1st server suddenly crashes. There is no error/warning in server logs.
> Issue was hit with Artemis 2.5.0 with https://github.com/jmesnil/wildfly/tree/WFLY-9407_upgrade_artemis_2.4.0_w... (commit 51dd8102f103ccb0470a3cfc8713d3f9bdb1b65d)
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 11 months
[JBoss JIRA] (WFWIP-28) [Artemis 2.x upgrade] Unexptected crash of server in SOAK test
by Francesco Nigro (JIRA)
[ https://issues.jboss.org/browse/WFWIP-28?page=com.atlassian.jira.plugin.s... ]
Francesco Nigro commented on WFWIP-28:
--------------------------------------
[~mnovak]Nice catch! Indeed [~mtoth] has already configured an old run with 1g and it was working: that fit very well to how the OOM killer works.
> [Artemis 2.x upgrade] Unexptected crash of server in SOAK test
> --------------------------------------------------------------
>
> Key: WFWIP-28
> URL: https://issues.jboss.org/browse/WFWIP-28
> Project: WildFly WIP
> Issue Type: Bug
> Components: Artemis
> Reporter: Miroslav Novak
> Assignee: Martyn Taylor
> Priority: Blocker
> Labels: feature-branch-blocker
> Attachments: sosreport-rvaisdebug.asd-20180807101658.tar.xz
>
>
> After ~13 hours there is unexpected crash of one server in SOAK test. There is no error/warning in the logs.
> Test Scenario:
> * Start 2 servers
> * Client sends messages to input queue. Messages then go through:
> * One server to another through MDB reading and sending them from remote container through resource adapter
> * Messages are forwarded from one server to another over JMS bridge and back over Core bridge
> * Messages have JMSReplyTo defined with a temporary queue, that is filled with responses for the client
> * Messages are read from the destination with stateless EJB and sent back to clients
> * Client reads the messages after the pass through all the soak modules.
> Pass Criteria: In the last step receiver consumes all messages sent by producer.
> Actual Result:
> After ~13 hours 1st server suddenly crashes. There is no error/warning in server logs.
> Issue was hit with Artemis 2.5.0 with https://github.com/jmesnil/wildfly/tree/WFLY-9407_upgrade_artemis_2.4.0_w... (commit 51dd8102f103ccb0470a3cfc8713d3f9bdb1b65d)
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 11 months
[JBoss JIRA] (WFWIP-28) [Artemis 2.x upgrade] Unexptected crash of server in SOAK test
by Francesco Nigro (JIRA)
[ https://issues.jboss.org/browse/WFWIP-28?page=com.atlassian.jira.plugin.s... ]
Francesco Nigro edited comment on WFWIP-28 at 8/8/18 8:15 AM:
--------------------------------------------------------------
[~mnovak] Nice catch! Indeed [~mtoth] has already configured an old run with 1g and it was working: that fit very well to how the OOM killer works.
was (Author: fnigro):
[~mnovak]Nice catch! Indeed [~mtoth] has already configured an old run with 1g and it was working: that fit very well to how the OOM killer works.
> [Artemis 2.x upgrade] Unexptected crash of server in SOAK test
> --------------------------------------------------------------
>
> Key: WFWIP-28
> URL: https://issues.jboss.org/browse/WFWIP-28
> Project: WildFly WIP
> Issue Type: Bug
> Components: Artemis
> Reporter: Miroslav Novak
> Assignee: Martyn Taylor
> Priority: Blocker
> Labels: feature-branch-blocker
> Attachments: sosreport-rvaisdebug.asd-20180807101658.tar.xz
>
>
> After ~13 hours there is unexpected crash of one server in SOAK test. There is no error/warning in the logs.
> Test Scenario:
> * Start 2 servers
> * Client sends messages to input queue. Messages then go through:
> * One server to another through MDB reading and sending them from remote container through resource adapter
> * Messages are forwarded from one server to another over JMS bridge and back over Core bridge
> * Messages have JMSReplyTo defined with a temporary queue, that is filled with responses for the client
> * Messages are read from the destination with stateless EJB and sent back to clients
> * Client reads the messages after the pass through all the soak modules.
> Pass Criteria: In the last step receiver consumes all messages sent by producer.
> Actual Result:
> After ~13 hours 1st server suddenly crashes. There is no error/warning in server logs.
> Issue was hit with Artemis 2.5.0 with https://github.com/jmesnil/wildfly/tree/WFLY-9407_upgrade_artemis_2.4.0_w... (commit 51dd8102f103ccb0470a3cfc8713d3f9bdb1b65d)
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
7 years, 11 months