You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2013/11/27 17:33:46 UTC
svn commit: r1546095 -
/hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/TaskMonitor.java
Author: tedyu
Date: Wed Nov 27 16:33:45 2013
New Revision: 1546095
URL: http://svn.apache.org/r1546095
Log:
HBASE-10046 Unmonitored HBase service could accumulate Status objects and OOM
Modified:
hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/TaskMonitor.java
Modified: hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/TaskMonitor.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/TaskMonitor.java?rev=1546095&r1=1546094&r2=1546095&view=diff
==============================================================================
--- hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/TaskMonitor.java (original)
+++ hbase/branches/0.96/hbase-server/src/main/java/org/apache/hadoop/hbase/monitoring/TaskMonitor.java Wed Nov 27 16:33:45 2013
@@ -73,8 +73,9 @@ public class TaskMonitor {
new Class<?>[] { MonitoredTask.class },
new PassthroughInvocationHandler<MonitoredTask>(stat));
TaskAndWeakRefPair pair = new TaskAndWeakRefPair(stat, proxy);
- synchronized (this) {
- tasks.add(pair);
+ tasks.add(pair);
+ if (tasks.size() > MAX_TASKS) {
+ purgeExpiredTasks();
}
return proxy;
}
@@ -87,8 +88,9 @@ public class TaskMonitor {
new Class<?>[] { MonitoredRPCHandler.class },
new PassthroughInvocationHandler<MonitoredRPCHandler>(stat));
TaskAndWeakRefPair pair = new TaskAndWeakRefPair(stat, proxy);
- synchronized (this) {
- tasks.add(pair);
+ tasks.add(pair);
+ if (tasks.size() > MAX_TASKS) {
+ purgeExpiredTasks();
}
return proxy;
}