[jira] [Updated] (HBASE-23962) Wrong combination of hlog reader and writer could crash regionserver
[ https://issues.apache.org/jira/browse/HBASE-23962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23962: -- Component/s: (was: conf) regionserver > Wrong combination of hlog reader and writer could crash regionserver > > > Key: HBASE-23962 > URL: https://issues.apache.org/jira/browse/HBASE-23962 > Project: HBase > Issue Type: Bug > Components: regionserver >Reporter: Ctest >Priority: Major > Attachments: HBASE-23962-001.patch > > > *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: 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)
[jira] [Updated] (HBASE-23962) Wrong combination of hlog reader and writer could crash regionserver
[ https://issues.apache.org/jira/browse/HBASE-23962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23962: -- Issue Type: Bug (was: Improvement) > Wrong combination of hlog reader and writer could crash regionserver > > > Key: HBASE-23962 > URL: https://issues.apache.org/jira/browse/HBASE-23962 > Project: HBase > Issue Type: Bug > Components: conf >Reporter: Ctest >Priority: Major > Attachments: HBASE-23962-001.patch > > > *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: 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)
[jira] [Updated] (HBASE-23962) Wrong combination of hlog reader and writer could crash regionserver
[ https://issues.apache.org/jira/browse/HBASE-23962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23962: -- Summary: Wrong combination of hlog reader and writer could crash regionserver (was: Improving the documentation for `hbase.regionserver.hlog.{reader, writer}.impl`) > Wrong combination of hlog reader and writer could crash regionserver > > > Key: HBASE-23962 > URL: https://issues.apache.org/jira/browse/HBASE-23962 > Project: HBase > Issue Type: Improvement > Components: conf >Reporter: Ctest >Priority: Major > Attachments: HBASE-23962-001.patch > > > *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: 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)
[jira] [Updated] (HBASE-24207) Wrong input argument order in TestCompactorMemLeak#assertMajorCompactionOK
[ https://issues.apache.org/jira/browse/HBASE-24207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-24207: -- Summary: Wrong input argument order in TestCompactorMemLeak#assertMajorCompactionOK (was: Wrong argument input order in TestCompactorMemLeak#assertMajorCompactionOK) > Wrong input argument order in TestCompactorMemLeak#assertMajorCompactionOK > -- > > Key: HBASE-24207 > URL: https://issues.apache.org/jira/browse/HBASE-24207 > Project: HBase > Issue Type: Bug > Components: Compaction, regionserver, test >Affects Versions: 2.2.4 >Reporter: Ctest >Priority: Minor > Labels: compaction, regionserver, test > Attachments: HBASE-24207.000.patch > > > In TestCompactorMemLeak#assertMajorCompactionOK, the input argument order for > Assert.assertEquals(long expected, long actual) is wrong. This produced > confusion when the test failed. > > Below is the original code: > {code:java} > Assert.assertEquals(regions.size(), 1); > HRegion region = regions.get(0); > Assert.assertEquals(region.getStores().size(), 1); > HStore store = region.getStore(FAMILY); > Assert.assertEquals(store.getStorefilesCount(), 1); > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (HBASE-24207) Wrong argument input order in TestCompactorMemLeak#assertMajorCompactionOK
[ https://issues.apache.org/jira/browse/HBASE-24207?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-24207: -- Attachment: HBASE-24207.000.patch Status: Patch Available (was: Open) > Wrong argument input order in TestCompactorMemLeak#assertMajorCompactionOK > -- > > Key: HBASE-24207 > URL: https://issues.apache.org/jira/browse/HBASE-24207 > Project: HBase > Issue Type: Bug > Components: Compaction, regionserver, test >Affects Versions: 2.2.4 >Reporter: Ctest >Priority: Minor > Labels: compaction, regionserver, test > Attachments: HBASE-24207.000.patch > > > In TestCompactorMemLeak#assertMajorCompactionOK, the input argument order for > Assert.assertEquals(long expected, long actual) is wrong. This produced > confusion when the test failed. > > Below is the original code: > {code:java} > Assert.assertEquals(regions.size(), 1); > HRegion region = regions.get(0); > Assert.assertEquals(region.getStores().size(), 1); > HStore store = region.getStore(FAMILY); > Assert.assertEquals(store.getStorefilesCount(), 1); > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (HBASE-24207) Wrong argument input order in TestCompactorMemLeak#assertMajorCompactionOK
Ctest created HBASE-24207: - Summary: Wrong argument input order in TestCompactorMemLeak#assertMajorCompactionOK Key: HBASE-24207 URL: https://issues.apache.org/jira/browse/HBASE-24207 Project: HBase Issue Type: Bug Components: Compaction, regionserver, test Affects Versions: 2.2.4 Reporter: Ctest In TestCompactorMemLeak#assertMajorCompactionOK, the input argument order for Assert.assertEquals(long expected, long actual) is wrong. This produced confusion when the test failed. Below is the original code: {code:java} Assert.assertEquals(regions.size(), 1); HRegion region = regions.get(0); Assert.assertEquals(region.getStores().size(), 1); HStore store = region.getStore(FAMILY); Assert.assertEquals(store.getStorefilesCount(), 1); {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (HBASE-23702) `hbase.hstore.flusher.count` setting to 0 breaks HMaster
[ https://issues.apache.org/jira/browse/HBASE-23702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17057412#comment-17057412 ] Ctest commented on HBASE-23702: --- [~zghao] I think "at least one handler" is a good solution. I have uploaded a new patch. I think it could be better to provide some log information to let users know about the auto-correction behaviour. Or adding information in parameter description could also help user to better understand the situation. Do you have any suggestion? I am glad to provide the patch. > `hbase.hstore.flusher.count` setting to 0 breaks HMaster > > > Key: HBASE-23702 > URL: https://issues.apache.org/jira/browse/HBASE-23702 > Project: HBase > Issue Type: Bug > Components: regionserver >Affects Versions: 2.2.3 > Environment: HBase-2.2.3 > Java openjdk 1.8.0_222 > Ubuntu 18.04 >Reporter: Ctest >Priority: Major > Attachments: HBASE-23702-000.patch, HBASE-23702-000.patch, > HBASE-23702-000.patch, HBASE-23702-000.patch, HBASE-23702-001.patch > > > Summary > The configuration parameter `hbase.hstore.flusher.count` allows `0` (which > turns out to be a bad value after I understand the source code). > When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 > ms without any error message, but > ``` > java.lang.RuntimeException: Master not initialized after 20ms > ``` > > There’s no messages pinpointing `hbase.hstore.flusher.count` being the root > cause. > > 0 means `MemStoreFlusher` is not alive. During the initialization time of > HMaster, `isHealthy()` will be called and it will try to check if > `MemStoreFlusher` is alive or not. However, since we set > `hbase.hstore.flusher.count` to 0, there will be no flusher created at the > first place, which cause`isHealthy()` to return false. As a consequence, > HRegionServer does not enter its main loop. > > *How To Reproduce* > > The version of HBase: 2.2.3 > > # Set the value of configuration parameter `hbase.hstore.flusher.count` to > `0` in “conf/hbase-site.xml” > # Start hbase by running “bin/start-hbase.sh” > # Wait for 3-4 minutes > # Open the log file “logs/hbase-- master -.log” -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (HBASE-23702) `hbase.hstore.flusher.count` setting to 0 breaks HMaster
[ https://issues.apache.org/jira/browse/HBASE-23702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23702: -- Attachment: HBASE-23702-001.patch > `hbase.hstore.flusher.count` setting to 0 breaks HMaster > > > Key: HBASE-23702 > URL: https://issues.apache.org/jira/browse/HBASE-23702 > Project: HBase > Issue Type: Bug > Components: regionserver >Affects Versions: 2.2.3 > Environment: HBase-2.2.3 > Java openjdk 1.8.0_222 > Ubuntu 18.04 >Reporter: Ctest >Priority: Major > Attachments: HBASE-23702-000.patch, HBASE-23702-000.patch, > HBASE-23702-000.patch, HBASE-23702-000.patch, HBASE-23702-001.patch > > > Summary > The configuration parameter `hbase.hstore.flusher.count` allows `0` (which > turns out to be a bad value after I understand the source code). > When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 > ms without any error message, but > ``` > java.lang.RuntimeException: Master not initialized after 20ms > ``` > > There’s no messages pinpointing `hbase.hstore.flusher.count` being the root > cause. > > 0 means `MemStoreFlusher` is not alive. During the initialization time of > HMaster, `isHealthy()` will be called and it will try to check if > `MemStoreFlusher` is alive or not. However, since we set > `hbase.hstore.flusher.count` to 0, there will be no flusher created at the > first place, which cause`isHealthy()` to return false. As a consequence, > HRegionServer does not enter its main loop. > > *How To Reproduce* > > The version of HBase: 2.2.3 > > # Set the value of configuration parameter `hbase.hstore.flusher.count` to > `0` in “conf/hbase-site.xml” > # Start hbase by running “bin/start-hbase.sh” > # Wait for 3-4 minutes > # Open the log file “logs/hbase-- master -.log” -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (HBASE-23962) Improving the documentation for `hbase.regionserver.hlog.{reader, writer}.impl`
[ https://issues.apache.org/jira/browse/HBASE-23962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23962: -- Summary: Improving the documentation for `hbase.regionserver.hlog.{reader, writer}.impl` (was: Improving the documentation for hbase.regionserver.hlog.{reader, writer}.impl) > 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 >Priority: Major > Attachments: HBASE-23962-001.patch > > > *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: 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)
[jira] [Updated] (HBASE-23962) Improving the documentation for hbase.regionserver.hlog.{reader, writer}.impl
[ https://issues.apache.org/jira/browse/HBASE-23962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23962: -- Attachment: HBASE-23962-001.patch Status: Patch Available (was: Open) > 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 >Priority: Major > Attachments: HBASE-23962-001.patch > > > *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: 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)
[jira] [Updated] (HBASE-23962) Improving the documentation for hbase.regionserver.hlog.{reader, writer}.impl
[ https://issues.apache.org/jira/browse/HBASE-23962?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23962: -- Description: *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: 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. was: *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)
[jira] [Created] (HBASE-23962) Improving the documentation for hbase.regionserver.hlog.{reader, writer}.impl
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)
[jira] [Updated] (HBASE-23702) `hbase.hstore.flusher.count` setting to 0 breaks HMaster
[ https://issues.apache.org/jira/browse/HBASE-23702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23702: -- Attachment: HBASE-23702-000.patch > `hbase.hstore.flusher.count` setting to 0 breaks HMaster > > > Key: HBASE-23702 > URL: https://issues.apache.org/jira/browse/HBASE-23702 > Project: HBase > Issue Type: Bug > Components: regionserver >Affects Versions: 2.2.3 > Environment: HBase-2.2.3 > Java openjdk 1.8.0_222 > Ubuntu 18.04 >Reporter: Ctest >Priority: Major > Attachments: HBASE-23702-000.patch, HBASE-23702-000.patch, > HBASE-23702-000.patch, HBASE-23702-000.patch > > > Summary > The configuration parameter `hbase.hstore.flusher.count` allows `0` (which > turns out to be a bad value after I understand the source code). > When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 > ms without any error message, but > ``` > java.lang.RuntimeException: Master not initialized after 20ms > ``` > > There’s no messages pinpointing `hbase.hstore.flusher.count` being the root > cause. > > 0 means `MemStoreFlusher` is not alive. During the initialization time of > HMaster, `isHealthy()` will be called and it will try to check if > `MemStoreFlusher` is alive or not. However, since we set > `hbase.hstore.flusher.count` to 0, there will be no flusher created at the > first place, which cause`isHealthy()` to return false. As a consequence, > HRegionServer does not enter its main loop. > > *How To Reproduce* > > The version of HBase: 2.2.3 > > # Set the value of configuration parameter `hbase.hstore.flusher.count` to > `0` in “conf/hbase-site.xml” > # Start hbase by running “bin/start-hbase.sh” > # Wait for 3-4 minutes > # Open the log file “logs/hbase-- master -.log” -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (HBASE-23702) `hbase.hstore.flusher.count` setting to 0 breaks HMaster
[ https://issues.apache.org/jira/browse/HBASE-23702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23702: -- Attachment: HBASE-23702-000.patch > `hbase.hstore.flusher.count` setting to 0 breaks HMaster > > > Key: HBASE-23702 > URL: https://issues.apache.org/jira/browse/HBASE-23702 > Project: HBase > Issue Type: Bug > Components: regionserver >Affects Versions: 2.2.3 > Environment: HBase-2.2.3 > Java openjdk 1.8.0_222 > Ubuntu 18.04 >Reporter: Ctest >Priority: Major > Attachments: HBASE-23702-000.patch, HBASE-23702-000.patch, > HBASE-23702-000.patch > > > Summary > The configuration parameter `hbase.hstore.flusher.count` allows `0` (which > turns out to be a bad value after I understand the source code). > When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 > ms without any error message, but > ``` > java.lang.RuntimeException: Master not initialized after 20ms > ``` > > There’s no messages pinpointing `hbase.hstore.flusher.count` being the root > cause. > > 0 means `MemStoreFlusher` is not alive. During the initialization time of > HMaster, `isHealthy()` will be called and it will try to check if > `MemStoreFlusher` is alive or not. However, since we set > `hbase.hstore.flusher.count` to 0, there will be no flusher created at the > first place, which cause`isHealthy()` to return false. As a consequence, > HRegionServer does not enter its main loop. > > *How To Reproduce* > > The version of HBase: 2.2.3 > > # Set the value of configuration parameter `hbase.hstore.flusher.count` to > `0` in “conf/hbase-site.xml” > # Start hbase by running “bin/start-hbase.sh” > # Wait for 3-4 minutes > # Open the log file “logs/hbase-- master -.log” -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (HBASE-23702) `hbase.hstore.flusher.count` setting to 0 breaks HMaster
[ https://issues.apache.org/jira/browse/HBASE-23702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23702: -- Attachment: (was: hbase-src-patch.txt) > `hbase.hstore.flusher.count` setting to 0 breaks HMaster > > > Key: HBASE-23702 > URL: https://issues.apache.org/jira/browse/HBASE-23702 > Project: HBase > Issue Type: Bug > Components: regionserver >Affects Versions: 2.2.3 > Environment: HBase-2.2.3 > Java openjdk 1.8.0_222 > Ubuntu 18.04 >Reporter: Ctest >Priority: Major > Attachments: HBASE-23702-000.patch, HBASE-23702-000.patch > > > Summary > The configuration parameter `hbase.hstore.flusher.count` allows `0` (which > turns out to be a bad value after I understand the source code). > When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 > ms without any error message, but > ``` > java.lang.RuntimeException: Master not initialized after 20ms > ``` > > There’s no messages pinpointing `hbase.hstore.flusher.count` being the root > cause. > > 0 means `MemStoreFlusher` is not alive. During the initialization time of > HMaster, `isHealthy()` will be called and it will try to check if > `MemStoreFlusher` is alive or not. However, since we set > `hbase.hstore.flusher.count` to 0, there will be no flusher created at the > first place, which cause`isHealthy()` to return false. As a consequence, > HRegionServer does not enter its main loop. > > *How To Reproduce* > > The version of HBase: 2.2.3 > > # Set the value of configuration parameter `hbase.hstore.flusher.count` to > `0` in “conf/hbase-site.xml” > # Start hbase by running “bin/start-hbase.sh” > # Wait for 3-4 minutes > # Open the log file “logs/hbase-- master -.log” -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (HBASE-23702) `hbase.hstore.flusher.count` setting to 0 breaks HMaster
[ https://issues.apache.org/jira/browse/HBASE-23702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23702: -- Attachment: HBASE-23702-000.patch > `hbase.hstore.flusher.count` setting to 0 breaks HMaster > > > Key: HBASE-23702 > URL: https://issues.apache.org/jira/browse/HBASE-23702 > Project: HBase > Issue Type: Bug > Components: regionserver >Affects Versions: 2.2.3 > Environment: HBase-2.2.3 > Java openjdk 1.8.0_222 > Ubuntu 18.04 >Reporter: Ctest >Priority: Major > Attachments: HBASE-23702-000.patch, HBASE-23702-000.patch > > > Summary > The configuration parameter `hbase.hstore.flusher.count` allows `0` (which > turns out to be a bad value after I understand the source code). > When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 > ms without any error message, but > ``` > java.lang.RuntimeException: Master not initialized after 20ms > ``` > > There’s no messages pinpointing `hbase.hstore.flusher.count` being the root > cause. > > 0 means `MemStoreFlusher` is not alive. During the initialization time of > HMaster, `isHealthy()` will be called and it will try to check if > `MemStoreFlusher` is alive or not. However, since we set > `hbase.hstore.flusher.count` to 0, there will be no flusher created at the > first place, which cause`isHealthy()` to return false. As a consequence, > HRegionServer does not enter its main loop. > > *How To Reproduce* > > The version of HBase: 2.2.3 > > # Set the value of configuration parameter `hbase.hstore.flusher.count` to > `0` in “conf/hbase-site.xml” > # Start hbase by running “bin/start-hbase.sh” > # Wait for 3-4 minutes > # Open the log file “logs/hbase-- master -.log” -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (HBASE-23702) `hbase.hstore.flusher.count` setting to 0 breaks HMaster
[ https://issues.apache.org/jira/browse/HBASE-23702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23702: -- Attachment: (was: HBASE-ISSUEID-000.patch.txt) > `hbase.hstore.flusher.count` setting to 0 breaks HMaster > > > Key: HBASE-23702 > URL: https://issues.apache.org/jira/browse/HBASE-23702 > Project: HBase > Issue Type: Bug > Components: regionserver >Affects Versions: 2.2.3 > Environment: HBase-2.2.3 > Java openjdk 1.8.0_222 > Ubuntu 18.04 >Reporter: Ctest >Priority: Major > Attachments: HBASE-23702-000.patch, HBASE-23702-000.patch > > > Summary > The configuration parameter `hbase.hstore.flusher.count` allows `0` (which > turns out to be a bad value after I understand the source code). > When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 > ms without any error message, but > ``` > java.lang.RuntimeException: Master not initialized after 20ms > ``` > > There’s no messages pinpointing `hbase.hstore.flusher.count` being the root > cause. > > 0 means `MemStoreFlusher` is not alive. During the initialization time of > HMaster, `isHealthy()` will be called and it will try to check if > `MemStoreFlusher` is alive or not. However, since we set > `hbase.hstore.flusher.count` to 0, there will be no flusher created at the > first place, which cause`isHealthy()` to return false. As a consequence, > HRegionServer does not enter its main loop. > > *How To Reproduce* > > The version of HBase: 2.2.3 > > # Set the value of configuration parameter `hbase.hstore.flusher.count` to > `0` in “conf/hbase-site.xml” > # Start hbase by running “bin/start-hbase.sh” > # Wait for 3-4 minutes > # Open the log file “logs/hbase-- master -.log” -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (HBASE-23702) `hbase.hstore.flusher.count` setting to 0 breaks HMaster
[ https://issues.apache.org/jira/browse/HBASE-23702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23702: -- Attachment: HBASE-23702-000.patch > `hbase.hstore.flusher.count` setting to 0 breaks HMaster > > > Key: HBASE-23702 > URL: https://issues.apache.org/jira/browse/HBASE-23702 > Project: HBase > Issue Type: Bug > Components: regionserver >Affects Versions: 2.2.3 > Environment: HBase-2.2.3 > Java openjdk 1.8.0_222 > Ubuntu 18.04 >Reporter: Ctest >Priority: Major > Attachments: HBASE-23702-000.patch, HBASE-ISSUEID-000.patch.txt, > hbase-src-patch.txt > > > Summary > The configuration parameter `hbase.hstore.flusher.count` allows `0` (which > turns out to be a bad value after I understand the source code). > When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 > ms without any error message, but > ``` > java.lang.RuntimeException: Master not initialized after 20ms > ``` > > There’s no messages pinpointing `hbase.hstore.flusher.count` being the root > cause. > > 0 means `MemStoreFlusher` is not alive. During the initialization time of > HMaster, `isHealthy()` will be called and it will try to check if > `MemStoreFlusher` is alive or not. However, since we set > `hbase.hstore.flusher.count` to 0, there will be no flusher created at the > first place, which cause`isHealthy()` to return false. As a consequence, > HRegionServer does not enter its main loop. > > *How To Reproduce* > > The version of HBase: 2.2.3 > > # Set the value of configuration parameter `hbase.hstore.flusher.count` to > `0` in “conf/hbase-site.xml” > # Start hbase by running “bin/start-hbase.sh” > # Wait for 3-4 minutes > # Open the log file “logs/hbase-- master -.log” -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (HBASE-23702) `hbase.hstore.flusher.count` setting to 0 breaks HMaster
[ https://issues.apache.org/jira/browse/HBASE-23702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23702: -- Attachment: HBASE-ISSUEID-000.patch.txt > `hbase.hstore.flusher.count` setting to 0 breaks HMaster > > > Key: HBASE-23702 > URL: https://issues.apache.org/jira/browse/HBASE-23702 > Project: HBase > Issue Type: Bug > Components: regionserver >Affects Versions: 2.2.3 > Environment: HBase-2.2.3 > Java openjdk 1.8.0_222 > Ubuntu 18.04 >Reporter: Ctest >Priority: Major > Attachments: HBASE-ISSUEID-000.patch.txt, hbase-src-patch.txt > > > Summary > The configuration parameter `hbase.hstore.flusher.count` allows `0` (which > turns out to be a bad value after I understand the source code). > When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 > ms without any error message, but > ``` > java.lang.RuntimeException: Master not initialized after 20ms > ``` > > There’s no messages pinpointing `hbase.hstore.flusher.count` being the root > cause. > > 0 means `MemStoreFlusher` is not alive. During the initialization time of > HMaster, `isHealthy()` will be called and it will try to check if > `MemStoreFlusher` is alive or not. However, since we set > `hbase.hstore.flusher.count` to 0, there will be no flusher created at the > first place, which cause`isHealthy()` to return false. As a consequence, > HRegionServer does not enter its main loop. > > *How To Reproduce* > > The version of HBase: 2.2.3 > > # Set the value of configuration parameter `hbase.hstore.flusher.count` to > `0` in “conf/hbase-site.xml” > # Start hbase by running “bin/start-hbase.sh” > # Wait for 3-4 minutes > # Open the log file “logs/hbase-- master -.log” -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (HBASE-23702) `hbase.hstore.flusher.count` setting to 0 breaks HMaster
[ https://issues.apache.org/jira/browse/HBASE-23702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23702: -- Description: Summary The configuration parameter `hbase.hstore.flusher.count` allows `0` (which turns out to be a bad value after I understand the source code). When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 ms without any error message, but ``` java.lang.RuntimeException: Master not initialized after 20ms ``` There’s no messages pinpointing `hbase.hstore.flusher.count` being the root cause. 0 means `MemStoreFlusher` is not alive. During the initialization time of HMaster, `isHealthy()` will be called and it will try to check if `MemStoreFlusher` is alive or not. However, since we set `hbase.hstore.flusher.count` to 0, there will be no flusher created at the first place, which cause`isHealthy()` to return false. As a consequence, HRegionServer does not enter its main loop. *How To Reproduce* The version of HBase: 2.2.3 # Set the value of configuration parameter `hbase.hstore.flusher.count` to `0` in “conf/hbase-site.xml” # Start hbase by running “bin/start-hbase.sh” # Wait for 3-4 minutes # Open the log file “logs/hbase-- master -.log” was: *Summary* The configuration parameter `hbase.hstore.flusher.count` allows `0` (which turns out to be a bad value after I understand the source code). When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 ms without any error message, but ``` java.lang.RuntimeException: Master not initialized after 20ms ``` There’s no messages pinpointing `hbase.hstore.flusher.count` being the root cause. 0 means `MemStoreFlusher` is not alive. During the initialization time of HMaster, `isHealthy()` will be called and it will try to check if `MemStoreFlusher` is alive or not. However, since we set `hbase.hstore.flusher.count` to 0, there will be no flusher created at the first place, which cause`isHealthy()` to return false. As a consequence, HRegionServer does not enter its main loop. *How To Reproduce* The version of HBase: 2.2.3 # Set the value of configuration parameter `hbase.hstore.flusher.count` to `0` in “conf/hbase-site.xml” # Start hbase by running “bin/start-hbase.sh” # Wait for 3-4 minutes # Open the log file “logs/hbase--master-.log” > `hbase.hstore.flusher.count` setting to 0 breaks HMaster > > > Key: HBASE-23702 > URL: https://issues.apache.org/jira/browse/HBASE-23702 > Project: HBase > Issue Type: Bug > Components: regionserver >Affects Versions: 2.2.3 > Environment: HBase-2.2.3 > Java openjdk 1.8.0_222 > Ubuntu 18.04 >Reporter: Ctest >Priority: Major > Attachments: hbase-src-patch.txt > > > Summary > The configuration parameter `hbase.hstore.flusher.count` allows `0` (which > turns out to be a bad value after I understand the source code). > When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 > ms without any error message, but > ``` > java.lang.RuntimeException: Master not initialized after 20ms > ``` > > There’s no messages pinpointing `hbase.hstore.flusher.count` being the root > cause. > > 0 means `MemStoreFlusher` is not alive. During the initialization time of > HMaster, `isHealthy()` will be called and it will try to check if > `MemStoreFlusher` is alive or not. However, since we set > `hbase.hstore.flusher.count` to 0, there will be no flusher created at the > first place, which cause`isHealthy()` to return false. As a consequence, > HRegionServer does not enter its main loop. > > *How To Reproduce* > > The version of HBase: 2.2.3 > > # Set the value of configuration parameter `hbase.hstore.flusher.count` to > `0` in “conf/hbase-site.xml” > # Start hbase by running “bin/start-hbase.sh” > # Wait for 3-4 minutes > # Open the log file “logs/hbase-- master -.log” -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (HBASE-23702) `hbase.hstore.flusher.count` setting to 0 breaks HMaster
[ https://issues.apache.org/jira/browse/HBASE-23702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23702: -- Description: *Summary* The configuration parameter `hbase.hstore.flusher.count` allows `0` (which turns out to be a bad value after I understand the source code). When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 ms without any error message, but ``` java.lang.RuntimeException: Master not initialized after 20ms ``` There’s no messages pinpointing `hbase.hstore.flusher.count` being the root cause. 0 means `MemStoreFlusher` is not alive. During the initialization time of HMaster, `isHealthy()` will be called and it will try to check if `MemStoreFlusher` is alive or not. However, since we set `hbase.hstore.flusher.count` to 0, there will be no flusher created at the first place, which cause`isHealthy()` to return false. As a consequence, HRegionServer does not enter its main loop. *How To Reproduce* The version of HBase: 2.2.3 # Set the value of configuration parameter `hbase.hstore.flusher.count` to `0` in “conf/hbase-site.xml” # Start hbase by running “bin/start-hbase.sh” # Wait for 3-4 minutes # Open the log file “logs/hbase--master-.log” was: *Summary* The configuration parameter `hbase.hstore.flusher.count` allows `0` (which turns out to be a bad value after I understand the source code). When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 ms without any error message, but ``` java.lang.RuntimeException: Master not initialized after 20ms ``` There’s no messages pinpointing `hbase.hstore.flusher.count` being the root cause. 0 means `MemStoreFlusher` is not alive. During the initialization time of HMaster, `isHealthy()` will be called and it will try to check if `MemStoreFlusher` is alive or not. However, since we set `hbase.hstore.flusher.count` to 0, there will be no flusher created at the first place, which cause`isHealthy()` to return false. As a consequence, HRegionServer does not enter its main loop. *How To Reproduce* The version of Hadoop: 2.2.3 # Set the value of configuration parameter `hbase.hstore.flusher.count` to `0` in “conf/hbase-site.xml” # Start hbase by running “bin/start-hbase.sh” # Wait for 3-4 minutes # Open the log file “logs/hbase--master-.log” > `hbase.hstore.flusher.count` setting to 0 breaks HMaster > > > Key: HBASE-23702 > URL: https://issues.apache.org/jira/browse/HBASE-23702 > Project: HBase > Issue Type: Bug > Components: regionserver >Affects Versions: 2.2.3 > Environment: HBase-2.2.3 > Java openjdk 1.8.0_222 > Ubuntu 18.04 >Reporter: Ctest >Priority: Major > Attachments: hbase-src-patch.txt > > > *Summary* > The configuration parameter `hbase.hstore.flusher.count` allows `0` (which > turns out to be a bad value after I understand the source code). > When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 > ms without any error message, but > ``` > java.lang.RuntimeException: Master not initialized after 20ms > ``` > > There’s no messages pinpointing `hbase.hstore.flusher.count` being the root > cause. > > 0 means `MemStoreFlusher` is not alive. During the initialization time of > HMaster, `isHealthy()` will be called and it will try to check if > `MemStoreFlusher` is alive or not. However, since we set > `hbase.hstore.flusher.count` to 0, there will be no flusher created at the > first place, which cause`isHealthy()` to return false. As a consequence, > HRegionServer does not enter its main loop. > > *How To Reproduce* > > The version of HBase: 2.2.3 > > # Set the value of configuration parameter `hbase.hstore.flusher.count` to > `0` in “conf/hbase-site.xml” > # Start hbase by running “bin/start-hbase.sh” > # Wait for 3-4 minutes > # Open the log file “logs/hbase--master-.log” -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (HBASE-23702) `hbase.hstore.flusher.count` setting to 0 breaks HMaster
[ https://issues.apache.org/jira/browse/HBASE-23702?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ctest updated HBASE-23702: -- Attachment: hbase-src-patch.txt Status: Patch Available (was: Open) > `hbase.hstore.flusher.count` setting to 0 breaks HMaster > > > Key: HBASE-23702 > URL: https://issues.apache.org/jira/browse/HBASE-23702 > Project: HBase > Issue Type: Bug > Components: regionserver >Affects Versions: 2.2.3 > Environment: HBase-2.2.3 > Java openjdk 1.8.0_222 > Ubuntu 18.04 >Reporter: Ctest >Priority: Major > Attachments: hbase-src-patch.txt > > > *Summary* > The configuration parameter `hbase.hstore.flusher.count` allows `0` (which > turns out to be a bad value after I understand the source code). > When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 > ms without any error message, but > ``` > java.lang.RuntimeException: Master not initialized after 20ms > ``` > > There’s no messages pinpointing `hbase.hstore.flusher.count` being the root > cause. > > 0 means `MemStoreFlusher` is not alive. During the initialization time of > HMaster, `isHealthy()` will be called and it will try to check if > `MemStoreFlusher` is alive or not. However, since we set > `hbase.hstore.flusher.count` to 0, there will be no flusher created at the > first place, which cause`isHealthy()` to return false. As a consequence, > HRegionServer does not enter its main loop. > > *How To Reproduce* > > The version of Hadoop: 2.2.3 > > # Set the value of configuration parameter `hbase.hstore.flusher.count` to > `0` in “conf/hbase-site.xml” > # Start hbase by running “bin/start-hbase.sh” > # Wait for 3-4 minutes > # Open the log file “logs/hbase--master-.log” -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (HBASE-23702) `hbase.hstore.flusher.count` setting to 0 breaks HMaster
Ctest created HBASE-23702: - Summary: `hbase.hstore.flusher.count` setting to 0 breaks HMaster Key: HBASE-23702 URL: https://issues.apache.org/jira/browse/HBASE-23702 Project: HBase Issue Type: Bug Components: regionserver Affects Versions: 2.2.3 Environment: HBase-2.2.3 Java openjdk 1.8.0_222 Ubuntu 18.04 Reporter: Ctest *Summary* The configuration parameter `hbase.hstore.flusher.count` allows `0` (which turns out to be a bad value after I understand the source code). When we set `hbase.hstore.flusher.count` to 0, HMaster will fail in 200,000 ms without any error message, but ``` java.lang.RuntimeException: Master not initialized after 20ms ``` There’s no messages pinpointing `hbase.hstore.flusher.count` being the root cause. 0 means `MemStoreFlusher` is not alive. During the initialization time of HMaster, `isHealthy()` will be called and it will try to check if `MemStoreFlusher` is alive or not. However, since we set `hbase.hstore.flusher.count` to 0, there will be no flusher created at the first place, which cause`isHealthy()` to return false. As a consequence, HRegionServer does not enter its main loop. *How To Reproduce* The version of Hadoop: 2.2.3 # Set the value of configuration parameter `hbase.hstore.flusher.count` to `0` in “conf/hbase-site.xml” # Start hbase by running “bin/start-hbase.sh” # Wait for 3-4 minutes # Open the log file “logs/hbase--master-.log” -- This message was sent by Atlassian Jira (v8.3.4#803005)