MCPcopy Create free account
hub / github.com/e2wugui/zeze / endSplit1

Method endSplit1

ZezeJava/ZezeJava/src/main/java/Zeze/Dbh2/Dbh2.java:717–741  ·  view source on GitHub ↗
(Protocol<?> p, boolean isMove)

Source from the content-addressed store, hash-verified

715 }
716
717 private long endSplit1(Protocol<?> p, boolean isMove) {
718 var r = (SetBucketMeta)p;
719 if (r.getResultCode() != 0) {
720 try {
721 startSplit(isMove);
722 } catch (Exception e) {
723 logger.error("isMove={}", isMove, e);
724 }
725 return 0;
726 }
727
728 var bucket = stateMachine.getBucket();
729 if (isMove) {
730 getRaft().appendLog(new LogEndMove(bucket.getSplittingMeta()),
731 (raftLog, result) -> endSplit2(raftLog, result, true));
732 } else {
733 // 【原子化】设置源桶状态(修改源桶Meta;保存新桶Meta到历史中;删除分桶Meta)。
734 var from = bucket.getBucketMeta().copy();
735 var to = bucket.getSplittingMeta();
736 from.setKeyLast(to.getKeyFirst());
737 getRaft().appendLog(new LogEndSplit(from, to),
738 (raftLog, result) -> endSplit2(raftLog, result, false));
739 }
740 return 0;
741 }
742
743 private void endSplit2(RaftLog raftLog, Boolean result, boolean isMove) {
744 if (!result) {

Callers 1

endSplit0Method · 0.95

Calls 11

startSplitMethod · 0.95
getRaftMethod · 0.95
endSplit2Method · 0.95
getBucketMethod · 0.80
getSplittingMetaMethod · 0.80
getBucketMetaMethod · 0.80
appendLogMethod · 0.65
copyMethod · 0.65
getKeyFirstMethod · 0.65
getResultCodeMethod · 0.45
setKeyLastMethod · 0.45

Tested by

no test coverage detected