Commit Graph

16628 Commits

Author SHA1 Message Date
Josh Elser 5fc1141f63 HBASE-17115 Define UI admins via an ACL
The Hadoop AccessControlList allows us to specify admins of the webUI
via a list of users and/or groups. Admins of the WebUI can mutate the
system, potentially seeing sensitive data or modifying the system.

hbase.security.authentication.spnego.admin.users is a comma-separated
list of users who are admins.
hbase.security.authentication.spnego.admin.groups is a comma-separated
list of groups whose membership are admins. Either of these
configuration properties may also contain an asterisk (*) which denotes
"any entity" (e.g user, group).

Previously, when a user was denied from some endpoint that was
designated for admins, they received an HTTP/401. In this case, it is
more correct to return HTTP/403 as they were correctly authenticated,
but they were disallowed from fetching the given resource. This commit
incorporates this change.

hbase.security.authentication.ui.config.protected also exists for users
who have sensitive information stored in the Hadoop service
configuration and want to limit access to this endpoint. By default,
the Hadoop configuration endpoint is not protected and any
authenticated user can access it.

The test is based off of work by Nihal Jain in HBASE-20472.

Co-authored-by: Nihal Jain <nihaljain.cs@gmail.com>
Signed-off-by: Sean Busbey <busbey@apache.org>
2020-01-29 16:45:25 -05:00
Viraj Jasani 0a2aa37343
HBASE-23749 : TestHFileWriterV3 for all DataBlock Encoders
Signed-off-by: ramkrish86 <ramkrishna@apache.org>
2020-01-30 00:01:12 +05:30
stack 97e82184a1 HBASE-23753 Update of errorprone generated failures
hbase-client/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
hbase-server/src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java
 Complains about mismatch in types when Compare. Implement Compare in
 base Interface.

hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
 Complains pbs never return null.

hbase-server/src/test/java/org/apache/hadoop/hbase/replication/regionserver/TestReplicationSinkManager.java
 Needed redo because errorprone complains can't mock Service from guava.

hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionReplicasWithRestartScenarios.java
hbase-server/src/test/java/org/apache/hadoop/hbase/security/access/TestSnapshotScannerHDFSAclController.java
 Unrelated...adding one-liner debug statements chasing other test
 failures.
