hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-4028) Hmaster crashes caused by splitting log.
Date Sat, 25 Jun 2011 10:06:47 GMT

    [ https://issues.apache.org/jira/browse/HBASE-4028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13054852#comment-13054852
] 

Ted Yu commented on HBASE-4028:
-------------------------------

Thanks Gao for the patch. 
I think the following can be simplified:
{code}
+        while (totalBuffered > maxHeapUsage && (thrown == null || thrown.get()==
null)){
{code}
to this because writerThreadError() would only set thrown to a non-null Throwable:
{code}
+        while (totalBuffered > maxHeapUsage && thrown.get()== null){
{code}
I am running the modified patch on 0.90 branch. Will commit if tests pass.

> Hmaster crashes caused by splitting log.
> ----------------------------------------
>
>                 Key: HBASE-4028
>                 URL: https://issues.apache.org/jira/browse/HBASE-4028
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>    Affects Versions: 0.90.3
>            Reporter: gaojinchao
>            Assignee: gaojinchao
>             Fix For: 0.90.4
>
>         Attachments: HBASE-4028-0.90V2, Screenshot-2.png, Verifiedresult.png, hbase-root-master-157-5-100-8.rar
>
>
> In my performance cluster(0.90.3), The Hmaster memory from 100 M up to 4G when one region
server crashed.
> I added some print in function doneWriting and found the values of totalBuffered is negative.
> 10:29:52,119 WARN org.apache.hadoop.hbase.regionserver.wal.HLogSplitter: gjc:release
Used -565832
> hbase-root-master-157-5-111-21.log:2011-06-24 10:29:52,119 WARN org.apache.hadoop.hbase.regionserver.wal.HLogSplitter:
gjc:release Used -565832release size25168
> void doneWriting(RegionEntryBuffer buffer) {
>       synchronized (this) {
>     	LOG.warn("gjc1: relase currentlyWriting +biggestBufferKey " + buffer.encodedRegionName
);
>         boolean removed = currentlyWriting.remove(buffer.encodedRegionName);
>         assert removed;
>       }
>       long size = buffer.heapSize();
>       synchronized (dataAvailable) {
>         totalBuffered -= size;
>         LOG.warn("gjc:release Used " + totalBuffered );
>         // We may unblock writers
>         dataAvailable.notifyAll();
>       }
>       LOG.warn("gjc:release Used " + totalBuffered + "release size"+ size);
>     }

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message