[
https://issues.apache.org/jira/browse/HBASE-9108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13729646#comment-13729646
]
Ted Yu commented on HBASE-9108:
-------------------------------
{code}
+ LOG.error("Class: [" + className + "] in not an instance of
Exception.");
{code}
typo: 'in not'
{code}
+ public boolean ignoredKey(long k) {
{code}
The above can be package private.
{code}
+ protected static final String OPT_ALLOWED_WRITE_EXCEPTIONS =
"allowed_write_exceptions";
{code}
Can we use a shorter string for option ?
> LoadTestTool need to have a way to ignore keys which were failed during
> write.
> -------------------------------------------------------------------------------
>
> Key: HBASE-9108
> URL: https://issues.apache.org/jira/browse/HBASE-9108
> Project: HBase
> Issue Type: Improvement
> Components: test
> Affects Versions: 0.95.0, 0.95.1, 0.94.9, 0.94.10
> Reporter: gautam
> Assignee: gautam
> Priority: Critical
> Attachments: HBASE-9108.patch._0.94, HBASE-9108.patch._trunk
>
> Original Estimate: 48h
> Remaining Estimate: 48h
>
> While running the chaosmonkey integration tests, it is found that write
> sometimes fails when the cluster components are restarted/stopped/killed etc..
> The data key which was being put, using the LoadTestTool, is added to the
> failed key set, and at the end of the test, this failed key set is checked
> for any entries to assert failures.
> While doing fail-over testing, it is expected that some of the keys may go
> un-written. The point here is to validate that whatever gets into hbase for
> an unstable cluster really goes in, and hence read should be 100% for
> whatever keys went in successfully.
> Currently LoadTestTool has strict checks to validate every key being written
> or not. In case any keys is not written, it fails.
> I wanted to loosen this constraint by allowing users to pass in a set of
> exceptions they expect when doing put/write operations over hbase. If one of
> these expected exception set is thrown while writing key to hbase, the failed
> key would be ignored, and hence wont even be considered again for subsequent
> write as well as read.
> This can be passed to the load test tool as csv list parameter
> -allowed_write_exceptions, or it can be passed through hbase-site.xml by
> writing a value for "test.ignore.exceptions.during.write"
> Here is the usage:
> -allowed_write_exceptions
> "java.io.EOFException,org.apache.hadoop.hbase.NotServingRegionException,org.apache.hadoop.hbase.client.NoServerForRegionException,org.apache.hadoop.hbase.ipc.ServerNotRunningYetException"
> Hence, by doing this the existing integration tests can also make use of this
> change by passing it as property in hbase-site.xml, as well.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira