hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (HBASE-1162) CME in Master in RegionManager.applyActions
Date Wed, 20 May 2009 21:48:45 GMT

     [ https://issues.apache.org/jira/browse/HBASE-1162?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

stack resolved HBASE-1162.
--------------------------

       Resolution: Fixed
    Fix Version/s: 0.20.0

Committed below:

{code}
Index: src/java/org/apache/hadoop/hbase/master/RegionManager.java
===================================================================
--- src/java/org/apache/hadoop/hbase/master/RegionManager.java  (revision 776823)
+++ src/java/org/apache/hadoop/hbase/master/RegionManager.java  (working copy)
@@ -1122,11 +1122,11 @@
   
   private void applyActions(final HServerInfo serverInfo,
       final ArrayList<HMsg> returnMsgs,
-      SortedMap<byte[], Pair<HRegionInfo,HServerAddress>> map,
+      final SortedMap<byte[], Pair<HRegionInfo,HServerAddress>> map,
       final HMsg.Type msg) {
     HServerAddress addr = serverInfo.getServerAddress();
-    Iterator<Pair<HRegionInfo, HServerAddress>> i = map.values().iterator();
     synchronized (map) {
+      Iterator<Pair<HRegionInfo, HServerAddress>> i = map.values().iterator();
       while (i.hasNext()) {
         Pair<HRegionInfo,HServerAddress> pair = i.next();
         if (addr.equals(pair.getSecond())) {
{code}

We got the iterator on map and then synchronized on it rather than get iterator inside synchronize
block.

> CME in Master in RegionManager.applyActions
> -------------------------------------------
>
>                 Key: HBASE-1162
>                 URL: https://issues.apache.org/jira/browse/HBASE-1162
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: master
>    Affects Versions: 0.19.0
>            Reporter: Andrew Purtell
>             Fix For: 0.20.0
>
>
> CME in Master in RegionManager.applyActions
> I believe a region server reported during while a manual compaction request was being
processed.
> hbase> compact 'content'
> followed within seconds by...
> 2009-01-28 22:41:00,822 INFO org.apache.hadoop.ipc.HBaseServer: IPC Server handler 7
on 60000, call regionServerReport(address: 10.30.94.34:60020, startcode: 1233137135818, load:
(requests=11, regions=257, usedHeap=1013, maxHeap=1774), [Lorg.apache.hadoop.hbase.HMsg;@6cf8f20d,
[Lorg.apache.hadoop.hbase.HRegionInfo;@4bdb6b5f) from 10.30.94.34:58823: error: java.io.IOException:
java.util.ConcurrentModificationException
> java.io.IOException: java.util.ConcurrentModificationException
>         at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100)
>         at java.util.TreeMap$ValueIterator.next(TreeMap.java:1145)
>         at org.apache.hadoop.hbase.master.RegionManager.applyActions(RegionManager.java:1015)
>         at org.apache.hadoop.hbase.master.RegionManager.applyActions(RegionManager.java:996)
>         at org.apache.hadoop.hbase.master.ServerManager.processMsgs(ServerManager.java:452)
>         at org.apache.hadoop.hbase.master.ServerManager.processRegionServerAllsWell(ServerManager.java:388)
>         at org.apache.hadoop.hbase.master.ServerManager.regionServerReport(ServerManager.java:292)
>         at org.apache.hadoop.hbase.master.HMaster.regionServerReport(HMaster.java:569)
>         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:632)
>         at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:895)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message