HBASE-16742 Add chapter for devs on how we do protobufs going forward; ADDENDUM 
-- put all notes on CPEPs together in the CPEP section


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/b30b6dff
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/b30b6dff
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/b30b6dff

Branch: refs/heads/hbase-12439
Commit: b30b6dffe177fb06f33401efd2c22007026a044e
Parents: b952e64
Author: stack <st...@apache.org>
Authored: Tue Oct 4 08:44:46 2016 -0700
Committer: stack <st...@apache.org>
Committed: Tue Oct 4 08:44:46 2016 -0700

----------------------------------------------------------------------
 src/main/asciidoc/_chapters/cp.adoc       | 16 +++++++++++++++-
 src/main/asciidoc/_chapters/protobuf.adoc | 17 -----------------
 2 files changed, 15 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/b30b6dff/src/main/asciidoc/_chapters/cp.adoc
----------------------------------------------------------------------
diff --git a/src/main/asciidoc/_chapters/cp.adoc 
b/src/main/asciidoc/_chapters/cp.adoc
index a9620d3..1817dd3 100644
--- a/src/main/asciidoc/_chapters/cp.adoc
+++ b/src/main/asciidoc/_chapters/cp.adoc
@@ -184,13 +184,15 @@ WalObserver::
 <<cp_example,Examples>> provides working examples of observer coprocessors.
 
 
+
+[[cpeps]]
 === Endpoint Coprocessor
 
 Endpoint processors allow you to perform computation at the location of the 
data.
 See <<cp_analogies, Coprocessor Analogy>>. An example is the need to calculate 
a running
 average or summation for an entire table which spans hundreds of regions.
 
-In contract to observer coprocessors, where your code is run transparently, 
endpoint
+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/Table.html#coprocessorService%28java.lang.Class,%20byte%5B%5D,%20byte%5B%5D,%20org.apache.hadoop.hbase.client.coprocessor.Batch.Call%29[CoprocessorService()]
 method available in
@@ -208,6 +210,18 @@ 
link:https://issues.apache.org/jira/browse/HBASE-5448[HBASE-5448]). To upgrade y
 HBase cluster from 0.94 or earlier to 0.96 or later, you need to reimplement 
your
 coprocessor.
 
+Coprocessor Endpoints should make no use of HBase internals and
+only avail of public APIs; ideally a CPEP should depend on Interfaces
+and data structures only. This is not always possible but beware
+that doing so makes the Endpoint brittle, liable to breakage as HBase
+internals evolve. HBase internal APIs annotated as private or evolving
+do not have to respect semantic versioning rules or general java rules on
+deprecation before removal. While generated protobuf files are
+absent the hbase audience annotations -- they are created by the
+protobuf protoc tool which knows nothing of how HBase works --
+they should be consided `@InterfaceAudience.Private` so are liable to
+change.
+
 <<cp_example,Examples>> provides working examples of endpoint coprocessors.
 
 [[cp_loading]]

http://git-wip-us.apache.org/repos/asf/hbase/blob/b30b6dff/src/main/asciidoc/_chapters/protobuf.adoc
----------------------------------------------------------------------
diff --git a/src/main/asciidoc/_chapters/protobuf.adoc 
b/src/main/asciidoc/_chapters/protobuf.adoc
index 4181878..fa63127 100644
--- a/src/main/asciidoc/_chapters/protobuf.adoc
+++ b/src/main/asciidoc/_chapters/protobuf.adoc
@@ -73,23 +73,6 @@ CPEP Service. Going forward, after the release of 
hbase-2.0.0, this
 practice needs to whither. We'll make plain why in the later
 xref:shaded.protobuf[hbase-2.0.0] section.
 
-[[cpeps]]
-=== Coprocessor Endpoints (CPEPs)
-xref:cp:[Coprocessor Endpoints] are custom API a developer can
-add to HBase. Protobufs are used to describe the methods and arguments
-that comprise the new Service.
-Coprocessor Endpoints should make no use of HBase internals and
-only avail of public APIs; ideally a CPEP should depend on Interfaces
-and data structures only. This is not always possible but beware
-that doing so makes the Endpoint brittle, liable to breakage as HBase
-internals evolve. HBase internal APIs annotated as private or evolving
-do not have to respect semantic versioning rules or general java rules on
-deprecation before removal. While generated protobuf files are
-absent the hbase audience annotations -- they are created by the
-protobuf protoc tool which knows nothing of how HBase works --
-they should be consided `@InterfaceAudience.Private` so are liable to
-change.
-
 [[shaded.protobuf]]
 === hbase-2.0.0 and the shading of protobufs (HBASE-15638)
 

Reply via email to