This is an automated email from the ASF dual-hosted git repository.

heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-docs.git


The following commit(s) were added to refs/heads/master by this push:
     new faf1ac9  Incorporate some feedback from Aled Sage
     new 0ee14a0  This closes #291
faf1ac9 is described below

commit faf1ac9be629caae6aa1fe98c64059c12f8cf32e
Author: Denis Ovsienko <[email protected]>
AuthorDate: Fri Aug 16 17:26:14 2019 +0100

    Incorporate some feedback from Aled Sage
    
    * configuration-sensor-effectors.md: reword for clarity
    * lifecycle-managementcontext.md: Brooklyn does not support that feature
    * execution.md: idem
    * dependent-configuration.md: acknowledge the potential for deadlocks
    * application-parent-membership.md: expand the example
---
 guide/concepts/application-parent-membership.md  | 17 +++++++++++++----
 guide/concepts/configuration-sensor-effectors.md |  5 +++--
 guide/concepts/dependent-configuration.md        |  3 +++
 guide/concepts/execution.md                      |  1 -
 guide/concepts/lifecycle-managementcontext.md    |  2 --
 5 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/guide/concepts/application-parent-membership.md 
b/guide/concepts/application-parent-membership.md
index bedd71e..52874f4 100644
--- a/guide/concepts/application-parent-membership.md
+++ b/guide/concepts/application-parent-membership.md
@@ -15,8 +15,17 @@ For example, an application may be the parent of a web 
cluster; that cluster in
 In the management console, this is represented hierarchically in a tree view.
 
 A parallel concept is that of ***membership***: in addition to one fixed 
parent,
-and entity may be a ***member*** of any number of special entities called 
***groups***.
+an entity may be a ***member*** of zero or more ***groups*** (a "group" is a 
special kind of entity).
 Membership of a group can be used for whatever purpose is required; 
-for example, it can be used to manage a collection of entities together for 
one purpose 
-(e.g. wide-area load-balancing between locations) even though they may have 
been
-created by different parents (e.g. a multi-tier stack within a location).
+it is commonly used to manage a collection of entities together for one 
purpose.
+
+For example, a group could be used to indicate the targets for a load 
balancer, getting
+the address of each. These targets do not need to have the same parent (e.g. 
the members
+may have been deployed in different locations, where the 'parent' hierarchy 
mirrors the
+different locations).
+
+Another example would be deployment of a set of VMs where there is a "sidecar" 
logging
+process on each VM. The parent hierarchy could be a top-level cluster with a 
child entity
+per VM. Under each of these VM entities there could be two child entities for 
the two
+processes. There could then be a "group" entity whose members were all the 
sidecar
+logger entities.
diff --git a/guide/concepts/configuration-sensor-effectors.md 
b/guide/concepts/configuration-sensor-effectors.md
index b0d9f9d..2c28bdb 100644
--- a/guide/concepts/configuration-sensor-effectors.md
+++ b/guide/concepts/configuration-sensor-effectors.md
@@ -27,9 +27,10 @@ in the entity's interface is the recommended mechanism for 
exposing configuratio
 
 ***Sensors*** (activity information and notifications) and ***effectors*** 
(operations that can be invoked on the entity) are defined by entities as 
static fields on the `Entity` subclass.
 
-Sensors can be updated by the entity or associated tasks, and sensors from an 
entity can be subscribed to by its parent or other entities to track changes in 
an entity's activity.
+Sensors can be updated by the entity or associated tasks – each update 
generates an event. An entity can subscribe to sensor events from itself or 
other entities.
+A common pattern is for an entity to subscribe to its children (or for a group 
to subscribe to its members), to aggregate the sensor data and to respond to 
those events.
 
-Effectors can be invoked by an entity's parent remotely, and the invoker is 
able to track the execution of that effector. Effectors can be invoked by other 
entities, but use this functionality with care to prevent too many managers!
+Effectors can be invoked by an entity's parent, and the invoker is able to 
track the execution of that effector. Effectors can also be invoked by other 
entities, but use this functionality with care to prevent too many managers!
 
 An entity consists of a Java interface (used when interacting with the entity) 
and a Java class. For resilience, it is recommended to store 
 the entity's state in attributes (see `getAttribute(AttributeKey)`). If 
internal fields are used then the data will be lost on brooklyn
diff --git a/guide/concepts/dependent-configuration.md 
b/guide/concepts/dependent-configuration.md
index 21b5e95..bb25948 100644
--- a/guide/concepts/dependent-configuration.md
+++ b/guide/concepts/dependent-configuration.md
@@ -28,4 +28,7 @@ Typically this does the right thing, blocking when necessary 
to generate the rig
 without the developer having to think through the order, but it can take some 
getting used to.
 Be careful not to request config information until really necessary (or to use 
non-blocking "raw" mechanisms),
 and in complicated situations be ready to attend to circular dependencies.
+Trying to resolve a circular dependency leads to a deadlock in those 
activities. The presence of such deadlocks can
+be seen by viewing the web-console's 'activities' tab of the (hung) entities – 
it will show what the executing
+activities are waiting for. Automated detection/alerting of deadlocks is 
currently not supported in Brooklyn.
 The management console gives useful information for understanding what is 
happening and resolving the cycle.
diff --git a/guide/concepts/execution.md b/guide/concepts/execution.md
index 9fd0038..d4e9ebe 100644
--- a/guide/concepts/execution.md
+++ b/guide/concepts/execution.md
@@ -7,7 +7,6 @@ All processing, whether an effector invocation or a policy 
cycle, are tracked as
 *      active and historic processing can be observed by operators
 *      the invocation context is available in the thread, to check entitlement 
(permissions) and maintain a
 hierarchical causal chain even when operations are run in parallel
-*      processing can be managed across multiple management nodes
 
 Some executions create new entities, which can then have tasks associated with 
them, and the system will record, for example, that a start effector on the new 
entity is a task associated with that entity, with that task
 created by a task associated with a different entity.
diff --git a/guide/concepts/lifecycle-managementcontext.md 
b/guide/concepts/lifecycle-managementcontext.md
index 68babb3..44e4471 100644
--- a/guide/concepts/lifecycle-managementcontext.md
+++ b/guide/concepts/lifecycle-managementcontext.md
@@ -32,8 +32,6 @@ Typically a Brooklyn deployment has a single management 
context which records:
 
 In a multi-location deployment, management operates in all regions, with 
brooklyn entity instances being mastered in the relevant region.
 
-When management is distributed a Brooklyn deployment may consist of multiple 
Brooklyn management nodes each with a ``ManagementContext`` instance.
-
 <!-- TODO - Clarify the following statements.
 The management context entity forms part of the management plane. 
 The management plane is responsible for the distribution of the ``Entity`` 
instances across multiple machines and multiple locations, 

Reply via email to