You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "James Baldassari (JIRA)" <ji...@apache.org> on 2010/05/26 16:59:37 UTC
[jira] Commented: (HBASE-2169) CME in master
regionsAwaitingAssignment
[ https://issues.apache.org/jira/browse/HBASE-2169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12871761#action_12871761 ]
James Baldassari commented on HBASE-2169:
-----------------------------------------
I've recently seen the following stack trace in our logs (0.20.3):
java.io.IOException: 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.regionsAwaitingAssignment(RegionManager.java:415)
at org.apache.hadoop.hbase.master.RegionManager.assignRegions(RegionManager.java:196)
at org.apache.hadoop.hbase.master.ServerManager.processMsgs(ServerManager.java:482)
at org.apache.hadoop.hbase.master.ServerManager.processRegionServerAllsWell(ServerManager.java:414)
at org.apache.hadoop.hbase.master.ServerManager.regionServerReport(ServerManager.java:323)
at org.apache.hadoop.hbase.master.HMaster.regionServerReport(HMaster.java:724)
at sun.reflect.GeneratedMethodAccessor4.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:657)
at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:915)
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:94)
at org.apache.hadoop.hbase.RemoteExceptionHandler.checkThrowable(RemoteExceptionHandler.java:48)
at org.apache.hadoop.hbase.RemoteExceptionHandler.checkIOException(RemoteExceptionHandler.java:66)
at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:574)
at java.lang.Thread.run(Thread.java:619)
After looking at the source it seemed like a simple matter of synchronizing on regionsInTransition before iterating over it, so I was going to submit a patch to that effect, but the following comment at the top of the regionsAwaitingAssignment(HServerAddress, boolean) method indicates that someone thought this wasn't necessary: "Note that no synchronization on regionsInTransition is needed because the only caller (assignRegions, whose caller is ServerManager.processMsgs) owns the monitor for RegionManager"
> CME in master regionsAwaitingAssignment
> ---------------------------------------
>
> Key: HBASE-2169
> URL: https://issues.apache.org/jira/browse/HBASE-2169
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.20.3
> Reporter: stack
>
> Got this in a regionserver log:
> {code}
> 3970 java.io.IOException: java.io.IOException: java.util.ConcurrentModificationException
> 3971 at java.util.TreeMap$PrivateEntryIterator.nextEntry(TreeMap.java:1100)
> 3972 at java.util.TreeMap$ValueIterator.next(TreeMap.java:1145)
> 3973 at org.apache.hadoop.hbase.master.RegionManager.regionsAwaitingAssignment(RegionManager.java:415)
> 3974 at org.apache.hadoop.hbase.master.RegionManager.assignRegions(RegionManager.java:196)
> 3975 at org.apache.hadoop.hbase.master.ServerManager.processMsgs(ServerManager.java:482)
> 3976 at org.apache.hadoop.hbase.master.ServerManager.processRegionServerAllsWell(ServerManager.java:414)
> 3977 at org.apache.hadoop.hbase.master.ServerManager.regionServerReport(ServerManager.java:323)
> 3978 at org.apache.hadoop.hbase.master.HMaster.regionServerReport(HMaster.java:724)
> 3979 at sun.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
> 3980 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 3981 at java.lang.reflect.Method.invoke(Method.java:597)
> 3982 at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:652)
> 3983 at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:915)
> 3984
> 3985 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
> 3986 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
> 3987 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
> 3988 at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
> 3989 at org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:94)
> 3990 at org.apache.hadoop.hbase.RemoteExceptionHandler.checkThrowable(RemoteExceptionHandler.java:48)
> 3991 at org.apache.hadoop.hbase.RemoteExceptionHandler.checkIOException(RemoteExceptionHandler.java:66)
> 3992 at org.apache.hadoop.hbase.regionserver.HRegionServer.run(HRegionServer.java:574)
> 3993 at java.lang.Thread.run(Thread.java:619)
> {code}
> The regionserver was crashing and burning at the time but still.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.