You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/12/13 21:03:59 UTC

[jira] [Commented] (BOOKKEEPER-986) Handle Memtable flush failure

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

ASF GitHub Bot commented on BOOKKEEPER-986:
-------------------------------------------

GitHub user reddycharan opened a pull request:

    https://github.com/apache/bookkeeper/pull/92

    BOOKKEEPER-986: Handle memtable flush failure

    - If the memtable flush is failed previously then
    for the next addEntry call it will try to flush the
    existing snapshot

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/reddycharan/bookkeeper handlememtableflushfailure

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/bookkeeper/pull/92.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #92
    
----
commit bc77cedf56e9308bea1da280e16b855646479311
Author: Charan Reddy Guttapalem <cg...@salesforce.com>
Date:   2016-09-13T18:44:33Z

    BOOKKEEPER-986: Handle memtable flush failure
    
    - If the memtable flush is failed previously then
    for the next addEntry call it will try to flush the
    existing snapshot

----


> Handle Memtable flush failure
> -----------------------------
>
>                 Key: BOOKKEEPER-986
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-986
>             Project: Bookkeeper
>          Issue Type: Bug
>            Reporter: Charan Reddy Guttapalem
>            Assignee: Charan Reddy Guttapalem
>            Priority: Critical
>
> Consider the following scenario
>  - currently bookie is in writemode but it is close to the diskusagethreshold and also entrymemtable is close to skipListSizeLimit
>  - it received a addentry call, and now the size of the entrymemtable is greater than skipListSizeLimit
>  - so onSizeLimitReached of SortedLedgerStorage will be called and now lets assume that memtable flush has failed because of diskusagethreshold 
>  - because of previous step, bookie would turn to readonly
>  - now lets assume after certain rounds of compaction bookie reclaimed sufficient storage and went back to writemode
>  - now bookie would be receiving addentry calls
>  - because of outstanding snapshot from previous memtable flush failure, it will never retry to flush memtable 
>  - now the memory start keep going up and up and the process memory gets bloated



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