hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "chunhui shen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-7507) Make memstore flush be able to retry after exception
Date Fri, 11 Jan 2013 06:10:12 GMT

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

chunhui shen commented on HBASE-7507:
-------------------------------------

[~lhofhansl]
bq.What if I do not want to retry?
Set HStore.flush_retries_number as 1, it means no retry. Maybe name "retries" is not suitable.
But we use 'retries' in "hbase.client.retries.number",  in order to keep the same, here I
use the name 'retries'.
Setting 'hbase.client.retries.number' as 1 means no retry, did we changed this semantic?

bq.setting the retry number to 0 will force the code to reget the parameter on each call

{code}
+      if (HStore.flush_retries_number <= 0) {
+        throw new IllegalArgumentException(
+            "hbase.hstore.flush.retries.number must be > 0, not "
+                + HStore.flush_retries_number);
+      }
{code}

Server will go down if set the retry number to 0
                
> Make memstore flush be able to retry after exception
> ----------------------------------------------------
>
>                 Key: HBASE-7507
>                 URL: https://issues.apache.org/jira/browse/HBASE-7507
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.94.3
>            Reporter: chunhui shen
>            Assignee: chunhui shen
>             Fix For: 0.96.0, 0.94.5
>
>         Attachments: 7507-trunk v1.patch, 7507-trunk v2.patch, 7507-trunkv3.patch
>
>
> We will abort regionserver if memstore flush throws exception.
> I thinks we could do retry to make regionserver more stable because file system may be
not ok in a transient time. e.g. Switching namenode in the NamenodeHA environment
> {code}
> HRegion#internalFlushcache(){
> ...
> try {
> ...
> }catch(Throwable t){
> DroppedSnapshotException dse = new DroppedSnapshotException("region: " +
>           Bytes.toStringBinary(getRegionName()));
> dse.initCause(t);
> throw dse;
> }
> ...
> }
> MemStoreFlusher#flushRegion(){
> ...
> region.flushcache();
> ...
>  try {
> }catch(DroppedSnapshotException ex){
> server.abort("Replay of HLog required. Forcing server shutdown", ex);
> }
> ...
> }
> {code}

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

Mime
View raw message