[JBoss JIRA] (AS7-6105) Shutdown process hangs using thread pool executor
by Eiichi Nagai (JIRA)
Eiichi Nagai created AS7-6105:
---------------------------------
Summary: Shutdown process hangs using thread pool executor
Key: AS7-6105
URL: https://issues.jboss.org/browse/AS7-6105
Project: Application Server 7
Issue Type: Bug
Components: Web
Affects Versions: 7.1.3.Final (EAP), 7.1.1.Final
Reporter: Eiichi Nagai
Assignee: Remy Maucherat
When AJP connecotr uses thread pool executor configuration[1], AJP's worker thread is waited by AjpProcessor.read()[2]. QueueExecuter recognizes it as active thread. Therefor, unless httpd server shut down, EAP server shutdown process does not finish forever.
[1] standalone.xml
<subsystem xmlns="urn:jboss:domain:threads:1.1">
<bounded-queue-thread-pool name="http-executor">
<queue-length count="1"/>
<max-threads count="1"/>
</bounded-queue-thread-pool>
</subsystem>
--- snip ---
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
<connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
<connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp" executor="http-executor"/>
<virtual-server name="default-host" enable-welcome-root="true">
<alias name="localhost"/>
<alias name="example.com"/>
</virtual-server>
</subsystem>
[2]
"http-executor-threads - 1" prio=6 tid=0x55515000 nid=0x20c0 runnable [0x5590f000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:129)
at org.apache.coyote.ajp.AjpProcessor.read(AjpProcessor.java:1131)
at org.apache.coyote.ajp.AjpProcessor.readMessage(AjpProcessor.java:1213)
at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:451)
at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:452)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:519)
at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33)
at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:801)
at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45)
at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:821)
at java.lang.Thread.run(Thread.java:662)
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (AS7-6105) Shutdown process hangs using thread pool executor
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/AS7-6105?page=com.atlassian.jira.plugin.s... ]
RH Bugzilla Integration updated AS7-6105:
-----------------------------------------
Bugzilla Update: Perform
Bugzilla References: https://bugzilla.redhat.com/show_bug.cgi?id=882048
> Shutdown process hangs using thread pool executor
> -------------------------------------------------
>
> Key: AS7-6105
> URL: https://issues.jboss.org/browse/AS7-6105
> Project: Application Server 7
> Issue Type: Bug
> Components: Web
> Affects Versions: 7.1.1.Final, 7.1.3.Final (EAP)
> Reporter: Eiichi Nagai
> Assignee: Remy Maucherat
>
> When AJP connecotr uses thread pool executor configuration[1], AJP's worker thread is waited by AjpProcessor.read()[2]. QueueExecuter recognizes it as active thread. Therefor, unless httpd server shut down, EAP server shutdown process does not finish forever.
> [1] standalone.xml
> <subsystem xmlns="urn:jboss:domain:threads:1.1">
> <bounded-queue-thread-pool name="http-executor">
> <queue-length count="1"/>
> <max-threads count="1"/>
> </bounded-queue-thread-pool>
> </subsystem>
> --- snip ---
> <subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
> <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/>
> <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp" executor="http-executor"/>
> <virtual-server name="default-host" enable-welcome-root="true">
> <alias name="localhost"/>
> <alias name="example.com"/>
> </virtual-server>
> </subsystem>
> [2]
> "http-executor-threads - 1" prio=6 tid=0x55515000 nid=0x20c0 runnable [0x5590f000]
> java.lang.Thread.State: RUNNABLE
> at java.net.SocketInputStream.socketRead0(Native Method)
> at java.net.SocketInputStream.read(SocketInputStream.java:129)
> at org.apache.coyote.ajp.AjpProcessor.read(AjpProcessor.java:1131)
> at org.apache.coyote.ajp.AjpProcessor.readMessage(AjpProcessor.java:1213)
> at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:451)
> at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:452)
> at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:519)
> at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33)
> at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:801)
> at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45)
> at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:821)
> at java.lang.Thread.run(Thread.java:662)
> at org.jboss.threads.JBossThread.run(JBossThread.java:122)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (AS7-6103) ServiceModuleLoader can't properly unload module if it failed to load module due to wrong dependency
by Chao Wang (JIRA)
[ https://issues.jboss.org/browse/AS7-6103?page=com.atlassian.jira.plugin.s... ]
Chao Wang reassigned AS7-6103:
------------------------------
Assignee: Chao Wang
> ServiceModuleLoader can't properly unload module if it failed to load module due to wrong dependency
> ----------------------------------------------------------------------------------------------------
>
> Key: AS7-6103
> URL: https://issues.jboss.org/browse/AS7-6103
> Project: Application Server 7
> Issue Type: Bug
> Components: Server
> Affects Versions: 7.2.0.Alpha1
> Reporter: Chao Wang
> Assignee: Chao Wang
> Priority: Critical
> Labels: dependency, modules
>
> ServiceModuleLoader can't properly unload module if it failed to load module due to wrong dependency.
> The codes below take care of unload operation.
> {code:title=org.jboss.as.server.moduleservice.ServiceModuleLoader.java|borderStyle=solid}
> case STOP_REQUESTED_to_STOPPING: {
> log.tracef("serviceStopping: %s", controller);
> ModuleSpec moduleSpec = this.moduleSpec;
> try {
> *Module module = loadModule(moduleSpec.getModuleIdentifier());*
> *unloadModuleLocal(module);*
> } catch (ModuleLoadException e) {
> // ignore, the module should always be already loaded by this point,
> // and if not we will only mask the true problem
> }
> // TODO: what if the service is restarted?
> controller.removeListener(this);
> break;
> }
> {code}
> The line *unloadModuleLocal(module)* can not be reached because the previous loadModule(moduleSpec.getModuleIdentifier() will throw ModuleLoadException if module has dependency problem.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (AS7-6104) jboss-cli failed to remove PostgreSQL datasource module NullPointerException OperationContextImpl.doRemove()
by Raymond Naseef (JIRA)
[ https://issues.jboss.org/browse/AS7-6104?page=com.atlassian.jira.plugin.s... ]
Raymond Naseef updated AS7-6104:
--------------------------------
Steps to Reproduce:
1) Create org.postgresql module with main folder holding postgresql-9.1-901-1.jdbc4.jar, module.xml (at end of this field)
2) jboss-cli --connect command="/subsystem=datasources/jdbc-driver=postgresql-driver:add(driver-name=postgresql-driver, driver-class-name=org.postgresql.Driver, driver-module-name=org.postgresql"
3) jboss-cli --connect command="/subsystem=datasources/jdbc-driver=postgresql-driver:remove"
module.xml:
<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
<!--
From: https://community.jboss.org/wiki/JBossAS7-DatasourceConfigurationForPostg...
-->
<!-- Load with jboss-cli command:
/subsystem=datasources/jdbc-driver=postgresql-driver:add(driver-name=postgresql-driver, driver-class-name=org.postgresql.Driver, driver-module-name=org.postgresql)
-->
<resources>
<resource-root path="postgresql-9.1-901-1.jdbc4.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
was:
Create org.postgresql module with main folder holding postgresql-9.1-901-1.jdbc4.jar, module.xml:
<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
<!--
From: https://community.jboss.org/wiki/JBossAS7-DatasourceConfigurationForPostg...
-->
<!-- Load with jboss-cli command:
/subsystem=datasources/jdbc-driver=postgresql-driver:add(driver-name=postgresql-driver, driver-class-name=org.postgresql.Driver, driver-module-name=org.postgresql)
-->
<resources>
<resource-root path="postgresql-9.1-901-1.jdbc4.jar"/>
</resources>
<dependencies>
<module name="javax.api"/>
<module name="javax.transaction.api"/>
</dependencies>
</module>
> jboss-cli failed to remove PostgreSQL datasource module NullPointerException OperationContextImpl.doRemove()
> ------------------------------------------------------------------------------------------------------------
>
> Key: AS7-6104
> URL: https://issues.jboss.org/browse/AS7-6104
> Project: Application Server 7
> Issue Type: Bug
> Components: Server
> Affects Versions: 7.1.1.Final
> Environment: Windows 7 Professional SP1
> Reporter: Raymond Naseef
> Assignee: Jason Greene
> Labels: jboss-as7, modules, postgresql
>
> NullPointerException during jboss-cli remove with commands:
> jboss-cli --connect command="/subsystem=datasources/jdbc-driver=postgresql-driver:add(driver-name=postgresql-driver, driver-class-name=org.postgresql.Driver, driver-module-name=org.postgresql"
> * this works
> jboss-cli --connect command="/subsystem=datasources/jdbc-driver=postgresql-driver:remove"
> MS-DOS Console:
> {
> "outcome" => "failed",
> "failure-description" => "JBAS014749: Operation handler failed: null",
> "rolled-back" => true
> }
> Server Log:
> 23:17:42,627 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 19) JBAS014612: Operation ("remove") failed - address: ([
> ("subsystem" => "datasources"),
> ("jdbc-driver" => "postgresql-driver")
> ]): java.lang.NullPointerException
> at org.jboss.as.controller.OperationContextImpl.doRemove(OperationContextImpl.java:298) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
> at org.jboss.as.controller.OperationContextImpl.removeService(OperationContextImpl.java:293) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
> at org.jboss.as.connector.subsystems.datasources.JdbcDriverRemove.performRuntime(JdbcDriverRemove.java:66)
> at org.jboss.as.controller.AbstractRemoveStepHandler$1.execute(AbstractRemoveStepHandler.java:50) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
> at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:385) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
> at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:272) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
> at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:200) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
> at org.jboss.as.controller.ModelControllerImpl$DefaultPrepareStepHandler.execute(ModelControllerImpl.java:466) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
> at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:385) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
> at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:272) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
> at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:200) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
> at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:121) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:139) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
> at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:108) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
> at org.jboss.as.protocol.mgmt.AbstractMessageHandler$2$1.doExecute(AbstractMessageHandler.java:287) [jboss-as-protocol-7.1.1.Final.jar:7.1.1.Final]
> at org.jboss.as.protocol.mgmt.AbstractMessageHandler$AsyncTaskRunner.run(AbstractMessageHandler.java:487) [jboss-as-protocol-7.1.1.Final.jar:7.1.1.Final]
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0]
> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0]
> at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (AS7-6104) jboss-cli failed to remove PostgreSQL datasource module NullPointerException OperationContextImpl.doRemove()
by Raymond Naseef (JIRA)
Raymond Naseef created AS7-6104:
-----------------------------------
Summary: jboss-cli failed to remove PostgreSQL datasource module NullPointerException OperationContextImpl.doRemove()
Key: AS7-6104
URL: https://issues.jboss.org/browse/AS7-6104
Project: Application Server 7
Issue Type: Bug
Components: Server
Affects Versions: 7.1.1.Final
Environment: Windows 7 Professional SP1
Reporter: Raymond Naseef
Assignee: Jason Greene
NullPointerException during jboss-cli remove with commands:
jboss-cli --connect command="/subsystem=datasources/jdbc-driver=postgresql-driver:add(driver-name=postgresql-driver, driver-class-name=org.postgresql.Driver, driver-module-name=org.postgresql"
* this works
jboss-cli --connect command="/subsystem=datasources/jdbc-driver=postgresql-driver:remove"
MS-DOS Console:
{
"outcome" => "failed",
"failure-description" => "JBAS014749: Operation handler failed: null",
"rolled-back" => true
}
Server Log:
23:17:42,627 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 19) JBAS014612: Operation ("remove") failed - address: ([
("subsystem" => "datasources"),
("jdbc-driver" => "postgresql-driver")
]): java.lang.NullPointerException
at org.jboss.as.controller.OperationContextImpl.doRemove(OperationContextImpl.java:298) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.controller.OperationContextImpl.removeService(OperationContextImpl.java:293) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.connector.subsystems.datasources.JdbcDriverRemove.performRuntime(JdbcDriverRemove.java:66)
at org.jboss.as.controller.AbstractRemoveStepHandler$1.execute(AbstractRemoveStepHandler.java:50) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:385) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:272) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:200) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.controller.ModelControllerImpl$DefaultPrepareStepHandler.execute(ModelControllerImpl.java:466) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:385) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.controller.AbstractOperationContext.doCompleteStep(AbstractOperationContext.java:272) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.controller.AbstractOperationContext.completeStep(AbstractOperationContext.java:200) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:121) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:139) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:108) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.protocol.mgmt.AbstractMessageHandler$2$1.doExecute(AbstractMessageHandler.java:287) [jboss-as-protocol-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.protocol.mgmt.AbstractMessageHandler$AsyncTaskRunner.run(AbstractMessageHandler.java:487) [jboss-as-protocol-7.1.1.Final.jar:7.1.1.Final]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0]
at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (AS7-5995) After deploy an application with a wrong module slot dependency the module loader does not recover
by Chao Wang (JIRA)
[ https://issues.jboss.org/browse/AS7-5995?page=com.atlassian.jira.plugin.s... ]
Chao Wang commented on AS7-5995:
--------------------------------
There is already an unload operation for modules in org.jboss.as.server.moduleservice.ServiceModuleLoader.ModuleSpecLoadListener.
but there is a bug as described in issue AS7-6103
> After deploy an application with a wrong module slot dependency the module loader does not recover
> --------------------------------------------------------------------------------------------------
>
> Key: AS7-5995
> URL: https://issues.jboss.org/browse/AS7-5995
> Project: Application Server 7
> Issue Type: Bug
> Affects Versions: 7.2.0.Alpha1
> Environment: Tested with 7.2. upstream
> commit ed2bc551a55ec6a8167a8657cbb5d8abc6e07748
> Date: Thu Nov 15 10:15:22 2012 +0100
> standalone mode, no difference whether CLI or file-system scanner
> Reporter: Wolf-Dieter Fink
> Assignee: Chao Wang
> Labels: dependency, modules
> Attachments: server.log, server.log
>
>
> If an application is deployed with a dependency and specify a slot in jboss-deployment-structure.xml:
> <module name="wfink.tools.performance" slot="1.0" export="true"/>
> the module loader will not correct load a new deployment after failing with 'JBAS018759' Caused by: org.jboss.modules.ModuleNotFoundException: Module wfink.tools.performance:1.1 is not found in local module loader.
> If after such message the application.ear contain a correct slot, or even no slot entry, the module loader fail with the message above. The slot number is the same as of the failed deployment.
> If the server is restarted the application deploy succeeds.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (AS7-6103) ServiceModuleLoader can't properly unload module if it failed to load module due to wrong dependency
by Chao Wang (JIRA)
Chao Wang created AS7-6103:
------------------------------
Summary: ServiceModuleLoader can't properly unload module if it failed to load module due to wrong dependency
Key: AS7-6103
URL: https://issues.jboss.org/browse/AS7-6103
Project: Application Server 7
Issue Type: Bug
Components: Server
Affects Versions: 7.2.0.Alpha1
Reporter: Chao Wang
Priority: Critical
ServiceModuleLoader can't properly unload module if it failed to load module due to wrong dependency.
The codes below take care of unload operation.
{code:title=org.jboss.as.server.moduleservice.ServiceModuleLoader.java|borderStyle=solid}
case STOP_REQUESTED_to_STOPPING: {
log.tracef("serviceStopping: %s", controller);
ModuleSpec moduleSpec = this.moduleSpec;
try {
*Module module = loadModule(moduleSpec.getModuleIdentifier());*
*unloadModuleLocal(module);*
} catch (ModuleLoadException e) {
// ignore, the module should always be already loaded by this point,
// and if not we will only mask the true problem
}
// TODO: what if the service is restarted?
controller.removeListener(this);
break;
}
{code}
The line *unloadModuleLocal(module)* can not be reached because the previous loadModule(moduleSpec.getModuleIdentifier() will throw ModuleLoadException if module has dependency problem.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month
[JBoss JIRA] (AS7-5449) when defining custom executor for connector thread priority is not optional
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/AS7-5449?page=com.atlassian.jira.plugin.s... ]
Brian Stansberry updated AS7-5449:
----------------------------------
Component/s: Domain Management
> when defining custom executor for connector thread priority is not optional
> ---------------------------------------------------------------------------
>
> Key: AS7-5449
> URL: https://issues.jboss.org/browse/AS7-5449
> Project: Application Server 7
> Issue Type: Bug
> Components: Domain Management
> Affects Versions: 7.1.2.Final (EAP)
> Reporter: Mathieu Lachance
> Assignee: Bartosz Baranowski
> Fix For: 7.2.0.Alpha1, 7.1.4.Final (EAP)
>
>
> when defining a custom executor in the threads subsystem for the connector defined in the web subsystem like :
> {code:xml}
> <subsystem xmlns="urn:jboss:domain:threads:1.1">
> <thread-factory name="ConnectorThreadFactory" group-name="ConnectorThreadPool"/>
> <unbounded-queue-thread-pool name="ConnectorThreadPool">
> <max-threads count="500"/>
> <keepalive-time time="60" unit="seconds"/>
> <thread-factory name="ConnectorThreadFactory"/>
> </unbounded-queue-thread-pool>
> </subsystem>
> <subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false">
> <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp" redirect-port="8443" executor="ConnectorThreadPool"/>
> </subsystem>
> {code}
> it will fail with :
> {quote}
> 17:19:06,508 ERROR [org.apache.tomcat.util.net.JIoEndpoint] (http-/0.0.0.0:8443-Acceptor-0) Error allocating socket processor: java.lang.IllegalArgumentException
> at java.lang.Thread.setPriority(Thread.java:1058) [rt.jar:1.6.0_31]
> at org.jboss.threads.JBossThreadFactory.createThread(JBossThreadFactory.java:127) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]
> at org.jboss.threads.JBossThreadFactory.newThread(JBossThreadFactory.java:101) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]
> at java.util.concurrent.ThreadPoolExecutor.addThread(ThreadPoolExecutor.java:672) [rt.jar:1.6.0_31]
> at java.util.concurrent.ThreadPoolExecutor.addIfUnderCorePoolSize(ThreadPoolExecutor.java:697) [rt.jar:1.6.0_31]
> at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:652) [rt.jar:1.6.0_31]
> at org.jboss.threads.JBossThreadPoolExecutor.execute(JBossThreadPoolExecutor.java:63) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]
> at org.jboss.threads.DelegatingBlockingExecutorService.execute(DelegatingBlockingExecutorService.java:42) [jboss-threads-2.0.0.GA.jar:2.0.0.GA]
> at org.jboss.as.threads.ManagedExecutorService.execute(ManagedExecutorService.java:64) [jboss-as-threads-7.1.2.Final.jar:7.1.2.Final]
> at org.apache.tomcat.util.net.JIoEndpoint.processSocket(JIoEndpoint.java:1237) [jbossweb-7.0.16.Final.jar:]
> at org.apache.tomcat.util.net.JIoEndpoint$Acceptor.run(JIoEndpoint.java:325) [jbossweb-7.0.16.Final.jar:]
> at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_31]
> {quote}
> even though if documentation state that thread priority is optional :
> {code:xml}
> <xs:complexType name="thread-factory">
> <xs:annotation>
> <xs:documentation>
> <![CDATA[
> A thread factory (implementing java.util.concurrent.ThreadFactory). The "name" attribute is
> the bean name of the created thread factory. The optional "priority" attribute may be used to specify
> the thread priority of created threads. The optional "group-name" attribute specifies the name of a the
> thread group to create for this thread factory.
> The "thread-name-pattern" is the template used to create names for threads. The following patterns
> may be used:
> %% - emit a percent sign
> %t - emit the per-factory thread sequence number
> %g - emit the global thread sequence number
> %f - emit the factory sequence number
> %i - emit the thread ID
> %G - emit the thread group name
> ]]>
> </xs:documentation>
> </xs:annotation>
> <xs:attribute name="name" type="xs:string" use="required"/>
> <xs:attribute name="group-name" type="xs:string" use="optional"/>
> <xs:attribute name="thread-name-pattern" type="xs:string" use="optional"/>
> <xs:attribute name="priority" type="priority" use="optional"/>
> </xs:complexType>
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 1 month