[ https://issues.apache.org/jira/browse/HBASE-12642?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14236593#comment-14236593 ]
Hudson commented on HBASE-12642: -------------------------------- SUCCESS: Integrated in HBase-1.0 #547 (See [https://builds.apache.org/job/HBase-1.0/547/]) HBASE-12642 LoadIncrementalHFiles does not throw exception after hitting hbase.bulkload.retries.number setting (tedyu: rev 2306a7fd9666b0cbc66f8a9a49d676e32de087de) * hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java > LoadIncrementalHFiles does not throw exception after hitting > hbase.bulkload.retries.number setting > -------------------------------------------------------------------------------------------------- > > Key: HBASE-12642 > URL: https://issues.apache.org/jira/browse/HBASE-12642 > Project: HBase > Issue Type: Bug > Components: mapreduce > Affects Versions: 0.98.1 > Environment: RedHat 6.6 > Java 1.7.0_65 > HBase 0.98.1-cdh5.1.0 > Hadoop 2.3.0-mr1-cdh5.1.0 > Reporter: Erik Ingle > Assignee: Ted Yu > Priority: Minor > Fix For: 1.0.0, 2.0.0, 0.98.9 > > Attachments: 12642-v1.txt > > > Related to [HBASE-8367|https://issues.apache.org/jira/browse/HBASE-8367] > there is no programmatic way to determine if the > hbase.bulkload.retries.number value has been hit. Callers of doBulkLoad have > no way to determine other than log examination whether the bulk load was > actually successful. > Here is the relevant code sections: > {code:title=LoadIncrementalHFiles.java|borderStyle=solid} > public void doBulkLoad ... > { > try { > ... > if (maxRetries != 0 && count >= maxRetries) { > LOG.error("Retry attempted " + count + " times without > completing, bailing out"); > return; > } > ... > } finally { > ... > pool.shutdown(); > if (queue != null && !queue.isEmpty()) { > StringBuilder err = new StringBuilder(); > err.append("-------------------------------------------------\n"); > err.append("Bulk load aborted with some files not yet loaded:\n"); > err.append("-------------------------------------------------\n"); > for (LoadQueueItem q : queue) { > err.append(" ").append(q.hfilePath).append('\n'); > } > LOG.error(err); > } > } > if (queue != null && !queue.isEmpty()) { > throw new RuntimeException("Bulk load aborted with some files not yet > loaded." > + "Please check log for more details."); > } > {code} > One possible solution is to move the throw new RuntimeException clause at the > end into the finally block. The exception is currently never thrown for max > retries due to the return in the initial if statement. -- This message was sent by Atlassian JIRA (v6.3.4#6332)