You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2014/08/18 19:30:19 UTC

[jira] [Commented] (HBASE-11232) Region fail to release the updatelock for illegal CF in multi row mutations

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

Andrew Purtell commented on HBASE-11232:
----------------------------------------

Ping [~lhofhansl]. Shall we get this in for the next 0.94 release?

> Region fail to release the updatelock for illegal CF in multi row mutations
> ---------------------------------------------------------------------------
>
>                 Key: HBASE-11232
>                 URL: https://issues.apache.org/jira/browse/HBASE-11232
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.94.19
>            Reporter: Liu Shaohui
>            Assignee: Liu Shaohui
>         Attachments: HBASE-11232-0.94.diff
>
>
> The failback code in processRowsWithLocks did not check the column family. If there is an illegal CF in the muation, it will  throw NullPointException and the update lock will not be released.  So the region can not be flushed and compacted. 
> HRegion #4946
> {code}
>         if (!mutations.isEmpty() && !walSyncSuccessful) {
>           LOG.warn("Wal sync failed. Roll back " + mutations.size() +
>               " memstore keyvalues for row(s):" +
>               processor.getRowsToLock().iterator().next() + "...");
>           for (KeyValue kv : mutations) {
>             stores.get(kv.getFamily()).rollback(kv);
>           }
>         }
>         // 11. Roll mvcc forward
>         if (writeEntry != null) {
>           mvcc.completeMemstoreInsert(writeEntry);
>           writeEntry = null;
>         }
>         if (locked) {
>           this.updatesLock.readLock().unlock();
>           locked = false;
>         }
> {code}



--
This message was sent by Atlassian JIRA
(v6.2#6252)