You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by GitBox <gi...@apache.org> on 2019/05/06 08:37:01 UTC

[GitHub] [hbase] chenxu14 commented on issue #205: HBASE-20902 when WAL sync failed, we should bypass the failed DN that previously used

chenxu14 commented on issue #205: HBASE-20902 when WAL sync failed, we should bypass the failed DN that previously used
URL: https://github.com/apache/hbase/pull/205#issuecomment-489547684
 
 
   > Mind explaining the implementation a bit? The patch is so big, and across lots of files, not easy to follow up...
   
   1. modified WALActionsListener#logRollRequested(boolean tooFewReplicas, boolean syncFailed)
   add syncFailed param to identify whether logRoll request was caused by a sync failure, 
   If so, LogRoller thread will call WAL#rollWriter(boolean force, boolean syncFailed), and pass syncFailed param to it
   
   2. modified WAL#rollWriter(boolean force, boolean syncFailed) throws FailedLogCloseException, IOException;
   If syncFailed is true, pass current WAL’s path to AbstractFSWAL#createWriterInstance(newPath, oldPath) as oldPath,
   so FanOutOneBlockAsyncDFSOutputHelper can determine which DN is slow based on the oldPath, and add it to excludesNodes

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services