Bug 1004977
Summary: | Datasource configuration changes SHOULD NOT require a complete reload/restart of EAP | ||
---|---|---|---|
Product: | [JBoss] JBoss Operations Network | Reporter: | Larry O'Leary <loleary> |
Component: | Plugin -- JBoss EAP 6 | Assignee: | Thomas Segismont <tsegismo> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Filip Brychta <fbrychta> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | JON 3.1.2 | CC: | fbrychta, hrupp, lzoubek, onagano, rhatlapa, tsegismo |
Target Milestone: | ER05 | ||
Target Release: | JON 3.3.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: |
The agent plug-in component supporting Datasource and XA Datasource resource types, like most JON plug-in components, used to re-apply every configuration property when a user changed resource configuration through the GUI or the CLI. After saving a datasource configuration change, the managed EAP 6 standalone or domain servers would put themselves in a "reload-required" state, even if the user only changed a property which does not require it. The plug-in component supporting Datasource and XA Datasource resource types now sends changed configuration properties only to the EAP 6 management interface. Additionally, the datasource "Disable" operation now has a "Allow service restart" parameter, which immediately stops the datasource service before changing a property which requires the datasource to be in a "Disabled" state. JON users can now manage datasources and XA-datasources following the workflows they are used to with the EAP6 CLI or Admin Console.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2014-12-11 14:03:31 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Larry O'Leary
2013-09-05 22:36:10 UTC
First look: Datasources configuration properties have different behaviors in the management model: * some of them (like pool size attributes) can be modified and saved even if the datasource is still enabled; but the changes will apply when the datasource is disabled then re-enabled * some of them (like Connection URL) can only be modified and saved if the datasource was previously disabled The admin console takes that into account (but does not indicate in which category a property falls). Moving to ER05 as missed the cutoff for ER04. moving to JON 3.2 per BZ Triage 11/11/2013 ...loleary, mfoley, heute, santos, yarboro moving to JON 3.3 per BZ Triage 11/11/2013 ...loleary, mfoley, heute, santos, yarboro Accroding to Bug 1024239, "allow-resource-service-restart" header is necessary to avoid server reloading like this in EAP 6 CLI. ~~~ [standalone@localhost:9999 /] /subsystem=datasources/data-source=ExampleDS:disable{allow-resource-service-restart=true} {"outcome" => "success"} ~~~ EAP web console is doing this. Probably JON can do the same. As EAP and its management plug-in are not currently able to properly identify which properties can be updated without a complete restart and which properties actually have been modified (most likely a JBoss ON issue) this issue is being re-targeted for consideration for 3.3. *** Bug 1036787 has been marked as a duplicate of this bug. *** *** Bug 1020880 has been marked as a duplicate of this bug. *** Pull request sent https://github.com/rhq-project/rhq/pull/136 Pull request reviewed and tested by Libor. Waiting for PR Jenkins build to finish. See https://github.com/rhq-project/rhq/pull/136#issuecomment-58510888 Fixed in master commit bd8402ecec746fdd600e58daa1952e448ebffd52 Author: Thomas Segismont <tsegismo> Date: Wed Oct 8 17:42:09 2014 +0200 "Enabled" attribute is no longer an editable configuration property (it will still be available on (xa-)datasource creation). Instead, users will have to use the "Enable"/"Disable" operations. "Disable" operation definition has been changed to include a new "allow-resource-service-restart" property, defaulting to false. If set to true, the corresponding management request header will be added. This allows to disable a datasource without a full server reload. The datasource component update configuration logic has been enhanced to send only configuration changes. It requires an extra request to read the current datasource config, but it avoids a server reload or datasource disable/enable cycle if the user only wants to change a set of properties which do not require it. Also: 1. A new specific component class has been added for the datasources subsystem resource type. It used to be shared with the (xa-)datasource component. While in the beginning it probably was easier to have a single class for code sharing between the "Create Child Resource" process and the "Update Configuration Process", the (xa-)datasource component logic has become quite complex so it's safer to have separate component classes. 2. The plugin descriptor has been updated to document that some (xa-)datasource properties cannot be unset if they already have a value. 3. Perf: avoid compiling regular expression patterns over and over in AS7 plugin hotspots 4. Code cleanup, like avoid string concat when working with a stringBuilder (it creates a useless additional builder) branch: release/jon3.3.x link: https://github.com/rhq-project/rhq/commit/dfee834e2 time: 2014-10-10 15:22:42 +0200 commit: dfee834e28751fbb41a9609a5c6bc33e641b858e author: Thomas Segismont - tsegismo message: Bug 1004977 - Datasource configuration changes SHOULD NOT require a complete reload/restart of EAP "Enabled" attribute is no longer an editable configuration property (it will still be available on (xa-)datasource creation). Instead, users will have to use the "Enable"/"Disable" operations. "Disable" operation definition has been changed to include a new "allow-resource-service-restart" property, defaulting to false. If set to true, the corresponding management request header will be added. This allows to disable a datasource without a full server reload. The datasource component update configuration logic has been enhanced to send only configuration changes. It requires an extra request to read the current datasource config, but it avoids a server reload or datasource disable/enable cycle if the user only wants to change a set of properties which do not require it. Also: 1. A new specific component class has been added for the datasources subsystem resource type. It used to be shared with the (xa-)datasource component. While in the beginning it probably was easier to have a single class for code sharing between the "Create Child Resource" process and the "Update Configuration Process", the (xa-)datasource component logic has become quite complex so it's safer to have separate component classes. 2. The plugin descriptor has been updated to document that some (xa-)datasource properties cannot be unset if they already have a value. 3. Perf: avoid compiling regular expression patterns over and over in AS7 plugin hotspots 4. Code cleanup, like avoid string concat when working with a stringBuilder (it creates a useless additional builder) (cherry picked from commit bd8402ecec746fdd600e58daa1952e448ebffd52) Signed-off-by: Libor Zoubek <lzoubek> Conflicts: modules/plugins/jboss-as-7/src/main/java/org/rhq/modules/plugins/jbossas7/DatasourceComponent.java Moving to ON_QA as available to test with the latest brew build: https://brewweb.devel.redhat.com//buildinfo?buildID=394734 This bz is verified on Version : 3.3.0.ER05 Build Number : 92b6d6a:2cdb528 but it probably caused this regression bz1156023 |