RHQ and IPv6 : problematic because of JDK
by Heiko W.Rupp
Just found this "gem" in the JDK bug database:
"The JDK requires all sockets be IPv4 or all sockets be IPv6. It doesn't support the scenario where some Sockets are IPv4 and others are IPv6"
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6914801
This means as long as the agent is talking IPv4 to anyone, e.g. because on startup we give the debugger attach flags,
it will not be able to make any IPv6 connection afterwards. Attempts to do so will result in
" java.net.SocketException: Protocol family unavailable "
--
Reg. Adresse: Red Hat GmbH, Technopark II, Haus C,
Werner-von-Siemens-Ring 14, D-85630 Grasbrunn
Handelsregister: Amtsgericht München HRB 153243
Geschaeftsführer: Mark Hegarty, Charlie Peters, Michael Cunningham, Charles Cachera
11 years, 11 months
Out of band signaling from agent/plugin to server / user
by Heiko W.Rupp
Hi,
so in AS7 we have a situation, that a configuration change can be applied to a (as7)resource, but this
change is not active until the target server is rebooted or reloaded.
[standalone@localhost:9999 subsystem=datasources] :read-resource
{
"outcome" => "success",
"result" => {
[...] },
"response-headers" => {"process-state" => "reload-required"}
Now this only applies to some changes, so blindly just rebooting the server is not what the user wants.
One way to accomplish this is to signal this to the user -- e.g. via the Configuration object that is returned.
One way could be by passing it via the notes field, which is unused (except for some tests). Another
via additional "hidden" properties (that do not show up in the plugin descriptor).
Both work and can trigger the display of a yellow bar in the UI (what about the CLI?), but they also trigger
the recording of a new configuration version.
Of course the configuration change signaling is only one piece of the game. We also need that for operations or create
child.
Ian has proposed to use the ResourceError object, which could work. It has from my POV the disadvantage that
its notes are sticky. Either this RE only gets triggered on the resource itself, which means the user may not see it
or it is triggered on other resources as well, which means after the "problem" goes away, the user must visit
multiple places to click the yellow-triangle away. One can get this to work, but I think it is not user friendly at
all.
Not giving the "reload needed" feedback to the user is IMO no option.
We could change the logic a bit that the storage of new versions is not taking the note field into
account, but always deliver the latest version (comparing with the notes field ). Again this is only a tiny piece,
but would at least give the user some feedback.
See also https://bugzilla.redhat.com/show_bug.cgi?id=802810
--
Reg. Adresse: Red Hat GmbH, Technopark II, Haus C,
Werner-von-Siemens-Ring 14, D-85630 Grasbrunn
Handelsregister: Amtsgericht München HRB 153243
Geschaeftsführer: Mark Hegarty, Charlie Peters, Michael Cunningham, Charles Cachera
11 years, 11 months
Fwd: [RHQ and Jopr] - Agent doesn't send reports to server
by Ian Springer
From the looks of this, I think we may need to add some code in
InventoryFile.loadInventory() that checks the childResources field of
every Resource in the hierarchy loaded from inventory.dat and if it is
not a ConcurrentHashSet, converts it to one.
Mazz, what do you think?
-------- Original Message --------
Subject: [RHQ and Jopr] - Agent doesn't send reports to server
Date: Wed, 09 May 2012 05:51:38 -0400
From: konrad biel <do-not-reply(a)jboss.com>
To: Ian Springer <ian.springer(a)redhat.com>
JBoss Community <https://community.jboss.org/index.jspa>
Agent doesn't send reports to server
created by konrad biel <https://community.jboss.org/people/kbielecki> in
/RHQ and Jopr/ - View the full discussion
<https://community.jboss.org/message/734458#734458>
------------------------------------------------------------------------
Agent was running for a long time without problem. Then suddenly all
resources discovered by agent went down.
I've tried to restart agent, RHQ server, Jboss, install agent one more
time, uninventory resources but reports are not send to server.
Strange is that I have values in Platform Utilization but I can't
connect to Jboss or Apache. Remaining agents are running without any
problems.
RHQ 4.3
OS: Solaris 10
|
2012-05-09 11:11:39,132 WARN [InventoryManager.discovery-1] (rhq.core.pc.inventory.InventoryManager)- Failed to synchronize local inventory with Server inventory for Resource [10129] and its descendants: null
2012-05-09 11:11:39,132 WARN [InventoryManager.discovery-1] (rhq.core.pc.inventory.AutoDiscoveryExecutor)- Exception caught while running server discovery
java.lang.RuntimeException: java.util.ConcurrentModificationException
at org.rhq.core.pc.inventory.InventoryManager.synchInventory(InventoryManager.java:1072)
at org.rhq.core.pc.inventory.InventoryManager.handleReport(InventoryManager.java:1006)
at org.rhq.core.pc.inventory.AutoDiscoveryExecutor.call(AutoDiscoveryExecutor.java:121)
at org.rhq.core.pc.inventory.AutoDiscoveryExecutor.run(AutoDiscoveryExecutor.java:92)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
at java.util.HashMap$KeyIterator.next(HashMap.java:828)
at org.rhq.core.pc.inventory.InventoryManager.mergeResource(InventoryManager.java:2708)
at org.rhq.core.pc.inventory.InventoryManager.mergeUnknownResources(InventoryManager.java:2610)
at org.rhq.core.pc.inventory.InventoryManager.synchInventory(InventoryManager.java:1041)
... 12 more
2012-05-09 11:11:39,139 INFO [InventoryManager.discovery-1] (rhq.core.pc.inventory.AutoDiscoveryExecutor)- Found 1 servers.
2012-05-09 11:11:39,139 INFO [InventoryManager.discovery-1] (rhq.core.pc.inventory.RuntimeDiscoveryExecutor)- Running runtime discovery scan rooted at [platform]
2012-05-09 11:12:00,811 INFO [ResourceDiscoveryComponent.invoker.daemon-2] (org.rhq.plugins.apache.ApacheServerDiscoveryComponent)- SNMPConf directive not found. Skipping SNMP configuration.
2012-05-09 11:12:01,357 ERROR [InventoryManager.discovery-1] (rhq.core.pc.inventory.RuntimeDiscoveryExecutor)- Error in runtime discovery
java.lang.NullPointerException
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.discoverForResource(RuntimeDiscoveryExecutor.java:239)
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.discoverForResource(RuntimeDiscoveryExecutor.java:277)
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.discoverForResource(RuntimeDiscoveryExecutor.java:277)
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.discoverForResourceRecursive(RuntimeDiscoveryExecutor.java:158)
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.runtimeDiscover(RuntimeDiscoveryExecutor.java:140)
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.call(RuntimeDiscoveryExecutor.java:99)
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.run(RuntimeDiscoveryExecutor.java:88)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
2012-05-09 11:12:01,368 ERROR [InventoryManager.discovery-1] (rhq.core.pc.inventory.RuntimeDiscoveryExecutor)- Error in runtime discovery
java.lang.NullPointerException
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.discoverForResource(RuntimeDiscoveryExecutor.java:239)
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.discoverForResource(RuntimeDiscoveryExecutor.java:277)
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.discoverForResource(RuntimeDiscoveryExecutor.java:277)
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.discoverForResourceRecursive(RuntimeDiscoveryExecutor.java:158)
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.runtimeDiscover(RuntimeDiscoveryExecutor.java:140)
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.call(RuntimeDiscoveryExecutor.java:99)
at org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.run(RuntimeDiscoveryExecutor.java:88)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
2012-05-09 11:12:01,378 ERROR [InventoryManager.discovery-1] (rhq.core.pc.inventory.RuntimeDiscoveryExecutor)- Error in runtime discovery
or:
2012-05-09 11:27:12,224 INFO [InventoryManager.discovery-1] (core.pc.drift.sync.DriftSyncManager)- Finished server sync for drift definitions. 0 added and 0 deleted in 30 ms
2012-05-09 11:27:12,224 INFO [InventoryManager.discovery-1] (core.pc.drift.sync.DriftSyncManager)- Starting drift content sync...
2012-05-09 11:27:12,224 INFO [InventoryManager.discovery-1] (core.pc.drift.sync.DriftSyncManager)- Finished drift content sync in 0 ms
2012-05-09 11:27:12,292 INFO [InventoryManager.discovery-1] (core.pc.drift.sync.DriftSyncManager)- Starting server sync for drift definitions...
2012-05-09 11:27:12,323 INFO [InventoryManager.discovery-1] (core.pc.drift.sync.DriftSyncManager)- Finished server sync for drift definitions. 0 added and 0 deleted in 31 ms
2012-05-09 11:27:12,323 INFO [InventoryManager.discovery-1] (core.pc.drift.sync.DriftSyncManager)- Starting drift content sync...
2012-05-09 11:27:12,323 INFO [InventoryManager.discovery-1] (core.pc.drift.sync.DriftSyncManager)- Finished drift content sync in 0 ms
2012-05-09 11:27:12,688 INFO [InventoryManager.discovery-1] (rhq.core.pc.inventory.AutoDiscoveryExecutor)- Found 1 servers.
2012-05-09 11:33:31,558 WARN [Content.discovery-1] (rhq.core.pc.inventory.InventoryManager)- Cannot get a resource container for an invalid resource ID=0
2012-05-09 11:33:31,559 WARN [Content.discovery-1] (rhq.core.pc.content.ContentDiscoveryRunner)- Exception received from component while attempting content retrieval
org.rhq.core.clientapi.agent.PluginContainerException: Resource component container could not be retrieved for resource: 0
at org.rhq.core.pc.util.ComponentUtil.getComponent(ComponentUtil.java:102)
at org.rhq.core.pc.content.ContentManager.performContentDiscovery(ContentManager.java:418)
at org.rhq.core.pc.content.ContentDiscoveryRunner.call(ContentDiscoveryRunner.java:123)
at org.rhq.core.pc.content.ContentDiscoveryRunner.run(ContentDiscoveryRunner.java:90)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
2012-05-09 11:33:31,560 WARN [Content.discovery-1] (rhq.core.pc.inventory.InventoryManager)- Cannot get a resource container for an invalid resource ID=0
|
I don't have any idea what I can check?
Reply to this message by going to Community
<https://community.jboss.org/message/734458#734458>
Start a new discussion in RHQ and Jopr at Community
<https://community.jboss.org/choose-container%21input.jspa?contentType=1&c...>
11 years, 12 months
RHQ 4.4 released
by Heiko W.Rupp
I am proud to announce the immediate availability of RHQ 4.4
As before a lot of work has gone into this release
* Availability now knows a type of "disabled". This allows you to mark resources while maintenance or non-connected network interfaces so that they do not show up as down and also don't create false alerts. This also includes the possibility that plugins request to mark a resource as enabled or disabled.
* Faster availability checking in the agent, that is also less bursty than in the past. Also means faster availability reporting.
* Plugins can now request an availability check for a resource
* Alerting has been improved: It is now possible to react on availability being in a certain state for some period of time
* The JBoss AS 7 plugin has been massively improved
* Our GSoC student Denis Krusko has provided some initial Russian translations of the UI
* Reports like Suspect Metrics, Recent Operations or Recent Drift can now be exported in CSV format to e.g. post-process them in LibreOffice
Of course we have fixed many small bugs too and made tweaks to the UI etc.
You will find the maven artifacts in the JBoss nexus (https://repository.jboss.org/nexus/index.html )
Please check out the <a href="http://rhq-project.org/display/RHQ/Release+Notes+4.4.0">release notes</a>, where you also find the download link.
If you want to get a quick overview on the ways to interact with RHQ, have a look at https://github.com/downloads/pilhuhn/misc_writing/interfacing.pdf
Heiko on behalf of the RHQ team
--
Reg. Adresse: Red Hat GmbH, Technopark II, Haus C,
Werner-von-Siemens-Ring 14, D-85630 Grasbrunn
Handelsregister: Amtsgericht München HRB 153243
Geschaeftsführer: Mark Hegarty, Charlie Peters, Michael Cunningham, Charles Cachera
11 years, 12 months
Re: Resource Metric Collection Schedules with in-place editing
by mike thompson
Unfortunately, from an implementation perspective, the two step model would be needed. The grid, when in in-place editing mode only allows single row selections (which makes sense you are editing a single row). So we need an explicit way of switching to batch mode. The grid can't support both modes at the same time so I need to switch grid between batch and in-place editing.
On May 4, 2012, at 10:31 AM, Malini Rao wrote:
> The user is not obligated to click the Batch Edit button first. If they are used to Ctrl+click, then the moment they click on the second row, the batch action panel opens up automatically and the checkboxes for multi-selection become available with the 2 selected rows already checked. The explicit 2-step model is included so that there is no discoverability issue and there is a bucket/ panel where attributes for batch editing can be hidden and not display when not needed.
>
> ----- Original Message -----
> From: "Alan Santos" <asantos(a)redhat.com>
> To: "Malini Rao" <mrao(a)redhat.com>
> Cc: "mike thompson" <mithomps(a)redhat.com>, "Harlan Douglas" <hdouglas(a)redhat.com>, "Charles Crouch" <ccrouch(a)redhat.com>
> Sent: Friday, May 4, 2012 1:24:04 PM
> Subject: Re: Resource Metric Collection Schedules with in-place editing
>
> Why the additional step to explicitly enter batch mode? Can't we infer the intent to batch edits when a user selects multiple rows?
>
>
> On May 4, 2012, at 1:20 PM, Malini Rao wrote:
>
>> Mike,
>>
>> Here is my proposal for the batch editing model. The mockup is a looping animated gif... I thought it will serve best to 'demo' the interaction here but since it keeps looping, you may have to wait to get to the starting point. Sorry for the inconvenience.
>> Please let me know if you have any questions or concerns.
>>
>> Thanks
>> Malini
>>
>>
>> From: "Malini Rao" <mrao(a)redhat.com>
>> To: "mike thompson" <mithomps(a)redhat.com>
>> Cc: "Harlan Douglas" <hdouglas(a)redhat.com>, "Alan Santos" <asantos(a)redhat.com>, "Charles Crouch" <ccrouch(a)redhat.com>
>> Sent: Friday, April 27, 2012 4:43:48 PM
>> Subject: Re: Resource Metric Collection Schedules with in-place editing
>>
>> Mike,
>>
>> I don't want you to think I have been ignoring you. I have worked on a possible solution for the batch action in addition to inline editing but I want to get on the same page with the other UX folks since this could be a pattern we use across the board. So, please bear with me on the batching editing part.
>>
>> Besides that, I think it looks great. I do have some feedback for you though -
>>
>> 1. I think we should not multi-purpose the +/- widget from the tree lists to serve as an icon for disabled. I think it will be perfectly fine to display the checked icon for only the rows that are enabled.
>> 2. Reduce the space between the time spinner and the minutes/ time unit drop down.
>> 3. With regard to step values for the spinner, I almost always see the step value to be 1. If they want to type something else without using the spinner, they should be able to do so.
>>
>> I would like to see a quick demo of how this is working so I can provide any additional feedback on the interaction. Please feel free to schedule some time at your convenience.
>>
>> Thanks,
>>
>> Malini
>>
>>
>>
>>
>>
>>
>> From: "mike thompson" <mithomps(a)redhat.com>
>> To: "Malini Rao" <mrao(a)redhat.com>, "Harlan Douglas" <hdouglas(a)redhat.com>, "Alan Santos" <asantos(a)redhat.com>, "Charles Crouch" <ccrouch(a)redhat.com>
>> Sent: Thursday, April 26, 2012 1:12:41 PM
>> Subject: Resource Metric Collection Schedules with in-place editing
>>
>> Here is the new and improved resource metric collection schedules with Malinis' recommendations.
>>
>>
>>
>>
>> The old screen is here for reference:
>>
>>
>>
>>
>>
>>
>>
>> The original screen doesn't look much different until you click on the grid and enable the cell editing. The buttons at the bottom of the screen have been removed.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> Once you click on a row, you can edit the grid cell by either enabling/disabling or changing the collection interval.
>>
>>
>>
>>
>>
>> I have set the step values on the collection interval spinner to:
>>
>>
>> seconds: 5
>> minutes: 5
>> hours: 1
>>
>>
>> Meaning if you hit the spinners when in minutes it will jump by 5 minutes (not 1 minute). Are these appropriate defaults? Or should they all just be 1?
>>
>>
>> One other piece of functionality that went away is being able to select multiple rows and applying an operation to the multiple rows. I assume that since it is quicker set this stuff now that it won't be an issue and metrics are probably managed at a group or autogroup level for any kind of builk settings.
>>
>>
>>
>>
>>
>>
>> -- Mike
>>
>>
>>
>>
>>
>>
>>
>>
>>
>
12 years
First cut at REST api documentation
by Heiko W.Rupp
Hi,
over the weekend I sat down and wrote an annotation processor[2] that can read the annotations [4] defined in the
Swagger project[1] to provide documentation of the REST api. While a REST-api should be discoverable, in practice
it shows that some help on possible parameters is helpful.
I had started to provide this information on the wiki, but this job is just "too manual".
The source currently lives in a private branch - I will merge that to master as soon as it is clear
if the annotation processor will end up in the swagger repo[3] or not (and which will be the alternative).
Find below the raw generated XML file, as well as a HTML version that was generated via XSL from the XML one.
Heiko
[1] http://swagger.wordnik.com/
[2] https://github.com/pilhuhn/swagger-core/tree/apt
[3] https://github.com/wordnik/swagger-core
[4] https://github.com/pilhuhn/swagger-core/tree/split_annotations ( they are currently in swagger-core , but not split out and would pull in too many
dependencies we don't want - see [3])
--
Reg. Adresse: Red Hat GmbH, Technopark II, Haus C,
Werner-von-Siemens-Ring 14, D-85630 Grasbrunn
Handelsregister: Amtsgericht München HRB 153243
Geschaeftsführer: Mark Hegarty, Charlie Peters, Michael Cunningham, Charles Cachera
12 years
List Grid Model with In-Place Editing
by mike thompson
Here is revised example of the in-place editing model that we would like to roll out to the editable grids.
The first screenshot is the read-only mode where a row has not been selected.
This second screenshot is a row being edited in-place. The changes are saved once the save (check) is clicked or Enter key pressed.
Notably missing is the bulk edit feature (selecting multiple rows). The in-place editing model switches the grid into single selection mode so multiple rows cannot be selected. It is assumed that this model will enable edits quickly enough that a bulk editing model will not be needed.
Feedback?
-- Mike
12 years
Start operation semantics for AS - Request for Feedback
by Jay Shaughnessy
The AS5 and AS7 plugins have enhanced their support for the Start
operation by better recreating the environment the server was discovered
in. It does this by adding two new connection props, startScriptEnv and
startScriptArgs. StartScriptEnv provides the environment variables, and
startScriptArgs provides the script arguments, to be applied to the
start script executing in response to the resource operation.
AS5 and AS7 have discovery code in place to populate these new
properties with the environment running at discovery time.
(Additionally, there is discovery support for custom script names.) In
this way the Start operation better reproduces the environment of the
AS. Previously, only the Configuration and Bind Address were
discovered and used in the Start operation and this was not sufficient.
These new properties are editable, allowing the user to add, change,
remove environment variables and/or script args as necessary. Or, in
the case of AS5 legacy resources, add initial values if desired because
they will be empty after upgrade.
The changes are good but introduce some subtlety in semantics.
Currently things work as follows:
If startScriptEnv is unset then the start script defaults to the RHQ
agent's environment. Note, this is not a union. If any startScriptEnv
values are specified then those will be the only environment variables
applied to the environment. This makes the run environment
deterministic. The discovery code is designed to provide only the
required subset for the standard AS start scripts.
Note that if startScriptEnv is unset, JAVA_HOME as set in the connection
property will override the Agent's setting. This property is also used
for the Shutdown operation.
If startScriptArgs is unset, then the start script defaults to the
legacy behavior and applies the Configuration and Bind Address
discovered in the individual connection props. This is also not a
union. If any startScriptArgs are specified then those will be the only
script args applied. The discovery code is designed to try and discover
all of the originally supplied script args.
One question is whether the current behavior is correct when and if the
Configuration or Bind Address connection properties are edited or, for
any other reason, don't match the settings in startScriptArgs. As
stated above, those property values are ignored of startScriptArgs is
set. Meaning, the value in startScriptArgs will supersede any setting
for the individual properties.
My feeling is that this is OK, it's possible those script args will even
apply if the customer is using a custom script. The property
descriptions could be updated to make clear that the value is overridden
if startScriptArgs is set. Additionally, the behavior can be formally
documented and referenced in the release notes.
If you have an opinion on any of the above semantics please let us know
so the new feature can be finalized. Thanks, Jay and Ian.
12 years