sofastack / sofa-jraft

A production-grade java implementation of RAFT consensus algorithm.
https://www.sofastack.tech/projects/sofa-jraft/
Apache License 2.0
3.52k stars 1.12k forks source link

独立部署pd,怎么操作添加新分区。目前通过pd获取RegionRouteTable然后调用addOrUpdateRegion。发现无法变更成功 #1079

Closed zxuanhong closed 4 months ago

zxuanhong commented 4 months ago

Your question

  1. 独立部署pd方式怎么操作添加分区副本。目前通过pd获取RegionRouteTable然后调用addOrUpdateRegion。发现无法变更成功(所有节点分区文件夹也没有添加新的分区副本目录)。具体代码如下

    Region region = new Region();
    region.setRegionEpoch(new RegionEpoch(-1, -1));
    region.setId(3);
    
    Peer peer1 = new Peer();
    peer1.setStoreId(-1);
    peer1.setId(-1);
    peer1.setEndpoint(new Endpoint("127.0.0.1", 8181));
    
    Peer peer2 = new Peer();
    peer2.setStoreId(-1);
    peer2.setId(-1);
    peer2.setEndpoint(new Endpoint("127.0.0.1", 8182));
    
    Peer peer3 = new Peer();
    peer3.setStoreId(-1);
    peer3.setId(-1);
    peer3.setEndpoint(new Endpoint("127.0.0.1", 8183));
    
    List<Peer> peers = new ArrayList<>(3);
    peers.add(peer1);
    peers.add(peer2);
    peers.add(peer3);
    
    region.setPeers(peers);
    
    RemotePlacementDriverClient placementDriverClient = (RemotePlacementDriverClient) node.getRheaKVStore().getPlacementDriverClient();
    
    RegionRouteTable regionRouteTable = placementDriverClient.getRegionRouteTable();
    
    regionRouteTable.addOrUpdateRegion(region);
  2. 如果集群启动

Environment

fengjiachun commented 4 months ago

看起来和其他这个 issue 是重复的 https://github.com/sofastack/sofa-jraft/issues/1081 ,就先关闭了