[
https://issues.apache.org/jira/browse/HBASE-26680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17547687#comment-17547687
]
Hudson commented on HBASE-26680:
--------------------------------
Results for branch master
[build #602 on
builds.a.o|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/602/]:
(x) *{color:red}-1 overall{color}*
----
details (if available):
(/) {color:green}+1 general checks{color}
-- For more information [see general
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/602/General_20Nightly_20Build_20Report/]
(x) {color:red}-1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3)
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/602/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]
(/) {color:green}+1 jdk11 hadoop3 checks{color}
-- For more information [see jdk11
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/master/602/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]
(/) {color:green}+1 source release artifact{color}
-- See build output for details.
(/) {color:green}+1 client integration test{color}
> Close and do not write trailer for the broken WAL writer
> --------------------------------------------------------
>
> Key: HBASE-26680
> URL: https://issues.apache.org/jira/browse/HBASE-26680
> Project: HBase
> Issue Type: Improvement
> Components: wal
> Affects Versions: 3.0.0-alpha-1, 2.0.0
> Reporter: Xiaolin Ha
> Assignee: Xiaolin Ha
> Priority: Major
> Fix For: 2.5.0, 2.6.0, 3.0.0-alpha-3, 2.4.12
>
>
> {code:java}
> public static AsyncWriter createAsyncWriter(Configuration conf, FileSystem
> fs, Path path,
> boolean overwritable, long blocksize, EventLoopGroup eventLoopGroup,
> Class<? extends Channel> channelClass, StreamSlowMonitor monitor) throws
> IOException {
> // Configuration already does caching for the Class lookup.
> Class<? extends AsyncWriter> logWriterClass = conf.getClass(
> WRITER_IMPL, AsyncProtobufLogWriter.class, AsyncWriter.class);
> try {
> AsyncWriter writer = logWriterClass.getConstructor(EventLoopGroup.class,
> Class.class)
> .newInstance(eventLoopGroup, channelClass);
> writer.init(fs, path, conf, overwritable, blocksize, monitor);
> return writer;
> } catch (Exception e) {
> if (e instanceof CommonFSUtils.StreamLacksCapabilityException) {
> LOG.error("The RegionServer async write ahead log provider " +
> "relies on the ability to call " + e.getMessage() + " for proper
> operation during " +
> "component failures, but the current FileSystem does not support
> doing so. Please " +
> "check the config value of '" + CommonFSUtils.HBASE_WAL_DIR + "' and
> ensure " +
> "it points to a FileSystem mount that has suitable capabilities for
> output streams.");
> } else {
> LOG.debug("Error instantiating log writer.", e);
> }
> Throwables.propagateIfPossible(e, IOException.class);
> throw new IOException("cannot get log writer", e);
> }
> } {code}
> I think writer should be closed when encounters init exception here.
> This can reduce the recoverLease time before log split, and will reduce side
> effects after HBASE-26552.
> Broken writers need to be closed, so that when doing log split, there will be
> no need to recover lease for those length 0 wals.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)