>From Peeyush Gupta <[email protected]>: Peeyush Gupta has submitted this change. ( https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17835 )
Change subject: [NO ISSUE][OTH] Create getters getRunningJobCount and getEventListenersAsList ...................................................................... [NO ISSUE][OTH] Create getters getRunningJobCount and getEventListenersAsList - user model changes: no - storage format changes: no - interface changes: yes Details: ActiveNotificationHandler.getEventListeners creates an array on every call. This patch adds getEventListenersAsList that returns an unmodifiableList of active listners without creating a new array. Change-Id: I2b67d7bdfe6bca5f39a438f4110eecea5a3c98bf Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17835 Reviewed-by: Murtadha Hubail <[email protected]> Tested-by: Murtadha Hubail <[email protected]> --- M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/IJobManager.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveNotificationHandler.java M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/JobManager.java M asterixdb/asterix-active/src/main/java/org/apache/asterix/active/IActiveNotificationHandler.java 4 files changed, 44 insertions(+), 0 deletions(-) Approvals: Murtadha Hubail: Looks good to me, approved; Verified diff --git a/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/IActiveNotificationHandler.java b/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/IActiveNotificationHandler.java index 60bfa69..1efd58e 100644 --- a/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/IActiveNotificationHandler.java +++ b/asterixdb/asterix-active/src/main/java/org/apache/asterix/active/IActiveNotificationHandler.java @@ -19,6 +19,8 @@ */ package org.apache.asterix.active; +import java.util.Collection; + import org.apache.asterix.active.message.ActivePartitionMessage; import org.apache.hyracks.api.exceptions.HyracksDataException; @@ -58,6 +60,11 @@ IActiveEntityEventsListener[] getEventListeners(); /** + * @return List of all the registered event listeners + */ + Collection<IActiveEntityEventsListener> getEventListenersAsList(); + + /** * Lookup an event listener using the entity id * * @param entityId diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveNotificationHandler.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveNotificationHandler.java index 6b3581e..3c277d5 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveNotificationHandler.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/app/active/ActiveNotificationHandler.java @@ -19,6 +19,7 @@ package org.apache.asterix.app.active; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -187,6 +188,11 @@ } @Override + public synchronized Collection<IActiveEntityEventsListener> getEventListenersAsList() { + return Collections.unmodifiableCollection(entityEventListeners.values()); + } + + @Override public synchronized void registerListener(IActiveEntityEventsListener listener) throws HyracksDataException { if (suspended) { throw new RuntimeDataException(ErrorCode.ACTIVE_NOTIFICATION_HANDLER_IS_SUSPENDED); diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/IJobManager.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/IJobManager.java index a9ddee3..b2795d4 100644 --- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/IJobManager.java +++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/IJobManager.java @@ -112,6 +112,11 @@ Collection<JobRun> getRunningJobs(); /** + * @return number of jobs that are currently running. + */ + int getRunningJobsCount(); + + /** * @return all jobs that are currently waiting in the job queue. */ Collection<JobRun> getPendingJobs(); diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/JobManager.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/JobManager.java index 9850ee2..4882f4a 100644 --- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/JobManager.java +++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/job/JobManager.java @@ -264,6 +264,11 @@ } @Override + public int getRunningJobsCount() { + return activeRunMap.size(); + } + + @Override public Collection<JobRun> getPendingJobs() { return jobQueue.jobs(); } -- To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17835 To unsubscribe, or for help writing mail filters, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Change-Id: I2b67d7bdfe6bca5f39a438f4110eecea5a3c98bf Gerrit-Change-Number: 17835 Gerrit-PatchSet: 3 Gerrit-Owner: Peeyush Gupta <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Murtadha Hubail <[email protected]> Gerrit-Reviewer: Peeyush Gupta <[email protected]> Gerrit-MessageType: merged
