You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Nicolas Liochon (JIRA)" <ji...@apache.org> on 2014/02/18 11:11:19 UTC

[jira] [Reopened] (HBASE-10539) HRegion.addAndGetGlobalMemstoreSize() is expected to return the new memstore size after added, but actually the previous size before added is returned instead

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

Nicolas Liochon reopened HBASE-10539:
-------------------------------------


> HRegion.addAndGetGlobalMemstoreSize() is expected to return the new memstore size after added, but actually the previous size before added is returned instead
> --------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-10539
>                 URL: https://issues.apache.org/jira/browse/HBASE-10539
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Feng Honghua
>            Assignee: Feng Honghua
>         Attachments: HBASE-10539-trunk_v1.patch
>
>
> HRegion.addAndGetGlobalMemstoreSize(addedSize) is called once some write succeeds and 'addedSize' is the size of the edits newly put to the memstore, the returned value of HRegion.addAndGetGlobalMemstoreSize(addedSize) is then checked against the flush threshold to determine if a flush for the region should be triggered.
> By design the returned value should be the updated memstore size after adding 'addedSize', but current implementation uses this.memstoreSize.getAndAdd which returns the previous size before adding, actually 'addAndGet' rather than 'getAndAdd' should be used here.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)