Skip to content

HBASE-29452 Fix broken links in the reference guide #7155

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 29 additions & 29 deletions src/main/asciidoc/_chapters/architecture.adoc

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/main/asciidoc/_chapters/case_studies.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ Investigation results of a self-described "we're not sure what's wrong, but it s
=== Case Study #3 (Performance Research 2010))

Investigation results of general cluster performance from 2010.
Although this research is on an older version of the codebase, this writeup is still very useful in terms of approach. http://hstack.org/hbase-performance-testing/
Although this research is on an older version of the codebase, this writeup is still very useful in terms of approach. https://web.archive.org/web/20180503124332/http://hstack.org:80/hbase-performance-testing/

[[casestudies.max.transfer.threads]]
=== Case Study #4 (max.transfer.threads Config)
Expand Down
2 changes: 1 addition & 1 deletion src/main/asciidoc/_chapters/community.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ We also are currently in violation of this basic tenet -- replication at least k
=== Release Managers

Each maintained release branch has a release manager, who volunteers to coordinate new features and bug fixes are backported to that release.
The release managers are link:https://hbase.apache.org/team-list.html[committers].
The release managers are link:https://hbase.apache.org/team.html[committers].
If you would like your feature or bug fix to be included in a given release, communicate with that release manager.
If this list goes out of date or you can't reach the listed person, reach out to someone else on the list.

Expand Down
8 changes: 4 additions & 4 deletions src/main/asciidoc/_chapters/configuration.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -593,7 +593,7 @@ Pseudo-distributed mode can run against the local filesystem or it can run again
the _Hadoop Distributed File System_ (HDFS). Fully-distributed mode can ONLY run on HDFS.
See the Hadoop link:https://hadoop.apache.org/docs/current/[documentation] for how to set up HDFS.
A good walk-through for setting up HDFS on Hadoop 2 can be found at
http://www.alexjf.net/blog/distributed-systems/hadoop-yarn-installation-definitive-guide.
http://web.archive.org/web/20221007121526/https://www.alexjf.net/blog/distributed-systems/hadoop-yarn-installation-definitive-guide/.

[[pseudo]]
==== Pseudo-distributed
Expand Down Expand Up @@ -910,7 +910,7 @@ dependency when connecting to a cluster:
==== Java client configuration

The configuration used by a Java client is kept in an
link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/HBaseConfiguration[HBaseConfiguration]
link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/HBaseConfiguration[HBaseConfiguration]
instance.

The factory method on HBaseConfiguration, `HBaseConfiguration.create();`, on invocation, will read
Expand Down Expand Up @@ -1227,7 +1227,7 @@ major compactions. See the entry for `hbase.hregion.majorcompaction` in the
====
Major compactions are absolutely necessary for StoreFile clean-up. Do not disable them altogether.
You can run major compactions manually via the HBase shell or via the
link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Admin.html#majorCompact-org.apache.hadoop.hbase.TableName-[Admin API].
link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Admin.html#majorCompact(org.apache.hadoop.hbase.TableName)[Admin API].
====

For more information about compactions and the compaction file selection process, see
Expand Down Expand Up @@ -1264,7 +1264,7 @@ idea on the size you need by surveying RegionServer UIs; you'll see index block
the top of the webpage).

[[nagles]]
==== link:http://en.wikipedia.org/wiki/Nagle's_algorithm[Nagle's] or the small package problem
==== link:http://en.wikipedia.org/wiki/Nagle%27s_algorithm[Nagle's] or the small package problem

If a big 40ms or so occasional delay is seen in operations against HBase, try the Nagles' setting.
For example, see the user mailing list thread,
Expand Down
12 changes: 6 additions & 6 deletions src/main/asciidoc/_chapters/cp.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ coprocessor can severely degrade cluster performance and stability.

In HBase, you fetch data using a `Get` or `Scan`, whereas in an RDBMS you use a SQL
query. In order to fetch only the relevant data, you filter it using a HBase
link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/filter/Filter.html[Filter]
link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/filter/Filter.html[Filter]
, whereas in an RDBMS you use a `WHERE` predicate.

After fetching the data, you perform computations on it. This paradigm works well
Expand Down Expand Up @@ -112,7 +112,7 @@ using HBase Shell. For more details see <<cp_loading,Loading Coprocessors>>.
transparently.

The framework API is provided in the
link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/coprocessor/package-summary.html[coprocessor]
link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/coprocessor/package-summary.html[coprocessor]
package.

== Types of Coprocessors
Expand All @@ -121,8 +121,8 @@ package.

Observer coprocessors are triggered either before or after a specific event occurs.
Observers that happen before an event use methods that start with a `pre` prefix,
such as link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#prePut-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Put-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.hbase.client.Durability-[`prePut`]. Observers that happen just after an event override methods that start
with a `post` prefix, such as link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postPut-org.apache.hadoop.hbase.coprocessor.ObserverContext-org.apache.hadoop.hbase.client.Put-org.apache.hadoop.hbase.wal.WALEdit-org.apache.hadoop.hbase.client.Durability-[`postPut`].
such as link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#prePut(org.apache.hadoop.hbase.coprocessor.ObserverContext,org.apache.hadoop.hbase.client.Put,org.apache.hadoop.hbase.wal.WALEdit)[`prePut`]. Observers that happen just after an event override methods that start
with a `post` prefix, such as link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionObserver.html#postPut(org.apache.hadoop.hbase.coprocessor.ObserverContext,org.apache.hadoop.hbase.client.Put,org.apache.hadoop.hbase.wal.WALEdit)[`postPut`].


