Thanks for replying.
What is the proto that is now stored under /hbase/region-in-transition as
explained in the 2.1 documentation
<https://hbase.apache.org/2.1/book.html#regionserver_splitting_implementation>?
I do not observe any change in that section as compared to 1.2
documentation.
We have some automation script like below in 1.2 that identifies the
transition status of a region using the ZooKeeperProtos.RegionTransition
from /hbase/region-in-transition
// RS_ZK_REGION_SPLITTING, RS_ZK_REGION_SPLIT, RS_ZK_REQUEST_REGION_SPLIT
final Set<String> eventTypesToCheck = new HashSet()
String REGION_IN_TRANSITION_PATH = "/hbase/region-in-transition";
conn = new ZooKeeperConnection();
zk = conn.connect(zkConnectStr);
final Stat stat = zk.exists(REGION_IN_TRANSITION_PATH, false);
if (stat == null) {
return;
}
final List<String> regions = zk.getChildren(REGION_IN_TRANSITION_PATH,
false);
if (NullOrEmpty.isTrue(regions)) {
return;
}
final Stat stat = zk.exists(REGION_IN_TRANSITION_PATH, false);
if (stat == null) {
return
}
final List<String> regions = zk.getChildren(REGION_IN_TRANSITION_PATH,
false);
if (NullOrEmpty.isTrue(regions)) {
return;
}
for (final String region : regions) {
final String childPath = REGION_IN_TRANSITION_PATH + "/" + region;
Stat childStat = zk.exists(childPath, false);
if (childStat == null) {
continue;
}
// Get data from child node
final byte[] regionData = zk.getData(childPath, false, childStat);
if (regionData == null || regionData.length == 0) {
continue;
}
final int protoStart = Bytes.indexOf(regionData, ProtobufUtil.PB_MAGIC);
if (protoStart < 0) {
continue;
}
final byte[] protoBytes = Arrays.copyOfRange(regionData, protoStart +
ProtobufUtil.PB_MAGIC.length, regionData.length);
final ZooKeeperProtos.RegionTransition regionTransition =
ZooKeeperProtos.RegionTransition.parseFrom(protoBytes);
logger.info("Region in transition data for region:" + region + ":\n" +
regionTransition.toString());
if (eventTypesToCheck.contains(String.valueOf(
regionTransition.getEventTypeCode()))) {
logger.warn("Found region in transition having event type: " +
regionTransition.getEventTypeCode());
}
}
On Thu, Apr 16, 2020 at 12:42 PM 张铎(Duo Zhang) <[email protected]>
wrote:
> It was deleted by this commit
>
>
> https://github.com/apache/hbase/commit/17dff6818e80305ea55da0519cbcf44de644992e#diff-7ccbd2d3c7ec87835d40c8a18b90e0e9
>
>
> The related issue is: https://issues.apache.org/jira/browse/HBASE-11611
>
> As we do not use zk based assignment any more on hbase 2.x, I'm afraid
> there is no straight alternative.
>
> What is your usage on this proto?
>
> Thanks.
>
> Debraj Manna <[email protected]> 于2020年4月16日周四 下午12:19写道:
>
> > I am trying to upgrade Hbase 1.2 to 2.1.
> >
> > Can someone let me know is there any place where I can find the proto
> > changes?
> >
> > For example in 1.2 there was a ZooKeeperProtos.RegionTransition but in
> 2.1
> > this class is missing. Can someone let me know if it is moved to a
> > different dependency or what is its alternative?
> >
>