Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
In TaskMonitorTmpl.jamon :
List<? extends MonitoredTask> tasks = taskMonitor.getTasks(); Iterator<? extends MonitoredTask> iter = tasks.iterator(); // apply requested filter while (iter.hasNext()) { MonitoredTask t = iter.next(); if (filter.equals("general")) { if (t instanceof MonitoredRPCHandler) iter.remove();
This means when user refreshes rs-status page, regardless of the type of filter, we always traverse and clone MonitoredTask's.
getTasks() is synchronized :
public synchronized List<MonitoredTask> getTasks() {
A variant of getTasks() can be added which takes the type of filter so that unnecessary cloning is avoided.