2020-01-28 17:01:30 -08:00
Bharath Vissapragada 71f035450d
HBASE-23304: RPCs needed for client meta information lookup (apache#904) (#1098)
* HBASE-23257: Track clusterID in stand by masters (#798)

This patch implements a simple cache that all the masters
can lookup to serve cluster ID to clients. Active HMaster
is still responsible for creating it but all the masters
will read it from fs to serve clients.

RPCs exposing it will come in a separate patch as a part of
HBASE-18095.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
Signed-off-by: Guangxu Cheng <guangxucheng@gmail.com>
(cherry picked from commit c2e01f2398)

* HBASE-23275: Track active master's address in ActiveMasterManager (#812)

Currently we just track whether an active master exists.
It helps to also track the address of the active master in
all the masters to help serve the client RPC requests to
know which master is active.

Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
(cherry picked from commit efebb843af)

* HBASE-23281: Track meta region locations in masters (#830)

* HBASE-23281: Track meta region changes on masters

This patch adds a simple cache that tracks the meta region replica
locations. It keeps an eye on the region movements so that the
cached locations are not stale.

This information is used for servicing client RPCs for connections
that use master based registry (HBASE-18095). The RPC end points
will be added in a separate patch.

Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
(cherry picked from commit 8571d389cf)

* HBASE-23304: RPCs needed for client meta information lookup (#904)

* HBASE-23304: RPCs needed for client meta information lookup

This patch implements the RPCs needed for the meta information
lookup during connection init. New tests added to cover the RPC
code paths. HBASE-23305 builds on this to implement the client
side logic.

Fixed a bunch of checkstyle nits around the places the patch
touches.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
(cherry picked from commit 4f8fbba0c0)
2020-01-28 16:45:49 -08:00
stack 36cdcad43f HBASE-23751 Move core to hbase-thirdparty 3.2.0 2020-01-27 22:08:57 -08:00
stack 2d5dfebb85 HBASE-23746 [Flakey Tests] Caused by: org.apache.hadoop.hbase.util.CommonFSUtils$StreamLacksCapabilityException: hflush and hsync; ADDENDUM add a few more tests 2020-01-27 17:42:08 -08:00
stack e0f913323e HBASE-23746 [Flakey Tests] Caused by: org.apache.hadoop.hbase.util.CommonFSUtils$StreamLacksCapabilityException: hflush and hsync 2020-01-27 12:05:01 -08:00
Nick Dimiduk ff3d2aea81
HBASE-23707 Add IntelliJ check style plugin configuration (#1064) (#1092)
Signed-off-by: Jan Hentschel <janh@apache.org>
Signed-off-by: Sean Busbey <busbey@apache.org>
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
2020-01-27 10:45:27 -08:00
stack 62875a229a Revert "Revert "HBASE-23705 Add CellComparator to HFileContext (#1062)""
Revert of a revert, i.e., putting this patch back.

This reverts commit f4b0ad9f6a.
2020-01-27 07:40:56 -08:00
stack f4b0ad9f6a Revert "HBASE-23705 Add CellComparator to HFileContext (#1062)"
This reverts commit f817293fb4.
2020-01-26 20:49:03 -08:00
stack cbb2c7e00d Reapply "HBASE-23069 periodic dependency bump for Sep 2019 (#1082)""
Was reverted to see if this was breaking build but it isn't. Putting
back.
2020-01-26 20:45:03 -08:00
stack df033067fe HBASE-23737 [Flakey Tests] TestFavoredNodeTableImport fails 30% of the time; AMENDMENT
This is actual fix; previous added debug to test.
2020-01-25 17:01:33 -08:00
stack 3d9e536e2a Revert "HBASE-23069 periodic dependency bump for Sep 2019 (#1082)"
This reverts commit 792feec05d.

 Revert to see if this causing strange test failure on nightlies.
2020-01-24 18:47:39 -08:00
stack 83a2f6b546 Revert " HBASE-23069 periodic dependency bump for Sep 2019 (#1082); ADDENDUM"
This reverts commit 0dc71f9fdf.

 Revert to see if this causing strange test failure on nightlies.
2020-01-24 18:47:34 -08:00
stack 502cb33601 Revert " HBASE-23069 periodic dependency bump for Sep 2019 (#1082); ADDENDUM"
This reverts commit 2a11b7e94b.

 Revert to see if this causing strange test failure on nightlies.
2020-01-24 18:47:30 -08:00
stack a91346a727 Revert " HBASE-23069 periodic dependency bump for Sep 2019 (#1082); ADDENDUM"
This reverts commit 9f04fa69b0.

Revert to see if this causing strange test failure on nightlies.
2020-01-24 18:47:02 -08:00
stack 9cf57a7db6 HBASE-23737 [Flakey Tests] TestFavoredNodeTableImport fails 30% of the time 2020-01-24 17:56:42 -08:00
stack 134242720d HBASE-23735 [Flakey Tests] TestClusterRestartFailover & TestClusterRestartFailoverSplitWithoutZk 2020-01-24 12:29:48 -08:00
Wei-Chiu Chuang ee64aa044d HBASE-23728 Include HBASE-21018 in 2.2 & 2.3
HBASE-21018 - RS crashed because AsyncFS was unable to update HDFS data encryption key

Signed-off-by: Peter Somogyi <psomogyi@apache.org>
Signed-off-by: Sakthi <sakthi@apache.org>
(cherry picked from commit 656cba9fe7)
2020-01-24 11:28:30 -08:00
Jan Hentschel bfa4b0c4c1
HBASE-23686 Revert binary incompatible change in ByteRangeUtils and removed reflections in CommonFSUtils
Signed-off-by: Sean Busbey <busbey@apache.org>
2020-01-24 20:28:01 +01:00
jackbearden 4ce1f9b832 HBASE-23727 Port HBASE-20981 in 2.2 & 2.3
HBASE-20981 - Rollback stateCount accounting thrown-off when exception out of rollbackState

Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Sakthi <sakthi@apache.org>
Signed-off-by: Peter Somogyi <psomogyi@apache.org>
(cherry picked from commit 8e8b9b698f)
2020-01-24 10:59:02 -08:00
Michael Stack 81cb4ddea5 HBASE-21345 [hbck2] Allow version check to proceed even though master is 'initializing'.
Just remove the check state from the getClusterStatus call.

Signed-off-by: Michael Stack <stack@apache.org>
Signed-off-by: Peter Somogyi <psomogyi@apache.org>
Signed-off-by: Sakthi <sakthi@apache.org>
(cherry picked from commit dd8496a546)
2020-01-24 10:43:53 -08:00
stack cfe569cf6b HBASE-23733 [Flakey Tests] TestSplitTransactionOnCluster 2020-01-24 10:06:39 -08:00
Geoffrey Jacoby a32bd14b27
HBASE-23710 - Priority configuration for system coprocessors (#1077)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-01-23 16:47:16 -08:00
stack f7eeea0789 HBASE-23729 [Flakeys] TestRSGroupsBasics#testClearNotProcessedDeadServer fails most of the time 2020-01-23 16:44:49 -08:00
stack 9f04fa69b0 HBASE-23069 periodic dependency bump for Sep 2019 (#1082); ADDENDUM
AND.... undo thirdparty testing version update.
2020-01-23 14:24:32 -08:00
stack 2a11b7e94b HBASE-23069 periodic dependency bump for Sep 2019 (#1082); ADDENDUM
Remove staging repo added by mistake.
2020-01-23 14:16:23 -08:00
Josh Elser 427e367d95 HBASE-23722 Real user might be null in non-proxy-user case
Closes #1085

Signed-off-by: stack <stack@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-01-23 16:07:00 -05:00
stack 0dc71f9fdf HBASE-23069 periodic dependency bump for Sep 2019 (#1082); ADDENDUM
For asciidoctor, s/1.5.8/1.5.8.1/.
2020-01-23 11:58:47 -08:00
Michael Stack 792feec05d
HBASE-23069 periodic dependency bump for Sep 2019 (#1082)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2020-01-23 09:25:51 -08:00
Michael Stack f817293fb4 HBASE-23705 Add CellComparator to HFileContext (#1062)
Codecs don't have access to what CellComparator to use.  Backfill.

M hbase-common/src/main/java/org/apache/hadoop/hbase/CellComparator.java
 Adds a new compareRows with default implementation that takes a ByteBuffer.
 Needed by the index in a block encoder implementation.

M hbase-common/src/main/java/org/apache/hadoop/hbase/CellComparatorImpl.java
 Adds implementation for meta of new compareRows method. Adds utility
 method for figuring comparator based off tablename.

M hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/AbstractDataBlockEncoder.java
M hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/BufferedDataBlockEncoder.java
M hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/RowIndexCodecV1.java
M hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/RowIndexSeekerV1.java
 Comparator is in context. Remove redundant handling.

M hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.java
 Comparator is in context. Remove redundant handling. Clean javadoc.

M hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/HFileBlockDecodingContext.java
 Clean javadoc.

M hbase-common/src/main/java/org/apache/hadoop/hbase/io/encoding/RowIndexEncoderV1.java
 Cache context so can use it to get comparator to use later.

M hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContext.java
 Cache cellcomparator to use. Javdoc on diff between HFileContext and
 HFileInfo.
M hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContextBuilder.java
 Add CellComparator

M hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.java
M hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java
M hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java
M hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterImpl.java
M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileWriter.java
 Remove comparator caching. Get from context instead.

M hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/FixedFileTrailer.java
 Skip a reflection if we can.

M hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileInfo.java
 Javadoc. Removed unused filed.

Signed-off-by: Anoop Sam John <anoopsamjohn@apacher.org>
Signed-off-by: Ramkrishna <ramkrishna.s.vasudevan@intel.com>
Signed-off-by: Jan Hentschel <janh@apache.org>
2020-01-22 20:38:24 -08:00
Wellington Ramos Chevreuil 62e340901f
HBASE-23683 Make HBaseInterClusterReplicationEndpoint more extensible… (#1047)
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: binlijin <binlijin@gmail.com>
2020-01-22 09:19:14 +00:00
Josh Elser f8a28c3ea6 HBASE-23709 Unwrap the real user to properly dispatch proxy-user auth'n
REST and Thrift servers started failing because the check in
BuiltinProviderSelector wasn't checking the "real" user for kerberos
credentials. This resulted in the KerberosAuthnProvider not being
invoked when it should have been.

Closes #1080

Signed-off-by: Peter Somogyi <psomogyi@apache.org>
2020-01-22 10:13:23 +01:00
Geoffrey Jacoby 5e607a122e
HBASE-23711 - Add test for MinVersions and KeepDeletedCells TTL
Signed-off-by: stack <stack@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-01-22 00:26:57 -08:00
Michael Stack ac852c2b66
HBASE-23055 Alter hbase:meta (#1043)
Make hbase:meta region schema dynamic.

Patch has been under development a good while and its focus has changed
a few times so its bloated with fixup from older versions.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/TableStateManager.java
M hbase-client/src/main/java/org/apache/hadoop/hbase/zookeeper/ZNodePaths.java
 Shut down access to internals and removed unused methods.

M hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.java
 Cleanup/refactor section on replica-handling.

M hbase-server/src/main/java/org/apache/hadoop/hbase/util/FSTableDescriptors.java
 Get hbase:meta schema from filesystem rather than from hard-coding.
2020-01-21 13:17:27 -08:00
Peter Somogyi ac5ac1dcb3 HBASE-23347 Allow custom authentication methods for RPCs; addendum (#1060)
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-01-21 18:48:04 +01:00
Jan Hentschel c16569996b
HBASE-23625 Reduced number of Checkstyle violations in hbase-common
Signed-off-by: stack <stack@apache.org>
2020-01-20 22:24:01 +01:00
Guanghao Zhang 8f292a8d58 HBASE-23156 start-hbase.sh failed with ClassNotFoundException when build with hadoop3 (#1067)
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-01-20 13:24:27 +08:00
Jan Hentschel f6a2238889
HBASE-23661 Reduced number of Checkstyle violations in hbase-rest
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-01-19 18:17:14 +01:00
Duo Zhang 70c69ba765 HBASE-23680 RegionProcedureStore missing cleaning of hfile archive (#1022)
Signed-off-by: stack <stack@apache.org>
2020-01-18 20:52:29 +08:00
Peter Somogyi d9b5b9f3fc HBASE-23653 Expose content of meta table in web ui; addendum (#1061)
Fix error prone problem

Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: stack <stack@apache.org>
2020-01-18 09:34:12 +01:00
Nick Dimiduk 2bc67dfda0
HBASE-23700 Upgrade checkstyle and plugin versions (#1056) (#1063)
Bump checkstyle version to 8.28, maven-checkstyle-plugin to 3.1.0.

As per HBASE-23242 and the updated checkstyle docs[1], the LineLength
check should be placed under an instance of Checker.

[1] https://checkstyle.sourceforge.io/config_sizes.html#LineLength

Co-authored-by: Bharath Vissapragada <bharathv@apache.org>
Signed-off-by: Jan Hentschel <janh@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
2020-01-17 17:09:16 -08:00
Josh Elser 1ea389a834 HBASE-23701 Try to converge automated checks around Category
We have a compile-time guarantee to either have a category array
of length zero or one because the category annotation is non-repeatable.

Also tries to clean up the checking for unit-test annotations.

Closes #1057

Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
2020-01-17 12:49:50 -05:00
Viraj Jasani 193a9c2e55
HBASE-23569 : Validate that all default chores of HRegionServer are scheduled (ADDENDUM)
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2020-01-16 23:07:51 -08:00
Nick Dimiduk 74bfe023e5
HBASE-23653 Expose content of meta table in web ui (#1021)
Adds a display of the content of 'hbase:meta' to the Master's
table.jsp, when that table is selected. Supports basic pagination,
filtering, &c.

Signed-off-by: stack <stack@apache.org>
Signed-off-by: Bharath Vissapragada <bharathv@apache.org>
2020-01-16 08:47:00 -08:00
Josh Elser bef1eb33f4 HBASE-23347 Allow custom authentication methods for RPCs
Decouple the HBase internals such that someone can implement
their own SASL-based authentication mechanism and plug it into
HBase RegionServers/Masters.

Comes with a design doc in dev-support/design-docs and an example in
hbase-examples known as "Shade" which uses a flat-password file
for authenticating users.

Closes #884

Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Signed-off-by: Reid Chan <reidchan@apache.org>
2020-01-16 11:04:08 -05:00
Josh Elser 0935ba4e16 HBASE-23695 Fail gracefully if no category is present
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>

Closes #1052
2020-01-16 10:24:53 -05:00
Duo Zhang 68d3c201dd HBASE-23652 Move the unsupported procedure type check before migrating to RegionProcedureStore (#1018)
Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
2020-01-16 23:01:58 +08:00
WenFeiYi 9f9fa0d412 HBASE-23677 fix 500/NPE of region.jsp (#1033)
Signed-off-by: Wellington Chevreuil <wchevreuil@apache.org>
(cherry picked from commit d60ce17c17)
2020-01-16 14:00:32 +00:00
Wellington Chevreuil bd4eba2b53 Revert "fix 500/NPE of region.jsp (#1033)"
This reverts commit ae95b1f215.
(reverting as commit message lacks jira id. Will rea-apply soon with the jira id)
2020-01-16 13:59:05 +00:00