hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ctest (Jira)" <j...@apache.org>
Subject [jira] [Created] (HBASE-23962) Improving the documentation for hbase.regionserver.hlog.{reader, writer}.impl
Date Tue, 10 Mar 2020 20:48:00 GMT
Ctest created HBASE-23962:
-----------------------------

             Summary: Improving the documentation for hbase.regionserver.hlog.{reader, writer}.impl
                 Key: HBASE-23962
                 URL: https://issues.apache.org/jira/browse/HBASE-23962
             Project: HBase
          Issue Type: Improvement
          Components: conf
            Reporter: Ctest


*Problem*

I found out that there two configuration parameters: `hbase.regionserver.hlog.reader.impl`
and `hbase.regionserver.hlog.writer.impl` which should be used as a pair.

There are two options for the reader: `ProtobufLogReader` and `SecureProtobufLogReader`.

And four options for the writer: `ProtobufLogWriter`, `SecureProtobufLogWriter`, `AsyncProtobufLogWriter`
and `SecureAsyncProtobufLogWriter`.

Using the wrong combination of the reader and the writer will throw an exception. For example
if setting the writer to SecureProtobufLogWriter and setting the reader to ProtobufLogReader(default
value), an exception will be thrown:
{code:java}
java.io.IOException: Got unknown writer class: SecureProtobufLogWriterjava.io.IOException:
Got unknown writer class: SecureProtobufLogWriter
 at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.initInternal(ProtobufLogReader.java:224)
at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.initReader(ProtobufLogReader.java:173)
at org.apache.hadoop.hbase.regionserver.wal.ReaderBase.init(ReaderBase.java:65) at org.apache.hadoop.hbase.regionserver.wal.ProtobufLogReader.init(ProtobufLogReader.java:168)
at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:321) at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:303)
at org.apache.hadoop.hbase.wal.WALFactory.createReader(WALFactory.java:291) at org.apache.hadoop.hbase.wal.LogRecoveredEditsOutputSink.deleteOneWithFewerEntries(LogRecoveredEditsOutputSink.java:109)
at org.apache.hadoop.hbase.wal.LogRecoveredEditsOutputSink.closeWriter(LogRecoveredEditsOutputSink.java:240)
at org.apache.hadoop.hbase.wal.LogRecoveredEditsOutputSink$2.call(LogRecoveredEditsOutputSink.java:196)
at org.apache.hadoop.hbase.wal.LogRecoveredEditsOutputSink$2.call(LogRecoveredEditsOutputSink.java:192)
at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748){code}




The current description of these two parameters (in the `hbase-default.xml`) doesn’t tell
the users anything about which combination is right or not.

 

*Improvement*

We can add some more information in the description of these two parameters in `hbase-default.xml`
to tell the users about the correct combinations.

I upload a patch for improving the description.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message