Go to file
Andrew Purtell 8e4516536c 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:53 -08:00
.idea HBASE-23707 Add IntelliJ check style plugin configuration (#1064) (#1093) 2020-01-27 10:53:55 -08:00
bin HBASE-25237 : 'hbase master stop' shuts down the cluster, not the master only (#2705) 2020-11-27 16:34:37 +05:30
conf HBASE-24271 Set values in `conf/hbase-site.xml` that enable running on `LocalFileSystem` out of the box 2020-05-14 14:35:50 -07:00
dev-support HBASE-25313 [branch-1] Fix the broken pre-commit 2020-11-21 12:47:41 +05:30
hbase-annotations Set version on branch-1 to 1.7.0-SNAPSHOT 2020-02-14 11:31:32 -08:00
hbase-archetypes Set version on branch-1 to 1.7.0-SNAPSHOT 2020-02-14 11:31:32 -08:00
hbase-assembly Set version on branch-1 to 1.7.0-SNAPSHOT 2020-02-14 11:31:32 -08:00
hbase-checkstyle Set version on branch-1 to 1.7.0-SNAPSHOT 2020-02-14 11:31:32 -08:00
hbase-client HBASE-25292 Improve InetSocketAddress usage discipline (#2669) 2020-12-04 10:19:53 -08:00
hbase-common HBASE-25292 Improve InetSocketAddress usage discipline (#2669) 2020-12-04 10:19:53 -08:00
hbase-error-prone Set version on branch-1 to 1.7.0-SNAPSHOT 2020-02-14 11:31:32 -08:00
hbase-examples HBASE-24434 Fix building cpp-example DemoClient 2020-05-27 14:16:44 -07:00
hbase-external-blockcache HBASE-25292 Improve InetSocketAddress usage discipline (#2669) 2020-12-04 10:19:53 -08:00
hbase-hadoop-compat HBASE-25189 [Metrics] Add checkAndPut and checkAndDelete latency metrics at table level (#2548) 2020-10-26 10:46:06 +08:00
hbase-hadoop2-compat HBASE-24640 [branch-1] Purge use of VisibleForTesting (#2697) 2020-11-25 14:25:24 -08:00
hbase-hbtop HBASE-24775 [hbtop] StoreFile size should be rounded off (#2144) 2020-07-28 08:34:07 +09:00
hbase-it HBASE-24662 Update DumpClusterStatusAction to notice changes in region server count 2020-08-06 09:18:51 -07:00
hbase-metrics Set version on branch-1 to 1.7.0-SNAPSHOT 2020-02-14 11:31:32 -08:00
hbase-metrics-api HBASE-24640 [branch-1] Purge use of VisibleForTesting (#2697) 2020-11-25 14:25:24 -08:00
hbase-prefix-tree Set version on branch-1 to 1.7.0-SNAPSHOT 2020-02-14 11:31:32 -08:00
hbase-procedure HBASE-24640 [branch-1] Purge use of VisibleForTesting (#2697) 2020-11-25 14:25:24 -08:00
hbase-protocol HBASE-23935 : Backport HBASE-22978, HBASE-24528, HBASE-24718 to branch-1 (#2312) 2020-10-16 12:21:17 +05:30
hbase-resource-bundle Set version on branch-1 to 1.7.0-SNAPSHOT 2020-02-14 11:31:32 -08:00
hbase-rest HBASE-24481 REST - Fix incorrect response code of get-regions in rest api 2020-09-19 19:59:14 +05:30
hbase-rsgroup HBASE-24640 [branch-1] Purge use of VisibleForTesting (#2697) 2020-11-25 14:25:24 -08:00
hbase-server HBASE-25292 Improve InetSocketAddress usage discipline (#2669) 2020-12-04 10:19:53 -08:00
hbase-shaded Set version on branch-1 to 1.7.0-SNAPSHOT 2020-02-14 11:31:32 -08:00
hbase-shell HBASE-23935 : Backport HBASE-22978, HBASE-24528, HBASE-24718 to branch-1 (#2312) 2020-10-16 12:21:17 +05:30
hbase-testing-util Set version on branch-1 to 1.7.0-SNAPSHOT 2020-02-14 11:31:32 -08:00
hbase-thrift HBASE-25261 Upgrade Bootstrap to 3.4.1 2020-11-17 14:35:25 +01:00
src/main HBASE-23935 : Backport HBASE-22978, HBASE-24528, HBASE-24718 to branch-1 (#2312) 2020-10-16 12:21:17 +05:30
.editorconfig HBASE-23234 Provide .editorconfig based on checkstyle configuration (#846) 2019-11-21 11:24:05 -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:35:50 -07:00
.pylintrc HBASE-18041 Add .pylintrc to HBase 2017-06-28 12:27:01 -05:00
.rubocop.yml HBASE-23943 Updated Rubocop configuration to current version 2020-03-18 12:26:09 +01:00
CHANGES.txt Update POMs and CHANGES.txt for 1.6.0RC0 2020-02-14 11:30:22 -08:00
LICENSE.txt HBASE-14338 License notification misspells 'Asciidoctor' (Lars Francke) 2015-09-22 09:53:36 -07:00
NOTICE.txt HBASE-15666 shaded dependencies for hbase-testing-util 2019-07-15 11:59:52 +02:00
README.txt Updated links in README 2014-09-18 12:06:02 -07:00
pom.xml HBASE-25154 Set java.io.tmpdir to project build directory to avoid writing std*deferred files to /tmp (#2502) 2020-10-06 08:43:21 +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