You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Devaraj Das (JIRA)" <ji...@apache.org> on 2014/11/22 01:55:34 UTC

[jira] [Reopened] (HBASE-10844) Coprocessor failure during batchmutation leaves the memstore datastructs in an inconsistent state

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

Devaraj Das reopened HBASE-10844:
---------------------------------

Thinking about it (and in offline discussions with [~jeffreyz] and [~enis]), it seems we should remove the 'assert' from the code that causes the RegionServer to abort. The reason being that coprocessors could fail. The assert was introduced in HBASE-10514.
{noformat}
         // close each store in parallel
         for (final Store store : stores.values()) {
+          assert abort? true: store.getFlushableSize() == 0;
{noformat}
Thoughts?

> Coprocessor failure during batchmutation leaves the memstore datastructs in an inconsistent state
> -------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-10844
>                 URL: https://issues.apache.org/jira/browse/HBASE-10844
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>            Reporter: Devaraj Das
>            Assignee: Devaraj Das
>         Attachments: 10844-1.txt
>
>
> Observed this in the testing with Phoenix. The test in Phoenix - MutableIndexFailureIT deliberately fails the batchmutation call via the installed coprocessor. But the update is not rolled back. That leaves the memstore inconsistent. In particular, I observed that getFlushableSize is updated before the coprocessor was called but the update is not rolled back. When the region is being closed at some later point, the assert introduced in HBASE-10514 in the HRegion.doClose() causes the RegionServer to shutdown abnormally.



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