hbase/hbase-protocol
Sameet Agarwal 2fd6f2a829 HBASE-13316 Reduce the downtime on planned moves of regions
Summary:
The current behavior of a region move shuts down a region and then starts is up in another regionserver. This causes increased latency and possibly timeouts till the new region's cache is fully warmed up. We can make a region move less disruptive by warming the cache in the destination region server before shutting dow the old region.

See https://issues.apache.org/jira/browse/HBASE-13316

Test Plan:
1. Unit Tests
2. Added test for concurrent moves and warmups
3. Manually tested reads/writes happening with concurrent moves

Subscribers: tedyu

Differential Revision: https://reviews.facebook.net/D35967

Signed-off-by: Elliott Clark <eclark@apache.org>
2015-03-27 11:56:21 -07:00
..
src/main HBASE-13316 Reduce the downtime on planned moves of regions 2015-03-27 11:56:21 -07:00
README.txt HBASE-10020 Add maven compile-protobuf profile 2013-11-27 23:57:23 +00:00
pom.xml Update pom.xml version for 1.1.0-SNAPSHOT for branch-1 2014-12-17 23:16:41 -08: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: 
http://code.google.com/p/protobuf/downloads/list).

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).