==== Use Cases for Observer Coprocessors
Expand Down Expand Up @@ -178,7 +178,7 @@ average or summation for an entire table which spans hundreds of regions.

In contrast to observer coprocessors, where your code is run transparently, endpoint
coprocessors must be explicitly invoked using the
link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/AsyncTable.html#coprocessorService-java.util.function.Function-org.apache.hadoop.hbase.client.ServiceCaller-byte:A-[CoprocessorService()]
link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/AsyncTable.html#coprocessorService(java.util.function.Function,org.apache.hadoop.hbase.client.ServiceCaller,byte%5B%5D)[CoprocessorService()]
method available in
link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/AsyncTable.html[AsyncTable].

Expand All @@ -197,7 +197,7 @@ our async implementation).

Since coprocessor is an advanced feature, we believe it is OK for coprocessor users to
instead switch over to use `AsyncTable`. There is a lightweight
link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Connection.html#toAsyncConnection--[toAsyncConnection]
link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Connection.html#toAsyncConnection()[toAsyncConnection]
method to get an `AsyncConnection` from `Connection` if needed.
====

Expand Down
32 changes: 16 additions & 16 deletions src/main/asciidoc/_chapters/datamodel.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -287,21 +287,21 @@ Cell content is uninterpreted bytes
== Data Model Operations

The four primary data model operations are Get, Put, Scan, and Delete.
Operations are applied via link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html[Table] instances.
Operations are applied via link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Table.html[Table] instances.

=== Get

link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Get.html[Get] returns attributes for a specified row.
Gets are executed via link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#get-org.apache.hadoop.hbase.client.Get-[Table.get]
link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Get.html[Get] returns attributes for a specified row.
Gets are executed via link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Table.html#get(org.apache.hadoop.hbase.client.Get)[Table.get]

=== Put

link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Put.html[Put] either adds new rows to a table (if the key is new) or can update existing rows (if the key already exists). Puts are executed via link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#put-org.apache.hadoop.hbase.client.Put-[Table.put] (non-writeBuffer) or link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#batch-java.util.List-java.lang.Object:A-[Table.batch] (non-writeBuffer)
link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Put.html[Put] either adds new rows to a table (if the key is new) or can update existing rows (if the key already exists). Puts are executed via link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Table.html#put(org.apache.hadoop.hbase.client.Put)[Table.put] (non-writeBuffer) or link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Table.html#batch(java.util.List,java.lang.Object%5B%5D)[Table.batch] (non-writeBuffer)

[[scan]]
=== Scans

link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Scan.html[Scan] allow iteration over multiple rows for specified attributes.
link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Scan.html[Scan] allow iteration over multiple rows for specified attributes.

The following is an example of a Scan on a Table instance.
Assume that a table is populated with rows with keys "row1", "row2", "row3", and then another set of rows with the keys "abc1", "abc2", and "abc3". The following example shows how to set a Scan instance to return the rows beginning with "row".
Expand All @@ -328,12 +328,12 @@ try {
}
----

Note that generally the easiest way to specify a specific stop point for a scan is by using the link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html[InclusiveStopFilter] class.
Note that generally the easiest way to specify a specific stop point for a scan is by using the link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/filter/InclusiveStopFilter.html[InclusiveStopFilter] class.

=== Delete

link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Delete.html[Delete] removes a row from a table.
Deletes are executed via link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#delete-org.apache.hadoop.hbase.client.Delete-[Table.delete].
link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Delete.html[Delete] removes a row from a table.
Deletes are executed via link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Table.html#delete(org.apache.hadoop.hbase.client.Delete)[Table.delete].

HBase does not modify data in place, and so deletes are handled by creating new markers called _tombstones_.
These tombstones, along with the dead values, are cleaned up on major compactions.
Expand All @@ -358,7 +358,7 @@ In particular:
* It is OK to write cells in a non-increasing version order.

Below we describe how the version dimension in HBase currently works.
See link:https://issues.apache.org/jira/browse/HBASE-2406[HBASE-2406] for discussion of HBase versions. link:https://www.ngdata.com/bending-time-in-hbase/[Bending time in HBase] makes for a good read on the version, or time, dimension in HBase.
See link:https://issues.apache.org/jira/browse/HBASE-2406[HBASE-2406] for discussion of HBase versions. link:https://web.archive.org/web/20160909085951/https://www.ngdata.com/bending-time-in-hbase/[Bending time in HBase] makes for a good read on the version, or time, dimension in HBase.
It has more detail on versioning than is provided here.

