hbase-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From git-site-r...@apache.org
Subject [26/30] hbase-site git commit: Published site at .
Date Sat, 19 Aug 2017 20:02:58 GMT
diff --git a/book.html b/book.html
index d004c26..570c87b 100644
--- a/book.html
+++ b/book.html
@@ -30363,7 +30363,69 @@ However any substantive discussion (as with any off-list project-related
 <div class="sect2">
-<h3 id="hbase.archetypes.development"><a class="anchor" href="#hbase.archetypes.development"></a>152.9.
Development of HBase-related Maven archetypes</h3>
+<h3 id="thirdparty"><a class="anchor" href="#thirdparty"></a>152.9. The
hbase-thirdparty dependency and shading/relocation</h3>
+<div class="paragraph">
+<p>A new project was created for the release of hbase-2.0.0. It was called
+<code>hbase-thirdparty</code>. This project exists only to provide the main hbase
+project with relocated&#8201;&#8212;&#8201;or shaded&#8201;&#8212;&#8201;versions
of popular thirdparty
+libraries such as guava, netty, and protobuf. The mainline HBase project
+relies on the relocated versions of these libraries gotten from hbase-thirdparty
+rather than on finding these classes in their usual locations. We do this so
+we can specify whatever the version we wish. If we don&#8217;t relocate, we must
+harmonize our version to match that which hadoop and/or spark uses.</p>
+<div class="paragraph">
+<p>For developers, this means you need to be careful referring to classes from
+netty, guava, protobuf, gson, etc. (see the hbase-thirdparty pom.xml for what
+it provides). Devs must refer to the hbase-thirdparty provided classes. In
+practice, this is usually not an issue (though it can be a bit of a pain). You
+will have to hunt for the relocated version of your particular class. You&#8217;ll
+find it by prepending the general relocation prefix of <code>org.apache.hadoop.hbase.shaded.</code>.
+For example if you are looking for <code>com.google.protobuf.Message</code>,
the relocated
+version used by HBase internals can be found at
+<div class="paragraph">
+<p>For a few thirdparty libs, like protobuf (see the protobuf chapter in this book
+for the why), your IDE may give you both options&#8201;&#8212;&#8201;the <code>com.google.protobuf.<strong></code>
+and the <code>org.apache.hadoop.hbase.shaded.com.google.protobuf.</strong></code>&#8201;&#8212;&#8201;because
+classes are on your CLASSPATH. Unless you are doing the particular juggling
+required in Coprocessor Endpoint development (again see above cited protobuf
+chapter), you&#8217;ll want to use the shaded version, always.</p>
+<div class="paragraph">
+<p>Of note, the relocation of netty is particular. The netty folks have put in
+place facility to aid relocation; it seems like shading netty is a popular project.
+One case of this requires the setting of a peculiar system property on the JVM
+so that classes out in the bundld shared library (.so) can be found in their
+relocated location. Here is the property that needs to be set:</p>
+<div class="paragraph">
+<div class="paragraph">
+<p>(Note that the trailing '.' is required). Starting hbase normally or when running
+test suites, the setting of this property is done for you. If you are doing something
+out of the ordinary, starting hbase from your own context, you&#8217;ll need to provide
+this property on platforms that favor the bundled .so. See release notes on HBASE-18271
+for more. The complaint you see is something like the following:
+<code>Cause: java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMasterorg.apache.hadoop.hbase.shaded.io.netty.channel.epoll.</code></p>
+<div class="paragraph">
+<p>The <code>hbase-thirdparty</code> project has groupid of <code>org.apache.hbase.thirdparty</code>.
+As of this writing, it provides three jars; one for netty with an artifactid of
+<code>hbase-thirdparty-netty</code>, one for protobuf at <code>hbase-thirdparty-protobuf</code>
and then
+a jar for all else&#8201;&#8212;&#8201;gson, guava&#8201;&#8212;&#8201;at
+<div class="paragraph">
+<p>The hbase-thirdparty artifacts are a product produced by the Apache HBase
+project under the aegis of the HBase Project Management Committee. Releases
+are done via the usual voting project on the hbase dev mailing list. If issue
+in the hbase-thirdparty, use the hbase JIRA and mailing lists to post notice.</p>
+<div class="sect2">
+<h3 id="hbase.archetypes.development"><a class="anchor" href="#hbase.archetypes.development"></a>152.10.
Development of HBase-related Maven archetypes</h3>
 <div class="paragraph">
 <p>The development of HBase-related Maven archetypes was begun with
 <a href="https://issues.apache.org/jira/browse/HBASE-14876">HBASE-14876</a>.
@@ -35007,7 +35069,7 @@ The server will return cellblocks compressed using this same compressor
as long
 <div id="footer">
 <div id="footer-text">
 Version 3.0.0-SNAPSHOT<br>
-Last updated 2017-08-18 14:29:46 UTC
+Last updated 2017-08-19 19:25:51 UTC

diff --git a/bulk-loads.html b/bulk-loads.html
index f02a0f4..2330869 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -7,7 +7,7 @@
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-    <meta name="Date-Revision-yyyymmdd" content="20170818" />
+    <meta name="Date-Revision-yyyymmdd" content="20170819" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -311,7 +311,7 @@ under the License. -->
                         <a href="https://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
-                  <li id="publishDate" class="pull-right">Last Published: 2017-08-18</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-08-19</li>

View raw message