Go to file
Andrew Purtell ea331a66be HBASE-25292 Improve InetSocketAddress usage discipline (#2669)
Network identities should be bound late. Remote addresses should be
resolved at the last possible moment, just before connect(). Network
identity mappings can change, so our code should not inappropriately
cache them. Otherwise we might miss a change and fail to operate normally.

Revert "HBASE-14544 Allow HConnectionImpl to not refresh the dns on errors"
Removes hbase.resolve.hostnames.on.failure and related code. We always
resolve hostnames, as late as possible.

Preserve InetSocketAddress caching per RPC connection. Avoids potential
lookups per Call.

Replace InetSocketAddress with Address where used as a map key. If we want
to key by hostname and/or resolved address we should be explicit about it.
Using Address chooses mapping by hostname and port only.

Add metrics for potential nameservice resolution attempts, whenever an
InetSocketAddress is instantiated for connect; and metrics for failed
resolution, whenever InetSocketAddress#isUnresolved on the new instance
is true.

* Use ServerName directly to build a stub key

* Resolve and cache ISA on a RpcChannel as late as possible, at first call

* Remove now invalid unit test TestCIBadHostname

We resolve DNS at the latest possible time, at first call, and do not
resolve hostnames for creating stubs at all, so this unit test cannot
work now.

Reviewed-by: Mingliang Liu <liuml07@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
2020-12-04 10:19:02 -08:00
.idea HBASE-23707 Add IntelliJ check style plugin configuration (#1064) (#1092) 2020-01-27 10:45:27 -08:00
bin HBASE-25237 : 'hbase master stop' shuts down the cluster, not the master only 2020-11-27 16:05:07 +05:30
conf HBASE-24343 Document how to configure the http request log 2020-05-29 16:59:35 -07:00
dev-support HBASE-25284 Check-in "Enable memstore replication..." design (#2680) 2020-11-21 08:53:28 -08:00
hbase-annotations HBASE-24013 Bump branch-2 version to 2.4.0-SNAPSHOT (#1309) 2020-03-19 08:01:43 -07:00
hbase-archetypes HBASE-24309 Avoid introducing log4j and slf4j-log4j dependencies for … (#1697) 2020-05-13 17:59:21 +08:00
hbase-assembly HBASE-14067 bundle ruby files for hbase shell into a jar. 2020-10-13 16:29:55 -05:00
hbase-asyncfs HBASE-24912 Enlarge MemstoreFlusherChore/CompactionChecker period for unit test (#2285) 2020-08-21 12:42:11 +08:00
hbase-build-configuration HBASE-25342 Upgrade error prone to 2.4.0 (#2725) 2020-12-02 23:38:05 +08:00
hbase-checkstyle HBASE-24013 Bump branch-2 version to 2.4.0-SNAPSHOT (#1309) 2020-03-19 08:01:43 -07:00
hbase-client HBASE-25292 Improve InetSocketAddress usage discipline (#2669) 2020-12-04 10:19:02 -08:00
hbase-common HBASE-25292 Improve InetSocketAddress usage discipline (#2669) 2020-12-04 10:19:02 -08:00
hbase-endpoint HBASE-24640 [branch-2] Purge use of VisibleForTesting (#2696) 2020-11-25 14:15:32 -08:00
hbase-examples HBASE-25037 Lots of thread pool are changed to non daemon after HBASE-24750 which causes trouble when shutting down (#2407) 2020-09-16 22:03:42 +08:00
hbase-external-blockcache HBASE-25292 Improve InetSocketAddress usage discipline (#2669) 2020-12-04 10:19:02 -08:00
hbase-hadoop-compat HBASE-25026 Create a metric to track full region scans RPCs 2020-11-19 09:55:33 +05:30
hbase-hadoop2-compat HBASE-24640 [branch-2] Purge use of VisibleForTesting (#2696) 2020-11-25 14:15:32 -08:00
hbase-hbtop HBASE-24776 [hbtop] Support Batch mode (#2291) 2020-09-11 10:04:01 +09:00
hbase-http HBASE-24640 [branch-2] Purge use of VisibleForTesting (#2696) 2020-11-25 14:15:32 -08:00
hbase-it HBASE-25164 Make ModifyTableProcedure support changing meta replica count (#2513) 2020-10-13 10:13:48 +08:00
hbase-logging HBASE-24309 Avoid introducing log4j and slf4j-log4j dependencies for … (#1697) 2020-05-13 17:59:21 +08:00
hbase-mapreduce Revert "HBASE-25246 Backup/Restore hbase cell tags" 2020-12-03 21:17:11 +05:30
hbase-metrics HBASE-24663 Add procedure process time statistics UI (#2035) 2020-07-10 15:05:57 +08:00
hbase-metrics-api HBASE-24640 [branch-2] Purge use of VisibleForTesting (#2696) 2020-11-25 14:15:32 -08:00
hbase-procedure HBASE-24640 [branch-2] Purge use of VisibleForTesting (#2696) 2020-11-25 14:15:32 -08:00
hbase-protocol HBASE-24404 Support flush a single column family of region (#2098) 2020-07-31 09:31:14 +01:00
hbase-protocol-shaded HBASE-25181 Add options for disabling column family encryption and choosing hash algorithm for wrapped encryption keys. 2020-11-09 14:15:22 -06:00
hbase-replication HBASE-24640 [branch-2] Purge use of VisibleForTesting (#2696) 2020-11-25 14:15:32 -08:00
hbase-resource-bundle HBASE-23834 HBase fails to run on Hadoop 3.3.0/3.2.2/3.1.4 due to jetty version mismatch (#2222) 2020-08-25 15:02:55 +08:00
hbase-rest HBASE-25242 Add Increment/Append support to RowMutations (#2711) 2020-11-27 03:53:19 +09:00
hbase-rsgroup HBASE-25332:fix One pontential NPE 2020-12-01 19:47:09 +05:30
hbase-server HBASE-25292 Improve InetSocketAddress usage discipline (#2669) 2020-12-04 10:19:02 -08:00
hbase-shaded HBASE-23834 HBase fails to run on Hadoop 3.3.0/3.2.2/3.1.4 due to jetty version mismatch (#2222) 2020-08-25 15:02:55 +08:00
hbase-shell HBASE-25263 Various improvements of column family encryption 2020-11-26 16:57:12 +01:00
hbase-testing-util HBASE-24309 Avoid introducing log4j and slf4j-log4j dependencies for … (#1697) 2020-05-13 17:59:21 +08:00
hbase-thrift HBASE-25242 Add Increment/Append support to RowMutations (#2711) 2020-11-27 03:53:19 +09:00
hbase-zookeeper HBASE-25292 Improve InetSocketAddress usage discipline (#2669) 2020-12-04 10:19:02 -08:00
src HBASE-25355 [Documentation] Fix spelling error (#2735) 2020-12-03 21:36:32 +08:00
.editorconfig HBASE-23767 Add JDK11 compilation and unit test support to Github precommit 2020-03-05 13:59:01 -08:00
.gitattributes HBASE-6816. [WINDOWS] line endings on checkout for .sh files 2013-01-23 19:30:14 +00:00
.gitignore HBASE-24271 Set values in `conf/hbase-site.xml` that enable running on `LocalFileSystem` out of the box 2020-05-14 14:05:40 -07:00
.pylintrc HBASE-21712 : Make submit-patch.py python3 compatible 2019-01-16 09:28:25 +01:00
.rubocop.yml HBASE-23943 Updated Rubocop configuration to current version 2020-03-18 11:48:36 +01:00
CHANGES.md HBASE-24162 Move CHANGES.txt to CHANGES.md. Add RELEASENOTES.md too on branch-2, branch-2.3, and master 2020-04-10 14:41:02 -07:00
LICENSE.txt HBASE-18548 Move sources of website gen and check jobs into source control 2017-12-19 23:40:46 +08:00
NOTICE.txt HBASE-24417 update copyright notices year to 2020 (#1760) 2020-05-25 13:00:27 +08:00
README.txt HBASE-18548 Move sources of website gen and check jobs into source control 2017-12-19 23:40:46 +08:00
RELEASENOTES.md HBASE-24162 Move CHANGES.txt to CHANGES.md. Add RELEASENOTES.md too on branch-2, branch-2.3, and master 2020-04-10 14:41:02 -07:00
pom.xml HBASE-25342 Upgrade error prone to 2.4.0 (#2725) 2020-12-02 23:38:05 +08:00

README.txt

Apache HBase [1] is an open-source, distributed, versioned, column-oriented
store modeled after Google' Bigtable: A Distributed Storage System for
Structured Data by Chang et al.[2]  Just as Bigtable leverages the distributed
data storage provided by the Google File System, HBase provides Bigtable-like
capabilities on top of Apache Hadoop [3].

To get started using HBase, the full documentation for this release can be
found under the doc/ directory that accompanies this README.  Using a browser,
open the docs/index.html to view the project home page (or browse to [1]).
The hbase 'book' at http://hbase.apache.org/book.html has a 'quick start'
section and is where you should being your exploration of the hbase project.

The latest HBase can be downloaded from an Apache Mirror [4].

The source code can be found at [5]

The HBase issue tracker is at [6]

Apache HBase is made available under the Apache License, version 2.0 [7]

The HBase mailing lists and archives are listed here [8].

The HBase distribution includes cryptographic software. See the export control
notice here [9].

1. http://hbase.apache.org
2. http://research.google.com/archive/bigtable.html
3. http://hadoop.apache.org
4. http://www.apache.org/dyn/closer.cgi/hbase/
5. https://hbase.apache.org/source-repository.html
6. https://hbase.apache.org/issue-tracking.html
7. http://hbase.apache.org/license.html
8. http://hbase.apache.org/mail-lists.html
9. https://hbase.apache.org/export_control.html