>From Peeyush Gupta <[email protected]>:
Peeyush Gupta has uploaded this change for review. (
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
---
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, 41 insertions(+), 0 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/35/17835/1
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..bce0e88 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.values().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: 1
Gerrit-Owner: Peeyush Gupta <[email protected]>
Gerrit-MessageType: newchange