You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@eagle.apache.org by qi...@apache.org on 2016/11/11 08:37:24 UTC
incubator-eagle git commit: [MINOR] add back policy scheduler
Repository: incubator-eagle
Updated Branches:
refs/heads/master aa7b0254d -> 45af18e7f
[MINOR] add back policy scheduler
Author: Zhao, Qingwen <qi...@apache.org>
Closes #646 from qingwen220/minor.
Project: http://git-wip-us.apache.org/repos/asf/incubator-eagle/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-eagle/commit/45af18e7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-eagle/tree/45af18e7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-eagle/diff/45af18e7
Branch: refs/heads/master
Commit: 45af18e7faac26eb564ae247cb702f89f9e886d2
Parents: aa7b025
Author: Zhao, Qingwen <qi...@apache.org>
Authored: Fri Nov 11 16:37:16 2016 +0800
Committer: Zhao, Qingwen <qi...@apache.org>
Committed: Fri Nov 11 16:37:16 2016 +0800
----------------------------------------------------------------------
.../eagle/alert/coordinator/Coordinator.java | 33 +++++++++++++++++++-
1 file changed, 32 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/45af18e7/eagle-core/eagle-alert-parent/eagle-alert/alert-coordinator/src/main/java/org/apache/eagle/alert/coordinator/Coordinator.java
----------------------------------------------------------------------
diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-coordinator/src/main/java/org/apache/eagle/alert/coordinator/Coordinator.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-coordinator/src/main/java/org/apache/eagle/alert/coordinator/Coordinator.java
index 95698e8..2a0abce 100644
--- a/eagle-core/eagle-alert-parent/eagle-alert/alert-coordinator/src/main/java/org/apache/eagle/alert/coordinator/Coordinator.java
+++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-coordinator/src/main/java/org/apache/eagle/alert/coordinator/Coordinator.java
@@ -26,6 +26,10 @@ import org.apache.eagle.alert.config.ZKConfigBuilder;
import org.apache.eagle.alert.coordination.model.ScheduleState;
import org.apache.eagle.alert.coordinator.impl.MetadataValdiator;
import org.apache.eagle.alert.coordinator.provider.ScheduleContextBuilder;
+import org.apache.eagle.alert.coordinator.trigger.CoordinatorTrigger;
+import org.apache.eagle.alert.coordinator.trigger.DynamicPolicyLoader;
+import org.apache.eagle.alert.coordinator.trigger.PolicyChangeListener;
+import org.apache.eagle.alert.engine.coordinator.PolicyDefinition;
import org.apache.eagle.alert.service.IMetadataServiceClient;
import org.apache.eagle.alert.service.MetadataServiceClientImpl;
import org.slf4j.Logger;
@@ -33,6 +37,8 @@ import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.text.MessageFormat;
+import java.util.Collection;
+import java.util.List;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@@ -192,6 +198,29 @@ public class Coordinator {
}
}
+ private static class PolicyChangeHandler implements PolicyChangeListener {
+ private static final Logger LOG = LoggerFactory.getLogger(PolicyChangeHandler.class);
+ private Config config;
+ private IMetadataServiceClient client;
+
+ public PolicyChangeHandler(Config config, IMetadataServiceClient client) {
+ this.config = config;
+ this.client = client;
+ }
+
+ @Override
+ public void onPolicyChange(List<PolicyDefinition> allPolicies, Collection<String> addedPolicies,
+ Collection<String> removedPolicies, Collection<String> modifiedPolicies) {
+ LOG.info("policy changed ... ");
+ LOG.info("allPolicies: " + allPolicies + ", addedPolicies: " + addedPolicies + ", removedPolicies: "
+ + removedPolicies + ", modifiedPolicies: " + modifiedPolicies);
+
+ CoordinatorTrigger trigger = new CoordinatorTrigger(config, client);
+ trigger.run();
+
+ }
+ }
+
public static void startSchedule() {
Config config = ConfigFactory.load().getConfig(COORDINATOR);
String host = config.getString(METADATA_SERVICE_HOST);
@@ -208,7 +237,9 @@ public class Coordinator {
return t;
});
- // scheduleSrv.scheduleAtFixedRate(new CoordinatorTrigger(config, client), initDelayMillis, delayMillis, TimeUnit.MILLISECONDS);
+ DynamicPolicyLoader loader = new DynamicPolicyLoader(client);
+ loader.addPolicyChangeListener(new PolicyChangeHandler(config, client));
+ scheduleSrv.scheduleAtFixedRate(loader, initDelayMillis, delayMillis, TimeUnit.MILLISECONDS);
Runtime.getRuntime().addShutdownHook(new Thread(new CoordinatorShutdownHook(scheduleSrv)));
LOG.info("Eagle Coordinator started ...");