[ANNOUNCE] Apache HBase 2.2.3 is now available for download
The HBase team is happy to announce the immediate availability of HBase 2.2.3. Apache HBase™ is an open-source, distributed, versioned, non-relational database. Apache HBase gives you low latency random access to billions of rows with millions of columns atop non-specialized hardware. To learn more about HBase, see https://hbase.apache.org/. To download 2.2.3, visit our download page: http://hbase.apache.org/downloads.html HBase 2.2.3 is the latest release of the HBase 2.2 line, continuing on the theme of bringing a stable, reliable database to the Apache Big Data ecosystem and beyond. 2.2.3 includes 115 bug fixes and improvement done since the 2.2.2. The list of 115 changes made since 2.2.2 can be found here: https://apache.org/dist/hbase/2.2.3/CHANGES.md For instructions on verifying ASF release downloads, please see https://www.apache.org/dyn/closer.cgi#verify Project member signature keys can be found at https://www.apache.org/dist/hbase/KEYS Question, comments, and problems are always welcome at: dev@hbase.apache.org Thanks to all who contributed and made this release possible. Cheers, The HBase Dev Team
[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)
[jira] [Created] (HBASE-23701) Make sure HBaseClassTestRule doesn't suffer same issue as HBaseClassTestRuleChecker
Josh Elser created HBASE-23701: -- Summary: Make sure HBaseClassTestRule doesn't suffer same issue as HBaseClassTestRuleChecker Key: HBASE-23701 URL: https://issues.apache.org/jira/browse/HBASE-23701 Project: HBase Issue Type: Bug Reporter: Josh Elser Assignee: Josh Elser [~bharathv] pointed out on HBASE-23695 ([https://github.com/apache/hbase/pull/1052]) that HBaseClassTestRule suffers the same potential bug that I fixed in HBASE-23695 for HBaseClassTestRuleChecker. Make sure the fix is in both places. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (HBASE-23700) Upgrade checkstyle and plugin verions
Nick Dimiduk created HBASE-23700: Summary: Upgrade checkstyle and plugin verions Key: HBASE-23700 URL: https://issues.apache.org/jira/browse/HBASE-23700 Project: HBase Issue Type: Task Reporter: Nick Dimiduk -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (HBASE-23653) Expose content of meta table in web ui
[ https://issues.apache.org/jira/browse/HBASE-23653?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Nick Dimiduk resolved HBASE-23653. -- Resolution: Fixed > Expose content of meta table in web ui > -- > > Key: HBASE-23653 > URL: https://issues.apache.org/jira/browse/HBASE-23653 > Project: HBase > Issue Type: New Feature > Components: master, Operability, UI >Reporter: Nick Dimiduk >Assignee: Nick Dimiduk >Priority: Minor > Fix For: 3.0.0, 2.3.0 > > Attachments: 23653.0.png, 23653.1.png > > > While testing improvements to hbck2, breaking and fixing a cluster's region > assignments, we've found that quite a few questions can only be answered by > dropping into a shell and scanning meta. This is in contrast to the nice web > view we have on procedures and their locks. It would be nice to have a > similar view into the content of meta. I've put together and extension to the > existing {{table.jsp}} that does this. It's had a couple rounds of operator > feedback. Will post up some screenshots along with the PR. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (HBASE-23347) Pluggable RPC authentication
[ https://issues.apache.org/jira/browse/HBASE-23347?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Josh Elser resolved HBASE-23347. Fix Version/s: 2.3.0 Hadoop Flags: Reviewed Release Note: This change introduces an internal abstraction layer which allows for new SASL-based authentication mechanisms to be used inside HBase services. All existing SASL-based authentication mechanism were ported to the new abstraction, making no external change in runtime semantics, client API, or RPC serialization format. Developers familiar with extending HBase can implement authentication mechanism beyond simple Kerberos and DelegationTokens which authenticate HBase users against some other user database. HBase service authentication (Master to/from RegionServer) continue to operate solely over Kerberos. Resolution: Fixed Pushed to branch-2 and master. Thanks to everyone who played a part in reviewing this. > Pluggable RPC authentication > > > Key: HBASE-23347 > URL: https://issues.apache.org/jira/browse/HBASE-23347 > Project: HBase > Issue Type: Improvement > Components: rpc, security >Reporter: Josh Elser >Assignee: Josh Elser >Priority: Major > Fix For: 3.0.0, 2.3.0 > > > Today in HBase, we rely on SASL to implement Kerberos and delegation token > authentication. The RPC client and server logic is very tightly coupled to > our three authentication mechanism (the previously two mentioned plus simple > auth'n) for no good reason (other than "that's how it was built", best as I > can tell). > SASL's function is to decouple the "application" from how a request is being > authenticated, which means that, to support a variety of other authentication > approaches, we just need to be a little more flexible in letting developers > create their own authentication mechanism for HBase. > This is less for the "average joe" user to write their own authentication > plugin (eek), but more to allow us HBase developers to start iterating, see > what is possible. > I'll attach a full write-up on what I have today as to how I think we can add > these abstractions, as well as an initial implementation of this idea, with a > unit test that shows an end-to-end authentication solution against HBase. > cc/ [~wchevreuil] as he's been working with me behind the scenes, giving lots > of great feedback and support. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (HBASE-23695) Fail more gracefully when test class is missing Category
[ https://issues.apache.org/jira/browse/HBASE-23695?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Josh Elser resolved HBASE-23695. Fix Version/s: 2.1.9 2.2.3 2.3.0 3.0.0 Hadoop Flags: Reviewed Resolution: Fixed > Fail more gracefully when test class is missing Category > > > Key: HBASE-23695 > URL: https://issues.apache.org/jira/browse/HBASE-23695 > Project: HBase > Issue Type: Bug >Reporter: Josh Elser >Assignee: Josh Elser >Priority: Minor > Fix For: 3.0.0, 2.3.0, 2.2.3, 2.1.9 > > > When a test class is missing a category, you might see an error such as: > {noformat} > [ERROR] Test mechanism Time elapsed: 0.305 s <<< ERROR! > java.lang.ArrayIndexOutOfBoundsException: 0[ERROR] Test mechanism Time > elapsed: 0.102 s <<< ERROR! > java.lang.ArrayIndexOutOfBoundsException: 0[ERROR] Test mechanism Time > elapsed: 0.103 s <<< ERROR! > java.lang.ArrayIndexOutOfBoundsException: 0[ERROR] Test mechanism Time > elapsed: 0.102 s <<< ERROR! > java.lang.ArrayIndexOutOfBoundsException: 0[ERROR] Test mechanism Time > elapsed: 0.098 s <<< ERROR! > java.lang.ArrayIndexOutOfBoundsException: 0[ERROR] Test mechanism :: 0 > {noformat} > You have to dig into the dump file to find out the actual error was: > {noformat} > org.apache.maven.surefire.testset.TestSetFailedException: Test mechanism :: 0 > at > org.apache.maven.surefire.common.junit4.JUnit4RunListener.rethrowAnyTestMechanismFailures(JUnit4RunListener.java:192) > at > org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:167) > at > org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:377) > at > org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:138) > at > org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:465) > at > org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:451) > Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 > at > org.apache.hadoop.hbase.HBaseClassTestRuleChecker.testStarted(HBaseClassTestRuleChecker.java:44) > at > org.junit.runner.notification.RunNotifier$5.notifyListener(RunNotifier.java:156) > at > org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:72) > at > org.junit.runner.notification.RunNotifier.fireTestStarted(RunNotifier.java:153) > at > org.apache.maven.surefire.common.junit4.Notifier.fireTestStarted(Notifier.java:100) > at > org.junit.internal.runners.model.EachTestNotifier.fireTestStarted(EachTestNotifier.java:42) > at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:364) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103) > at > org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63) > at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79) > at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329) > at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293) > at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306) > at org.junit.runners.ParentRunner.run(ParentRunner.java:413) > at > org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365) > at > org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273) > at > org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238) > at > org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159) > ... 4 more {noformat} > We can fix this up to get a proper exception thrown. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (HBASE-23652) Move the unsupported procedure type check before migrating to RegionProcedureStore
[ https://issues.apache.org/jira/browse/HBASE-23652?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Duo Zhang resolved HBASE-23652. --- Hadoop Flags: Reviewed Resolution: Fixed Pushed to master and branch-2. Thanks [~ndimiduk]. > Move the unsupported procedure type check before migrating to > RegionProcedureStore > -- > > Key: HBASE-23652 > URL: https://issues.apache.org/jira/browse/HBASE-23652 > Project: HBase > Issue Type: Task > Components: master >Affects Versions: 2.2.2 >Reporter: Nick Dimiduk >Assignee: Duo Zhang >Priority: Blocker > Fix For: 3.0.0, 2.3.0 > > > Per > [discussion|https://lists.apache.org/thread.html/c5f960e6cf3c89ffbf8f8302afb121462a08fd9a89d384c6795a7b81%40%3Cdev.hbase.apache.org%3E] > on the list, let's figure out how to make the upgrade from a v2.1 procedure > store less error-prone. Could be a simple as documenting runbook steps to > execute during the rolling upgrade, but it would be nice if the software > could roll over the data versions gracefully. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (HBASE-23675) Move to Apache parent POM version 22
[ https://issues.apache.org/jira/browse/HBASE-23675?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Peter Somogyi resolved HBASE-23675. --- Resolution: Fixed Re-resolving. > Move to Apache parent POM version 22 > > > Key: HBASE-23675 > URL: https://issues.apache.org/jira/browse/HBASE-23675 > Project: HBase > Issue Type: Improvement > Components: dependencies >Affects Versions: 3.0.0, 2.3.0, 1.6.0 >Reporter: Peter Somogyi >Assignee: Peter Somogyi >Priority: Minor > Fix For: 3.0.0, 2.3.0, 1.6.0 > > > Apache parent POM version 22 was released on 2020/01/09. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (HBASE-23699) ByteBuff may not recycle correctly when NettyRpcServer enabled and client disconnect
chenxu created HBASE-23699: -- Summary: ByteBuff may not recycle correctly when NettyRpcServer enabled and client disconnect Key: HBASE-23699 URL: https://issues.apache.org/jira/browse/HBASE-23699 Project: HBase Issue Type: Bug Components: rpc Reporter: chenxu Assignee: chenxu Code in NettyRpcServerResponseEncoder {code:java} @Override public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception { if (msg instanceof RpcResponse) { RpcResponse resp = (RpcResponse) msg; BufferChain buf = resp.getResponse(); ctx.write(Unpooled.wrappedBuffer(buf.getBuffers()), promise).addListener(f -> { resp.done(); if (f.isSuccess()) { metrics.sentBytes(buf.size()); } }); } else { ctx.write(msg, promise); } } {code} If exception occurs during ChannelHandlerContext#write (such as Client disconnected), ByteBuff may not be recycled correctly. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Reopened] (HBASE-23675) Move to Apache parent POM version 22
[ https://issues.apache.org/jira/browse/HBASE-23675?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Peter Somogyi reopened HBASE-23675: --- Reopening. Nightly on branch-1 failed. > Move to Apache parent POM version 22 > > > Key: HBASE-23675 > URL: https://issues.apache.org/jira/browse/HBASE-23675 > Project: HBase > Issue Type: Improvement > Components: dependencies >Affects Versions: 3.0.0, 2.3.0, 1.6.0 >Reporter: Peter Somogyi >Assignee: Peter Somogyi >Priority: Minor > Fix For: 3.0.0, 2.3.0, 1.6.0 > > > Apache parent POM version 22 was released on 2020/01/09. -- This message was sent by Atlassian Jira (v8.3.4#803005)