[ANNOUNCE] Apache HBase 2.2.3 is now available for download

2020-01-16 Thread Guanghao Zhang
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

2020-01-16 Thread Ctest (Jira)
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

2020-01-16 Thread Josh Elser (Jira)
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

2020-01-16 Thread Nick Dimiduk (Jira)
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

2020-01-16 Thread Nick Dimiduk (Jira)


 [ 
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

2020-01-16 Thread Josh Elser (Jira)


 [ 
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

2020-01-16 Thread Josh Elser (Jira)


 [ 
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

2020-01-16 Thread Duo Zhang (Jira)


 [ 
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

2020-01-16 Thread Peter Somogyi (Jira)


 [ 
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

2020-01-16 Thread chenxu (Jira)
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

2020-01-16 Thread Peter Somogyi (Jira)


 [ 
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)