hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Liu Shaohui (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-11232) Region fail to release the updatelock for illegal CF in multi row mutations
Date Wed, 28 May 2014 06:37:02 GMT

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

Liu Shaohui commented on HBASE-11232:
-------------------------------------

[~stack]
{quote}
 Did you intend to add that big test class? It seems to test more than this issue.
{quote}
Yes. Since there is no test for MultiRowMutationProtocol, I add some basic tests.


> 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)

Mime
View raw message