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

Jim Kellerman resolved HBASE-599.
---------------------------------

    Resolution: Fixed

Committed with patch for HBASE-478

> CME iterating return from ServerManager.getMarkedToClose
> --------------------------------------------------------
>
>                 Key: HBASE-599
>                 URL: https://issues.apache.org/jira/browse/HBASE-599
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: stack
>            Assignee: Jim Kellerman
>            Priority: Critical
>             Fix For: 0.2.0
>
>
> Below is a note from list from David Alves
> {code}
>       I'm seeing some CMEs in the logs they occurred while I still had bad
> dfs.replication settings between hadoop and hbase but still thought you
> should know.
> Trace:
> 2008-04-21 13:20:46,443 WARN
> org.apache.hadoop.hbase.regionserver.HRegionServer: Processing message
> (Retry: 0)
> java.io.IOException: java.io.IOException:
> java.util.ConcurrentModificationException
>       at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
>       at java.util.HashMap$ValueIterator.next(HashMap.java:822)
>       at
> org.apache.hadoop.hbase.master.ServerManager.processMsgs(ServerManager.java:350)
>       at
> org.apache.hadoop.hbase.master.ServerManager.processRegionServerAllsWell(ServerManager.java:299)
>       at
> org.apache.hadoop.hbase.master.ServerManager.regionServerReport(ServerManager.java:217)
>       at
> org.apache.hadoop.hbase.master.HMaster.regionServerReport(HMaster.java:560)
>       at sun.reflect.GeneratedMethodAccessor2.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:413)
>       at org.apache.hadoop.ipc.Server$Handler.run(Server.java:896)
>       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
> Method)
>       at
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>       at
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>       at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>       at
> org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:82)
>       at
> org.apache.hadoop.hbase.RemoteExceptionHandler.checkIOException(RemoteExceptionHandler.java:48)
>       at
> org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:388)
>       at java.lang.Thread.run(Thread.java:619)
> {code}
> Looking at it, the fix would seem to be cloning the Map we give out but the 
> clone needs to be done inside a synchronize of the Map being cloned so some 
> more extensive synchronizing needs to be added to the ServerManager class.  
> Looking too, it seems like regionsToClose is not protected everywhere (maybe 
> I'm not reading it right).
> Bryan, you'd probably be best handlng this issue.

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

Reply via email to