HBASE-18302 Protobuf section in the docs needs some clean up (Artem Ervits)

This commit is contained in:
Michael Stack 2017-06-30 10:17:15 -07:00 committed by Chia-Ping Tsai
parent b646d7249b
commit dff298519a
2 changed files with 10 additions and 10 deletions

View File

@ -99,7 +99,7 @@ Tested::
Not Tested:: Not Tested::
In the context of Apache HBase, /not tested/ means that a feature or use pattern In the context of Apache HBase, /not tested/ means that a feature or use pattern
may or may notwork in a given way, and may or may not corrupt your data or cause may or may not work in a given way, and may or may not corrupt your data or cause
operational issues. It is an unknown, and there are no guarantees. If you can provide operational issues. It is an unknown, and there are no guarantees. If you can provide
proof that a feature designated as /not tested/ does work in a given way, please proof that a feature designated as /not tested/ does work in a given way, please
submit the tests and/or the metrics so that other users can gain certainty about submit the tests and/or the metrics so that other users can gain certainty about

View File

@ -31,7 +31,7 @@
== Protobuf == Protobuf
HBase uses Google's link:http://protobuf.protobufs[protobufs] wherever HBase uses Google's link:http://protobuf.protobufs[protobufs] wherever
it persists metadata -- in the tail of hfiles or Cells written by it persists metadata -- in the tail of hfiles or Cells written by
HBase into the system hbase;meta table or when HBase writes znodes HBase into the system hbase:meta table or when HBase writes znodes
to zookeeper, etc. -- and when it passes objects over the wire making to zookeeper, etc. -- and when it passes objects over the wire making
xref:hbase.rpc[RPCs]. HBase uses protobufs to describe the RPC xref:hbase.rpc[RPCs]. HBase uses protobufs to describe the RPC
Interfaces (Services) we expose to clients, for example the `Admin` and `Client` Interfaces (Services) we expose to clients, for example the `Admin` and `Client`
@ -48,15 +48,15 @@ You then feed these descriptors to a protobuf tool, the `protoc` binary,
to generate classes that can marshall and unmarshall the described serializations to generate classes that can marshall and unmarshall the described serializations
and field the specified Services. and field the specified Services.
See the `README.txt` in the HBase sub-modules for detail on how See the `README.txt` in the HBase sub-modules for details on how
to run the class generation on a per-module basis; to run the class generation on a per-module basis;
e.g. see `hbase-protocol/README.txt` for how to generated protobuf classes e.g. see `hbase-protocol/README.txt` for how to generate protobuf classes
in the hbase-protocol module. in the hbase-protocol module.
In HBase, `.proto` files are either in the `hbase-protocol` module, a module In HBase, `.proto` files are either in the `hbase-protocol` module; a module
dedicated to hosting the common proto files and the protoc generated classes dedicated to hosting the common proto files and the protoc generated classes
that HBase uses internally serializing metadata or, for extensions to hbase that HBase uses internally serializing metadata. For extensions to hbase
such as REST or Coprocessor Endpoints that need their own descriptors, their such as REST or Coprocessor Endpoints that need their own descriptors; their
protos are located inside the function's hosting module: e.g. `hbase-rest` protos are located inside the function's hosting module: e.g. `hbase-rest`
is home to the REST proto files and the `hbase-rsgroup` table grouping is home to the REST proto files and the `hbase-rsgroup` table grouping
Coprocessor Endpoint has all protos that have to do with table grouping. Coprocessor Endpoint has all protos that have to do with table grouping.
@ -71,7 +71,7 @@ of core HBase protos found back in the hbase-protocol module. They'll
use these core protos when they want to serialize a Cell or a Put or use these core protos when they want to serialize a Cell or a Put or
refer to a particular node via ServerName, etc., as part of providing the refer to a particular node via ServerName, etc., as part of providing the
CPEP Service. Going forward, after the release of hbase-2.0.0, this 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 practice needs to whither. We'll explain why in the later
xref:shaded.protobuf[hbase-2.0.0] section. xref:shaded.protobuf[hbase-2.0.0] section.
[[shaded.protobuf]] [[shaded.protobuf]]
@ -87,8 +87,8 @@ so hbase core can evolve its protobuf version independent of whatever our
dependencies rely on. For instance, HDFS serializes using protobuf. dependencies rely on. For instance, HDFS serializes using protobuf.
HDFS is on our CLASSPATH. Without the above described indirection, our HDFS is on our CLASSPATH. Without the above described indirection, our
protobuf versions would have to align. HBase would be stuck protobuf versions would have to align. HBase would be stuck
on the HDFS protobuf version until HDFS decided upgrade. HBase on the HDFS protobuf version until HDFS decided to upgrade. HBase
and HDFS verions would be tied. and HDFS versions would be tied.
We had to move on from protobuf-2.5.0 because we need facilities We had to move on from protobuf-2.5.0 because we need facilities
added in protobuf-3.1.0; in particular being able to save on added in protobuf-3.1.0; in particular being able to save on