hbase/hbase-protocol
Bharath Vissapragada 3e1450d8b3
HBASE-24765: Dynamic master discovery (#2314)
This patch adds the ability to discover newly added masters
dynamically on the master registry side. The trigger for the
re-fetch is either periodic (5 mins) or any registry RPC failure.
Master server information is cached in masters to avoid repeated
ZK lookups.

Updates the client side connection metrics to maintain a counter
per RPC type so that clients have visibility into counts grouped
by RPC method name.

I didn't add the method to ZK registry interface since there
is a design discussion going on in splittable meta doc. We can
add it later if needed.

Signed-off-by: Nick Dimiduk <ndimiduk@apache.org>
Signed-off-by: Viraj Jasani <vjasani@apache.org>
Signed-off-by: Duo Zhang <zhangduo@apache.org>
Signed-off-by: Andrew Purtell <apurtell@apache.org>
(cherry picked from commit 275a38e153)
(cherry picked from commit bb9121da77)
2020-09-19 15:01:06 -07:00
..
src/main HBASE-24765: Dynamic master discovery (#2314) 2020-09-19 15:01:06 -07:00
README.txt HBASE-13325 Protocol Buffers 2.5 no longer available for download on code.google.com 2015-05-01 13:31:40 -07:00
pom.xml HBASE-24260 Add a ClusterManager that issues commands via coprocessor (#1853) 2020-06-04 22:08:16 -07:00

README.txt

These are the protobuf definition files used by hbase. The produced java
classes are generated into src/main/java/org/apache/hadoop/hbase/protobuf/generated
and then checked in.  The reasoning is that they change infrequently.

To regenerate the classes after making definition file changes, ensure first that
the protobuf protoc tool is in your $PATH (You may need to download it and build
it first; its part of the protobuf package obtainable from here: 
https://github.com/google/protobuf/releases/tag/v2.5.0).

HBase uses hadoop-maven-plugins:protoc goal to invoke the protoc command. You can 
compile the protoc definitions by invoking maven with profile compile-protobuf or 
passing in compile-protobuf property. 

mvn compile -Dcompile-protobuf
or
mvn compile -Pcompile-protobuf

You may also want to define protoc.path for the protoc binary

mvn compile -Dcompile-protobuf -Dprotoc.path=/opt/local/bin/protoc

If you have added a new proto file, you should add it to the pom.xml file first.
Other modules also support the maven profile.

After you've done the above, check it in and then check it in (or post a patch
on a JIRA with your definition file changes and the generated files).