[
https://issues.apache.org/jira/browse/HBASE-9783?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13799487#comment-13799487
]
Lars Hofhansl commented on HBASE-9783:
--------------------------------------
Looking at the patch. Two comments:
# Nit: In the test, just let the unexpected exception fall through. That way it
shows up in the test log rather than an assertion failure
# The problem seems to be that checkFamilies is inside the try block and in the
finally clause we attempt to get the store for a family, which returns null.
The same check is done in prepareDelete
I think it would be better to either have a null check for the store in the
finally clause, or add another boolean that we set to true right before we
update the memstore and only rollback if that is set.
> Validate column families early in
> o.a.h.h.regionserver.HRegion.mutateRowsWithLocks()
> ------------------------------------------------------------------------------------
>
> Key: HBASE-9783
> URL: https://issues.apache.org/jira/browse/HBASE-9783
> Project: HBase
> Issue Type: Bug
> Components: regionserver
> Affects Versions: 0.94.12
> Reporter: Aditya Kishore
> Assignee: Aditya Kishore
> Priority: Minor
> Fix For: 0.94.13
>
> Attachments: HBASE-9783.patch, HBASE-9783.patch
>
>
> h6. 0.94 branch only
> Calling {{HTable.mutateRow()}} with non-existent column families result in a
> NPE on the region server which is wrapped into {{RemoteException}} and
> returned to the client. Since NPE is not a {{DoNotRetryIOException}}, client
> keeps repeating it until the number of retries are exhausted.
> Negative case, hence creating as minor.
--
This message was sent by Atlassian JIRA
(v6.1#6144)