As of this writing, the limitation _Overwriting values at existing timestamps_ mentioned in the article no longer holds in HBase.
Expand All @@ -373,7 +373,7 @@ Prior to HBase 0.96, the default number of versions kept was `3`, but in 0.96 an
.Modify the Maximum Number of Versions for a Column Family
====
This example uses HBase Shell to keep a maximum of 5 versions of all columns in column family `f1`.
You could also use link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/HColumnDescriptor.html[HColumnDescriptor].
You could also use link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.html[ColumnFamilyDescriptorBuilder].

----
hbase> alter ‘t1′, NAME => ‘f1′, VERSIONS => 5
Expand All @@ -385,7 +385,7 @@ hbase> alter ‘t1′, NAME => ‘f1′, VERSIONS => 5
You can also specify the minimum number of versions to store per column family.
By default, this is set to 0, which means the feature is disabled.
The following example sets the minimum number of versions on all columns in column family `f1` to `2`, via HBase Shell.
You could also use link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/HColumnDescriptor.html[HColumnDescriptor].
You could also use link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/ColumnFamilyDescriptorBuilder.html[ColumnFamilyDescriptorBuilder].

----
hbase> alter ‘t1′, NAME => ‘f1′, MIN_VERSIONS => 2
Expand All @@ -403,12 +403,12 @@ In this section we look at the behavior of the version dimension for each of the
==== Get/Scan

Gets are implemented on top of Scans.
The below discussion of link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Get.html[Get] applies equally to link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Scan.html[Scans].
The below discussion of link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Get.html[Get] applies equally to link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Scan.html[Scans].

By default, i.e. if you specify no explicit version, when doing a `get`, the cell whose version has the largest value is returned (which may or may not be the latest one written, see later). The default behavior can be modified in the following ways:

* to return more than one version, see link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Get.html#setMaxVersions--[Get.setMaxVersions()]
* to return versions other than the latest, see link:https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Get.html#setTimeRange-long-long-[Get.setTimeRange()]
* to return more than one version, see link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Get.html#readVersions(int)[Get.readVersions(int)]
* to return versions other than the latest, see link:https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/client/Get.html#setTimeRange(long,long)[Get.setTimeRange(long,long)]
+
To retrieve the latest version that is less than or equal to a given value, thus giving the 'latest' state of the record at a certain point in time, just use a range from 0 to the desired version and set the max versions to 1.

Expand Down Expand Up @@ -529,7 +529,7 @@ Rather, a so-called _tombstone_ is written, which will mask the deleted values.
When HBase does a major compaction, the tombstones are processed to actually remove the dead values, together with the tombstones themselves.
If the version you specified when deleting a row is larger than the version of any value in the row, then you can consider the complete row to be deleted.

For an informative discussion on how deletes and versioning interact, see the thread link:http://comments.gmane.org/gmane.comp.java.hadoop.hbase.user/28421[Put w/timestamp -> Deleteall -> Put w/ timestamp fails] up on the user mailing list.
For an informative discussion on how deletes and versioning interact, see the thread link:https://lists.apache.org/thread/g6s0fkx74hbmc0pplnf5r3gq5xn4vkyt[Put w/timestamp -> Deleteall -> Put w/ timestamp fails] up on the user mailing list.

Also see <<keyvalue,keyvalue>> for more information on the internal KeyValue format.

Expand Down Expand Up @@ -597,7 +597,7 @@ _...create three cell versions at t1, t2 and t3, with a maximum-versions
setting of 2. So when getting all versions, only the values at t2 and t3 will be
returned. But if you delete the version at t2 or t3, the one at t1 will appear again.
Obviously, once a major compaction has run, such behavior will not be the case
anymore..._ (See _Garbage Collection_ in link:https://www.ngdata.com/bending-time-in-hbase/[Bending time in HBase].)
anymore..._ (See _Garbage Collection_ in link:https://web.archive.org/web/20160909085951/https://www.ngdata.com/bending-time-in-hbase/[Bending time in HBase].)

[[dm.sort]]
== Sort Order
Expand Down
4 changes: 2 additions & 2 deletions src/main/asciidoc/_chapters/developer.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -837,7 +837,7 @@ looking good, now is the time to tag the release candidate (You
always remove the tag if you need to redo). To tag, do
what follows substituting in the version appropriate to your build.
All tags should be signed tags; i.e. pass the _-s_ option (See
link:http://https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work[Signing Your Work]
link:https://git-scm.com/book/id/v2/Git-Tools-Signing-Your-Work[Signing Your Work]
for how to set up your git environment for signing).

[source,bourne]
Expand Down Expand Up @@ -1208,7 +1208,7 @@ For example, the tests that cover the shell commands for altering tables are con
mvn clean test -pl hbase-shell -Dshell.test=/AdminAlterTableTest/
----

You may also use a link:http://docs.ruby-doc.com/docs/ProgrammingRuby/html/language.html#UJ[Ruby Regular Expression
You may also use a link:https://docs.ruby-lang.org/en/master/syntax/literals_rdoc.html#label-Regexp+Literals[Ruby Regular Expression
literal] (in the `/pattern/` style) to select a set of test cases.
You can run all of the HBase admin related tests, including both the normal administration and the security administration, with the command:

Expand Down
Loading