[jira] [Updated] (HBASE-11249) Missing null check in finally block of HRegion#processRowsWithLocks() may lead to partially rolled back state in memstore.
[ https://issues.apache.org/jira/browse/HBASE-11249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stephen Yuan Jiang updated HBASE-11249: --- Labels: (was: be) > Missing null check in finally block of HRegion#processRowsWithLocks() may > lead to partially rolled back state in memstore. > -- > > Key: HBASE-11249 > URL: https://issues.apache.org/jira/browse/HBASE-11249 > Project: HBase > Issue Type: Bug >Reporter: Ted Yu >Priority: Minor > > At line 4883: > {code} > Store store = getStore(kv); > if (store == null) { > checkFamily(CellUtil.cloneFamily(kv)); > // unreachable > } > {code} > Exception would be thrown from checkFamily() if store is null. > In the finally block: > {code} > } finally { > if (!mutations.isEmpty() && !walSyncSuccessful) { > LOG.warn("Wal sync failed. Roll back " + mutations.size() + > " memstore keyvalues for row(s):" + StringUtils.byteToHexString( > processor.getRowsToLock().iterator().next()) + "..."); > for (KeyValue kv : mutations) { > getStore(kv).rollback(kv); > } > {code} > There is no corresponding null check for return value of getStore() above, > potentially leading to partially rolled back state in memstore. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-11249) Missing null check in finally block of HRegion#processRowsWithLocks() may lead to partially rolled back state in memstore.
[ https://issues.apache.org/jira/browse/HBASE-11249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stephen Yuan Jiang updated HBASE-11249: --- Labels: be (was: ) > Missing null check in finally block of HRegion#processRowsWithLocks() may > lead to partially rolled back state in memstore. > -- > > Key: HBASE-11249 > URL: https://issues.apache.org/jira/browse/HBASE-11249 > Project: HBase > Issue Type: Bug >Reporter: Ted Yu >Priority: Minor > Labels: be > > At line 4883: > {code} > Store store = getStore(kv); > if (store == null) { > checkFamily(CellUtil.cloneFamily(kv)); > // unreachable > } > {code} > Exception would be thrown from checkFamily() if store is null. > In the finally block: > {code} > } finally { > if (!mutations.isEmpty() && !walSyncSuccessful) { > LOG.warn("Wal sync failed. Roll back " + mutations.size() + > " memstore keyvalues for row(s):" + StringUtils.byteToHexString( > processor.getRowsToLock().iterator().next()) + "..."); > for (KeyValue kv : mutations) { > getStore(kv).rollback(kv); > } > {code} > There is no corresponding null check for return value of getStore() above, > potentially leading to partially rolled back state in memstore. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-11249) Missing null check in finally block of HRegion#processRowsWithLocks() may lead to partially rolled back state in memstore.
[ https://issues.apache.org/jira/browse/HBASE-11249?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ted Yu updated HBASE-11249: --- Summary: Missing null check in finally block of HRegion#processRowsWithLocks() may lead to partially rolled back state in memstore. (was: Missing null check in finally block of HRegion#processRowsWithLocks()) > Missing null check in finally block of HRegion#processRowsWithLocks() may > lead to partially rolled back state in memstore. > -- > > Key: HBASE-11249 > URL: https://issues.apache.org/jira/browse/HBASE-11249 > Project: HBase > Issue Type: Bug >Reporter: Ted Yu >Priority: Minor > > At line 4883: > {code} > Store store = getStore(kv); > if (store == null) { > checkFamily(CellUtil.cloneFamily(kv)); > // unreachable > } > {code} > Exception would be thrown from checkFamily() if store is null. > In the finally block: > {code} > } finally { > if (!mutations.isEmpty() && !walSyncSuccessful) { > LOG.warn("Wal sync failed. Roll back " + mutations.size() + > " memstore keyvalues for row(s):" + StringUtils.byteToHexString( > processor.getRowsToLock().iterator().next()) + "..."); > for (KeyValue kv : mutations) { > getStore(kv).rollback(kv); > } > {code} > There is no corresponding null check for return value of getStore() above, > potentially leading to partially rolled back state in memstore. -- This message was sent by Atlassian JIRA (v6.2#6252)