You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Sahil Aggarwal (JIRA)" <ji...@apache.org> on 2017/01/21 16:34:26 UTC

[jira] [Commented] (HBASE-17104) Improve cryptic error message "Memstore size is" on region close

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

Sahil Aggarwal commented on HBASE-17104:
----------------------------------------

We end up here only when abort=true and canFlush=true(region is writable) in which case we don't flush memstore. If abort=false then we should have definitely flushed memstore by now and size would be 0 if canFlush=true.

I have created patch for it but not able to submit using dev-support/submit-patch.py script. Getting error: 

CRITICAL:submit-patch: Oops, something went wrong when uploading patch to jira.
Response: 403 Forbidden

> Improve cryptic error message "Memstore size is" on region close
> ----------------------------------------------------------------
>
>                 Key: HBASE-17104
>                 URL: https://issues.apache.org/jira/browse/HBASE-17104
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Matteo Bertozzi
>            Priority: Trivial
>              Labels: beginner, noob
>             Fix For: 2.0.0
>
>
> while grepping my RS log for ERROR I found a cryptic
> {noformat}
> ERROR [RS_CLOSE_REGION-u1604vm:35021-1] regionserver.HRegion(1601): Memstore size is 33744
> {noformat}
> from the code looks like we seems to want to notify the user about the fact that on close the rs was not able to flush and there were things in the RS. 
> https://github.com/apache/hbase/blob/c3685760f004450667920144f926383eb307de53/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java#L1601
> {code}
> if (!canFlush) {
>   this.decrMemstoreSize(new MemstoreSize(memstoreDataSize.get(), getMemstoreHeapOverhead()));
> } else if (memstoreDataSize.get() != 0) {
>   LOG.error("Memstore size is " + memstoreDataSize.get());
> }
> {code}
> this should probably not even be an error but a warn or even info, unless we have puts that specifically asked to not be written to the wal,  otherwise the data in the memstore should be safe in the wals. 
> In any case it will be nice to have a message describing what is going on and why we are notifying about the memstore size.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)