[JBoss JIRA] (WFCORE-1053) Model compatibility tests
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-1053?page=com.atlassian.jira.plugi... ]
Brian Stansberry updated WFCORE-1053:
-------------------------------------
Fix Version/s: (was: 3.0.0.Alpha7)
I'm unscheduling this to try and get the 3.0 task list down to bugs, EAP 7.1 features or stuff we know is coming. Let me know if it's likely to happen for 3.0 Beta1.
> Model compatibility tests
> -------------------------
>
> Key: WFCORE-1053
> URL: https://issues.jboss.org/browse/WFCORE-1053
> Project: WildFly Core
> Issue Type: Feature Request
> Components: Domain Management
> Reporter: Kabir Khan
> Assignee: Kabir Khan
>
> Once the infrastructure is in place, we will need to test all subsystems here and in WildFly.
> The basic idea is some variety of CompareModelVersionsUtil and compare the current resource registrations against a stored snapshot of the resource registrations
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 5 months
[JBoss JIRA] (WFCORE-1128) Improve the subsystem test schema test coverage
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-1128?page=com.atlassian.jira.plugi... ]
Brian Stansberry updated WFCORE-1128:
-------------------------------------
Fix Version/s: (was: 3.0.0.Alpha7)
I'm unscheduling this to try and get the 3.0 task list down to bugs, EAP 7.1 features or stuff we know is coming. Let me know if it's likely to happen for 3.0 Beta1.
> Improve the subsystem test schema test coverage
> -----------------------------------------------
>
> Key: WFCORE-1128
> URL: https://issues.jboss.org/browse/WFCORE-1128
> Project: WildFly Core
> Issue Type: Bug
> Components: Domain Management
> Affects Versions: 2.0.1.Final
> Reporter: Kabir Khan
> Assignee: Kabir Khan
>
> Currently the way to enable the AbstractSubsystemBaseTest testSchema() and testSchemaOfSubsystemTemplates() tests is to override getSubsystemXsdPath() and getSubsystemTemplatePaths().
> Rather than making it explicit to turn on, it should be explicit to turn off.
> Also the current way of doing this uses Assume.assumeTrue() to check if a test has provided a schema file, which provides a lot of ignored test noise in the test output. If the xsd should not be tested, methods should instead override testSchema() or testSchemaOfSubsystemTemplates() and provide an empty implementation with a comment saying why it is not important.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 5 months
[JBoss JIRA] (WFCORE-1154) Deprecate permgen attributes in host and server config level jvm settings
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-1154?page=com.atlassian.jira.plugi... ]
Brian Stansberry resolved WFCORE-1154.
--------------------------------------
Fix Version/s: 3.0.0.Alpha2
(was: 3.0.0.Alpha7)
Resolution: Done
> Deprecate permgen attributes in host and server config level jvm settings
> -------------------------------------------------------------------------
>
> Key: WFCORE-1154
> URL: https://issues.jboss.org/browse/WFCORE-1154
> Project: WildFly Core
> Issue Type: Bug
> Components: Domain Management
> Reporter: Brian Stansberry
> Fix For: 3.0.0.Alpha2
>
>
> The permgen size attributes no longer do anything in a core 2.0 or later server, as we require JDK 8 and our code ignores these if JDK 8 or later is running. So we should deprecate the config elements and log a message if they are used, and add deprecation text in the xsd.
> I considered only deprecating these attributes if they appear in the host=* tree, and not doing the ones for domain-wide resources, since those could be used for legacy slaves running JDK < 8. But I think the distinction isn't worth the effort. First, these things are deprecated in all cases in the sense that they may go away in some future release. And second, all that happens is an INFO message is logged, and the chances that message may help some JDK 8 user offsets the chance that a JDK < 8 user would be annoyed by some spurious INFO logging.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 5 months
[JBoss JIRA] (WFCORE-1220) Try closing the channel if java.lang.Error prevents sending error responses to the client
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-1220?page=com.atlassian.jira.plugi... ]
Brian Stansberry updated WFCORE-1220:
-------------------------------------
Fix Version/s: 3.0.0.CR1
(was: 3.0.0.Alpha7)
> Try closing the channel if java.lang.Error prevents sending error responses to the client
> -----------------------------------------------------------------------------------------
>
> Key: WFCORE-1220
> URL: https://issues.jboss.org/browse/WFCORE-1220
> Project: WildFly Core
> Issue Type: Sub-task
> Components: Domain Management
> Reporter: Brian Stansberry
> Assignee: Brian Stansberry
>
> Beyond the basic work on WFCORE-1134, look into further reaction when Errors occur and the server or HC cannot even send an error response to the caller. If we get to this point, the task has already failed to handle a problem and now we can't notify the remote side either. Most likely this is an OOME situation, although any Error here means a major issue.
> Options:
> 1) Try and close the channel to disconnect this process from the remote end so it doesn't disrupt the remote end. If this is an intra-HC or HC-server connection a successful close will remove this process from normal domain control. If this is a server the HC still has some control over the server via the ProcessController, e.g. to handle a 'kill' or 'destroy' management op. If this is a slave HC, the slave is disconnected from the domain. Either a server or a slave HC may try to reconnect, although it's likely better if that fails and the user just restarts the process.
> If the remote side is an end user client (e.g. CLI) then a successful close will be noticed by the client. The user can reconnect or take action to terminate this process.
> 2) Commit suicide via SystemExiter.exit. But I'm not certain complete termination of the process is how we want to deal with problems with management requests. Probably some sort of configurable policy would be better.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 5 months
[JBoss JIRA] (WFCORE-1220) Try closing the channel if java.lang.Error prevents sending error responses to the client
by Brian Stansberry (JIRA)
[ https://issues.jboss.org/browse/WFCORE-1220?page=com.atlassian.jira.plugi... ]
Brian Stansberry updated WFCORE-1220:
-------------------------------------
Fix Version/s: (was: 3.0.0.CR1)
> Try closing the channel if java.lang.Error prevents sending error responses to the client
> -----------------------------------------------------------------------------------------
>
> Key: WFCORE-1220
> URL: https://issues.jboss.org/browse/WFCORE-1220
> Project: WildFly Core
> Issue Type: Sub-task
> Components: Domain Management
> Reporter: Brian Stansberry
> Assignee: Brian Stansberry
>
> Beyond the basic work on WFCORE-1134, look into further reaction when Errors occur and the server or HC cannot even send an error response to the caller. If we get to this point, the task has already failed to handle a problem and now we can't notify the remote side either. Most likely this is an OOME situation, although any Error here means a major issue.
> Options:
> 1) Try and close the channel to disconnect this process from the remote end so it doesn't disrupt the remote end. If this is an intra-HC or HC-server connection a successful close will remove this process from normal domain control. If this is a server the HC still has some control over the server via the ProcessController, e.g. to handle a 'kill' or 'destroy' management op. If this is a slave HC, the slave is disconnected from the domain. Either a server or a slave HC may try to reconnect, although it's likely better if that fails and the user just restarts the process.
> If the remote side is an end user client (e.g. CLI) then a successful close will be noticed by the client. The user can reconnect or take action to terminate this process.
> 2) Commit suicide via SystemExiter.exit. But I'm not certain complete termination of the process is how we want to deal with problems with management requests. Probably some sort of configurable policy would be better.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 5 months
[JBoss JIRA] (WFCORE-1758) WFLYCC0034: Closing leaked controller client
by James Perkins (JIRA)
[ https://issues.jboss.org/browse/WFCORE-1758?page=com.atlassian.jira.plugi... ]
James Perkins commented on WFCORE-1758:
---------------------------------------
Moved back to WFCORE. While we won't fix this immediately I'm leaving the priority as Major as it is an issue. It will take some thought to not affect some other subclasses of the {{AbstractModelControllerClient}}. I've not seen or heard of issues other than misbehaving consumers of the client.
> WFLYCC0034: Closing leaked controller client
> --------------------------------------------
>
> Key: WFCORE-1758
> URL: https://issues.jboss.org/browse/WFCORE-1758
> Project: WildFly Core
> Issue Type: Bug
> Reporter: Martin Choma
> Assignee: James Perkins
> Attachments: server.log
>
>
> We are intermittently getting "WFLYCC0034: Closing leaked controller client" from RemotingModelControllerClient#finalize method.
> I wonder, isn't implementation of RemotingModelControllerClient#finalize() method [1] example of dangerous "safety net" implementation discussed in presentation "JVM finalize pitfalls" [2] ?
> *Reproducer:*
> 1. using ibm java 1.8
> 2. setting <startup-timeout>1</startup-timeout>
> [1] https://github.com/wildfly/wildfly-core/blob/master/controller-client/src...
> [2] https://www.youtube.com/watch?v=UrGP6pfb0H8
> [3]
> {noformat}
> 05:54:10 Aug 16, 2016 5:54:10 AM org.jboss.as.controller.client.impl.RemotingModelControllerClient finalize
> 05:54:10 WARN: WFLYCC0034: Closing leaked controller client
> 05:54:10 WFLYCC0030: Allocation stack trace:
> 05:54:10 at java.lang.Thread.getStackTrace(Thread.java:1552)
> 05:54:10 at org.jboss.as.controller.client.impl.RemotingModelControllerClient.<init>(RemotingModelControllerClient.java:74)
> 05:54:10 at org.jboss.as.controller.client.ModelControllerClient$Factory.create(ModelControllerClient.java:567)
> 05:54:10 at org.wildfly.plugin.common.ManagementClient.<init>(ManagementClient.java:37)
> 05:54:10 at org.wildfly.plugin.common.AbstractServerConnection.createClient(AbstractServerConnection.java:126)
> 05:54:10 at org.wildfly.plugin.server.StartMojo.execute(StartMojo.java:269)
> 05:54:10 at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
> 05:54:10 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
> 05:54:10 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> 05:54:10 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> 05:54:10 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
> 05:54:10 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
> 05:54:10 at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
> 05:54:10 at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
> 05:54:10 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
> 05:54:10 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
> 05:54:10 at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
> 05:54:10 at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
> 05:54:10 at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
> 05:54:10 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 05:54:10 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 05:54:10 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 05:54:10 at java.lang.reflect.Method.invoke(Method.java:498)
> 05:54:10 at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
> 05:54:10 at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
> 05:54:10 at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
> 05:54:10 at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 5 months
[JBoss JIRA] (WFCORE-1758) WFLYCC0034: Closing leaked controller client
by James Perkins (JIRA)
[ https://issues.jboss.org/browse/WFCORE-1758?page=com.atlassian.jira.plugi... ]
James Perkins moved WFMP-61 to WFCORE-1758:
-------------------------------------------
Project: WildFly Core (was: WildFly Maven Plugin)
Key: WFCORE-1758 (was: WFMP-61)
> WFLYCC0034: Closing leaked controller client
> --------------------------------------------
>
> Key: WFCORE-1758
> URL: https://issues.jboss.org/browse/WFCORE-1758
> Project: WildFly Core
> Issue Type: Bug
> Reporter: Martin Choma
> Assignee: James Perkins
> Attachments: server.log
>
>
> We are intermittently getting "WFLYCC0034: Closing leaked controller client" from RemotingModelControllerClient#finalize method.
> I wonder, isn't implementation of RemotingModelControllerClient#finalize() method [1] example of dangerous "safety net" implementation discussed in presentation "JVM finalize pitfalls" [2] ?
> *Reproducer:*
> 1. using ibm java 1.8
> 2. setting <startup-timeout>1</startup-timeout>
> [1] https://github.com/wildfly/wildfly-core/blob/master/controller-client/src...
> [2] https://www.youtube.com/watch?v=UrGP6pfb0H8
> [3]
> {noformat}
> 05:54:10 Aug 16, 2016 5:54:10 AM org.jboss.as.controller.client.impl.RemotingModelControllerClient finalize
> 05:54:10 WARN: WFLYCC0034: Closing leaked controller client
> 05:54:10 WFLYCC0030: Allocation stack trace:
> 05:54:10 at java.lang.Thread.getStackTrace(Thread.java:1552)
> 05:54:10 at org.jboss.as.controller.client.impl.RemotingModelControllerClient.<init>(RemotingModelControllerClient.java:74)
> 05:54:10 at org.jboss.as.controller.client.ModelControllerClient$Factory.create(ModelControllerClient.java:567)
> 05:54:10 at org.wildfly.plugin.common.ManagementClient.<init>(ManagementClient.java:37)
> 05:54:10 at org.wildfly.plugin.common.AbstractServerConnection.createClient(AbstractServerConnection.java:126)
> 05:54:10 at org.wildfly.plugin.server.StartMojo.execute(StartMojo.java:269)
> 05:54:10 at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
> 05:54:10 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
> 05:54:10 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> 05:54:10 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> 05:54:10 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
> 05:54:10 at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
> 05:54:10 at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
> 05:54:10 at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
> 05:54:10 at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:355)
> 05:54:10 at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
> 05:54:10 at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
> 05:54:10 at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:216)
> 05:54:10 at org.apache.maven.cli.MavenCli.main(MavenCli.java:160)
> 05:54:10 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 05:54:10 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 05:54:10 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 05:54:10 at java.lang.reflect.Method.invoke(Method.java:498)
> 05:54:10 at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
> 05:54:10 at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
> 05:54:10 at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
> 05:54:10 at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
8 years, 5 months