This is an automated email from the ASF dual-hosted git repository.

junchao pushed a commit to branch recovery_ckpt
in repository https://gitbox.apache.org/repos/asf/incubator-resilientdb.git

commit 263b6eea96b05fdfb4292e9173c42552d679d8d3
Merge: d49dca88 cfb177f0
Author: Ubuntu <[email protected]>
AuthorDate: Tue Dec 23 00:00:26 2025 +0000

    Merge branch 'master' into recovery

 platform/config/resdb_config_utils.cpp | 1 -
 1 file changed, 1 deletion(-)

diff --cc platform/config/resdb_config_utils.cpp
index 535838b4,daf83a76..f3574daf
--- a/platform/config/resdb_config_utils.cpp
+++ b/platform/config/resdb_config_utils.cpp
@@@ -123,30 -123,24 +123,29 @@@ ResConfigData ReadConfigFromFile(const 
  }
  
  std::vector<ReplicaInfo> ReadConfig(const std::string& file_name) {
 +
- 
    std::vector<ReplicaInfo> replicas;
 -  std::string line;
 +  std::stringstream json_data;
    std::ifstream infile(file_name.c_str());
 -  int id;
 -  std::string ip;
 -  int port;
 -  while (infile >> id >> ip >> port) {
 -    if (id == 0) {
 -      continue;
 -    }
 -    if (ip.size() == 0) {
 -      continue;
 -    }
 -    replicas.push_back(GenerateReplicaInfo(id, ip, port));
 +  if (!infile.is_open()) {
 +    std::cerr << "Failed to open file." << file_name << " " << strerror(errno)
 +      << std::endl;
 +    return replicas;
 +  }
 +
 +  json_data << infile.rdbuf();
 +  std::string cleanJson = RemoveJsonComments(json_data.str());
 +  
 +  RegionInfo region_info;
 +  JsonParseOptions options;
 +  auto status = JsonStringToMessage(cleanJson, &region_info, options);
 +  if (!status.ok()) {
 +    LOG(ERROR) << "parse json :" << file_name << " fail:" << status.message();
    }
 -  if (replicas.size() == 0) {
 -    LOG(ERROR) << "read config:" << file_name << " fail.";
 -    assert(replicas.size() > 0);
 +  assert(status.ok());
 +  for(const auto& replica_info : region_info.replica_info()) {
 +    LOG(ERROR) << "parse json id:" << replica_info.id() << " ip:" << 
replica_info.ip() <<" port:"<<replica_info.port();
 +    replicas.push_back(GenerateReplicaInfo(replica_info.id(), 
replica_info.ip(), replica_info.port()));
    }
    return replicas;
  }

Reply via email to