You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2022/01/21 14:32:53 UTC

[brooklyn-server] 09/12: tidy elect primary policy

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-server.git

commit 7a9736e121c5c76ffacd89333905fa108a6dfc99
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Fri Jan 21 13:38:18 2022 +0000

    tidy elect primary policy
---
 .../org/apache/brooklyn/policy/failover/ElectPrimaryPolicy.java   | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/policy/src/main/java/org/apache/brooklyn/policy/failover/ElectPrimaryPolicy.java b/policy/src/main/java/org/apache/brooklyn/policy/failover/ElectPrimaryPolicy.java
index 35a436e..e4cb8fb 100644
--- a/policy/src/main/java/org/apache/brooklyn/policy/failover/ElectPrimaryPolicy.java
+++ b/policy/src/main/java/org/apache/brooklyn/policy/failover/ElectPrimaryPolicy.java
@@ -44,6 +44,7 @@ import org.apache.brooklyn.core.mgmt.BrooklynTaskTags;
 import org.apache.brooklyn.core.policy.AbstractPolicy;
 import org.apache.brooklyn.core.sensor.Sensors;
 import org.apache.brooklyn.entity.group.DynamicGroup;
+import org.apache.brooklyn.policy.failover.ElectPrimaryEffector.ResultCode;
 import org.apache.brooklyn.util.collections.MutableList;
 import org.apache.brooklyn.util.collections.QuorumCheck.QuorumChecks;
 import org.apache.brooklyn.util.core.task.DynamicTasks;
@@ -255,7 +256,7 @@ public class ElectPrimaryPolicy extends AbstractPolicy implements ElectPrimaryCo
             Task<?> task = Effectors.invocation(entity, Preconditions.checkNotNull( ((EntityInternal)entity).getEffector(effName) ), config().getBag()).asTask();
             BrooklynTaskTags.addTagDynamically(task, BrooklynTaskTags.NON_TRANSIENT_TASK_TAG);
             
-            highlight("lastScan", "Running "+effName+" on "+contextString, task);
+            highlight("lastScan", "Running "+effName+"; triggered by "+contextString, task);
             
             Object result = DynamicTasks.get(task);
             if (result instanceof Map) code = Strings.toString( ((Map<?,?>)result).get("code") );
@@ -266,6 +267,9 @@ public class ElectPrimaryPolicy extends AbstractPolicy implements ElectPrimaryCo
             if (ElectPrimaryEffector.ResultCode.NO_PRIMARY_AVAILABLE.name().equalsIgnoreCase(code)) {
                 highlightViolation("No primary available");
             }
+            if (ResultCode.PRIMARY_UNCHANGED.name().equalsIgnoreCase(code)) {
+                highlightConfirmation("Primary re-elected: "+niceName(((Map<?,?>)result).get("primary")));
+            }
         } catch (Throwable e) {
             Exceptions.propagateIfFatal(e);
             if (!Entities.isManagedActive(entity)) throw Exceptions.propagate(e);
@@ -289,7 +293,7 @@ public class ElectPrimaryPolicy extends AbstractPolicy implements ElectPrimaryCo
         }
     }
 
-    private String niceName(Object primary) {
+    protected String niceName(Object primary) {
         if (primary instanceof BrooklynObject) {
             if (Strings.isNonBlank( ((BrooklynObject)primary).getDisplayName() )) {
                 String name = ((BrooklynObject)primary).getDisplayName();