[
https://issues.apache.org/jira/browse/HBASE-24086?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17080215#comment-17080215
]
Sean Busbey commented on HBASE-24086:
-------------------------------------
Something to consider in said discussion: since these checks went into place
I've had several folks try to pursue running against LocalFileSystem. Someone
internally traced through all of HBase's use and figured out that (at the time
they evaluated the code) we happen to unwrap the LocalFileSystem in the correct
way to get the raw local filesystem and thus get proper calls to the OS flush.
That's still super brittle and relies on undocumented / unsupported behavior
out of Hadoop. If we want to run against local disks we should add our own
FileSystem to {{hbase-filesystem}} based on forking RawLocalFileSystem so that
we can add in proper claims about stream capabilities.
> Disable output stream capability enforcement when running in standalone mode
> ----------------------------------------------------------------------------
>
> Key: HBASE-24086
> URL: https://issues.apache.org/jira/browse/HBASE-24086
> Project: HBase
> Issue Type: Task
> Components: master
> Affects Versions: 3.0.0, 2.3.0
> Reporter: Nick Dimiduk
> Assignee: Nick Dimiduk
> Priority: Major
> Fix For: 3.0.0, 2.3.0, 2.2.5
>
>
> {noformat}
> $
> JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
> mvn clean install -DskipTests
> $
> JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
> ./bin/hbase master start
> {noformat}
> gives
> {noformat}
> 2020-03-30 17:12:43,857 ERROR
> [master/192.168.111.13:16000:becomeActiveMaster] master.HMaster: Failed to
> become active master
>
> java.io.IOException: cannot get log writer
>
>
> at
> org.apache.hadoop.hbase.wal.AsyncFSWALProvider.createAsyncWriter(AsyncFSWALProvider.java:118)
>
>
> at
> org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.createAsyncWriter(AsyncFSWAL.java:704)
>
>
> at
> org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.createWriterInstance(AsyncFSWAL.java:710)
>
>
> at
> org.apache.hadoop.hbase.regionserver.wal.AsyncFSWAL.createWriterInstance(AsyncFSWAL.java:128)
>
>
> at
> org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.rollWriter(AbstractFSWAL.java:839)
>
>
> at
> org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.rollWriter(AbstractFSWAL.java:549)
>
>
> at
> org.apache.hadoop.hbase.regionserver.wal.AbstractFSWAL.init(AbstractFSWAL.java:490)
>
>
> at
> org.apache.hadoop.hbase.wal.AbstractFSWALProvider.getWAL(AbstractFSWALProvider.java:156)
>
>
> at
> org.apache.hadoop.hbase.wal.AbstractFSWALProvider.getWAL(AbstractFSWALProvider.java:61)
>
>
> at org.apache.hadoop.hbase.wal.WALFactory.getWAL(WALFactory.java:297)
>
>
> at
> org.apache.hadoop.hbase.procedure2.store.region.RegionProcedureStore.createWAL(RegionProcedureStore.java:256)
>
>
> at
> org.apache.hadoop.hbase.procedure2.store.region.RegionProcedureStore.bootstrap(RegionProcedureStore.java:273)
>
>
> at
> org.apache.hadoop.hbase.procedure2.store.region.RegionProcedureStore.recoverLease(RegionProcedureStore.java:482)
>
>
> at
> org.apache.hadoop.hbase.procedure2.ProcedureExecutor.init(ProcedureExecutor.java:587)
>
>
> at
> org.apache.hadoop.hbase.master.HMaster.createProcedureExecutor(HMaster.java:1575)
>
>
> at
> org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:961)
>
>
> at
> org.apache.hadoop.hbase.master.HMaster.startActiveMasterManager(HMaster.java:2231)
>
>
> at
> org.apache.hadoop.hbase.master.HMaster.lambda$run$0(HMaster.java:621)
>
>
> at java.lang.Thread.run(Thread.java:748)
>
>
> Caused by:
> org.apache.hadoop.hbase.util.CommonFSUtils$StreamLacksCapabilityException:
> hflush
>
> at
> org.apache.hadoop.hbase.io.asyncfs.AsyncFSOutputHelper.createOutput(AsyncFSOutputHelper.java:71)
>
>
> at
> org.apache.hadoop.hbase.regionserver.wal.AsyncProtobufLogWriter.initOutput(AsyncProtobufLogWriter.java:169)
>
>
> at
> org.apache.hadoop.hbase.regionserver.wal.AbstractProtobufLogWriter.init(AbstractProtobufLogWriter.java:166)
>
>
> at
> org.apache.hadoop.hbase.wal.AsyncFSWALProvider.createAsyncWriter(AsyncFSWALProvider.java:105)
>
>
> ... 18 more
> {noformat}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)