This is an automated email from the ASF dual-hosted git repository. harishgokul01 pushed a commit to branch development in repository https://gitbox.apache.org/repos/asf/incubator-resilientdb.git
commit 12267085df38c7557877908b6b4183ca716f3a1e Merge: 70843091 730432bf Author: harish876 <[email protected]> AuthorDate: Mon Dec 15 00:50:48 2025 +0000 Merge branch 'release-bugs' of https://github.com/apache/incubator-resilientdb into development .gitignore | 3 +- .licenserc.yaml | 4 + .../cache/resilient-node-cache/dev/check-license | 86 -------- .../cache/resilient-python-cache/dev/check-license | 86 -------- ecosystem/deployment/ansible/dev/check-license | 86 -------- ecosystem/deployment/orbit/dev/check-license | 86 -------- ecosystem/graphql/README.md | 4 + .../graphql/service/tools/data/cert/admin.key.pri | 2 - .../graphql/service/tools/data/cert/admin.key.pub | 2 - .../graphql/service/tools/data/cert/cert_1.cert | Bin 166 -> 0 bytes .../graphql/service/tools/data/cert/cert_2.cert | 7 - .../graphql/service/tools/data/cert/cert_3.cert | 7 - .../graphql/service/tools/data/cert/cert_4.cert | 6 - .../graphql/service/tools/data/cert/cert_5.cert | 8 - .../graphql/service/tools/data/cert/cert_6.cert | Bin 166 -> 0 bytes .../graphql/service/tools/data/cert/cert_7.cert | 6 - .../graphql/service/tools/data/cert/cert_8.cert | Bin 166 -> 0 bytes .../graphql/service/tools/data/cert/cert_9.cert | 7 - .../graphql/service/tools/data/cert/node1.key.pri | 2 - .../graphql/service/tools/data/cert/node1.key.pub | 3 - .../graphql/service/tools/data/cert/node2.key.pri | 2 - .../graphql/service/tools/data/cert/node2.key.pub | 2 - .../graphql/service/tools/data/cert/node3.key.pri | Bin 36 -> 0 bytes .../graphql/service/tools/data/cert/node3.key.pub | 3 - .../graphql/service/tools/data/cert/node4.key.pri | Bin 36 -> 0 bytes .../graphql/service/tools/data/cert/node4.key.pub | 2 - .../graphql/service/tools/data/cert/node5.key.pri | 2 - .../graphql/service/tools/data/cert/node5.key.pub | 3 - .../service/tools/data/cert/node6.key.key.pri | 2 - .../service/tools/data/cert/node6.key.key.pub | 2 - .../graphql/service/tools/data/cert/node6.key.pri | 2 - .../graphql/service/tools/data/cert/node6.key.pub | 2 - .../service/tools/data/cert/node7.key.key.pri | 2 - .../service/tools/data/cert/node7.key.key.pub | 2 - .../graphql/service/tools/data/cert/node7.key.pri | 2 - .../graphql/service/tools/data/cert/node7.key.pub | 2 - .../service/tools/data/cert/node8.key.key.pri | 2 - .../service/tools/data/cert/node8.key.key.pub | 2 - .../graphql/service/tools/data/cert/node8.key.pri | 2 - .../graphql/service/tools/data/cert/node8.key.pub | 2 - .../service/tools/data/cert/node9.key.key.pri | 2 - .../service/tools/data/cert/node9.key.key.pub | 2 - .../graphql/service/tools/data/cert/node9.key.pri | 2 - .../graphql/service/tools/data/cert/node9.key.pub | 2 - ecosystem/sdk/resdb-orm/dev/check-license | 86 -------- ecosystem/sdk/resvault-sdk/dev/check-license | 86 -------- ecosystem/sdk/rust-sdk/dev/check-license | 86 -------- .../smart-contract/rescontract/dev/check-license | 86 -------- .../resilient-contract-kit/dev/check-license | 86 -------- .../smart-contract-graphql/dev/check-license | 86 -------- .../tools/create-resilient-app/dev/check-license | 86 -------- ecosystem/tools/resvault/dev/check-license | 86 -------- platform/config/BUILD | 2 + platform/config/resdb_config_test.cpp | 245 +++++++++++---------- platform/config/resdb_config_utils.h | 55 +++-- service/tools/config/generate_config.sh | 1 - service/tools/config/generate_keys_and_certs.sh | 154 +++++++++++++ service/tools/config/interface/service.config | 19 -- service/tools/config/server/server.config | 1 - service/tools/data/cert/admin.key.pri | 2 - service/tools/data/cert/admin.key.pub | 2 - service/tools/data/cert/cert_1.cert | Bin 166 -> 0 bytes service/tools/data/cert/cert_2.cert | 7 - service/tools/data/cert/cert_3.cert | 7 - service/tools/data/cert/cert_4.cert | 6 - service/tools/data/cert/cert_5.cert | 8 - service/tools/data/cert/cert_6.cert | Bin 166 -> 0 bytes service/tools/data/cert/cert_7.cert | 6 - service/tools/data/cert/cert_8.cert | Bin 166 -> 0 bytes service/tools/data/cert/cert_9.cert | 7 - service/tools/data/cert/node1.key.pri | 2 - service/tools/data/cert/node1.key.pub | 3 - service/tools/data/cert/node2.key.pri | 2 - service/tools/data/cert/node2.key.pub | 2 - service/tools/data/cert/node3.key.pri | Bin 36 -> 0 bytes service/tools/data/cert/node3.key.pub | 3 - service/tools/data/cert/node4.key.pri | Bin 36 -> 0 bytes service/tools/data/cert/node4.key.pub | 2 - service/tools/data/cert/node5.key.pri | 2 - service/tools/data/cert/node5.key.pub | 3 - service/tools/data/cert/node6.key.key.pri | 2 - service/tools/data/cert/node6.key.key.pub | 2 - service/tools/data/cert/node6.key.pri | 2 - service/tools/data/cert/node6.key.pub | 2 - service/tools/data/cert/node7.key.key.pri | 2 - service/tools/data/cert/node7.key.key.pub | 2 - service/tools/data/cert/node7.key.pri | 2 - service/tools/data/cert/node7.key.pub | 2 - service/tools/data/cert/node8.key.key.pri | 2 - service/tools/data/cert/node8.key.key.pub | 2 - service/tools/data/cert/node8.key.pri | 2 - service/tools/data/cert/node8.key.pub | 2 - service/tools/data/cert/node9.key.key.pri | 2 - service/tools/data/cert/node9.key.key.pub | 2 - service/tools/data/cert/node9.key.pri | 2 - service/tools/data/cert/node9.key.pub | 2 - service/tools/kv/server_tools/generate_config.sh | 2 +- ...nerate_config.sh => generate_keys_and_certs.sh} | 4 +- service/tools/kv/server_tools/start_kv_service.sh | 5 + .../kv/server_tools/start_kv_service_monitoring.sh | 4 + tools/BUILD | 2 +- 101 files changed, 328 insertions(+), 1401 deletions(-) diff --cc platform/config/BUILD index 0611ac41,0955ada7..45248e94 --- a/platform/config/BUILD +++ b/platform/config/BUILD @@@ -44,15 -31,12 +44,17 @@@ cc_library cc_test( name = "resdb_config_test", srcs = ["resdb_config_test.cpp"], + timeout = "short", deps = [ ":resdb_config", + ":resdb_config_utils", "//common/test:test_main", + ":resdb_config_utils", ], + data = [ + "//platform/config:test.config", + "//platform/config:expect_test.config", + ] ) cc_library( diff --cc platform/config/resdb_config_test.cpp index 046fae98,089f24ac..1cc6634a --- a/platform/config/resdb_config_test.cpp +++ b/platform/config/resdb_config_test.cpp @@@ -17,125 -17,126 +17,126 @@@ * under the License. */ - #include "platform/config/resdb_config.h" - - #include <google/protobuf/util/message_differencer.h> - #include <gtest/gtest.h> - #include <filesystem> - - #include <thread> - - #include "resdb_config_utils.h" - #include "common/test/test_macros.h" - #include "gmock/gmock.h" - - namespace resdb { - namespace { - - using ::google::protobuf::util::MessageDifferencer; - using ::resdb::testing::EqualsProto; - - MATCHER_P(EqualsReplicas, replicas, "") { - if (arg.size() != replicas.size()) { - return false; - } - for (size_t i = 0; i < replicas.size(); ++i) { - if (!MessageDifferencer::Equals(replicas[i], arg[i])) { - return false; - } - } - return true; - } - - ReplicaInfo GenerateReplicaInfo(const std::string& ip, int port) { - ReplicaInfo info; - info.set_ip(ip); - info.set_port(port); - return info; - } - - /* - TEST(ResDBConfigTest, ResDBConfig) { - ReplicaInfo self_info = GenerateReplicaInfo("127.0.0.1", 1234); - - std::vector<ReplicaInfo> replicas; - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1235)); - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1236)); - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1237)); - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1238)); - - ResDBConfig config(replicas, self_info); - - EXPECT_THAT(config.GetReplicaInfos(), EqualsReplicas(replicas)); - EXPECT_THAT(config.GetSelfInfo(), EqualsProto(self_info)); - EXPECT_EQ(config.GetReplicaNum(), replicas.size()); - EXPECT_EQ(config.GetMinDataReceiveNum(), 3); - } - - TEST(ResDBConfigTest, ResDBConfigWith5Replicas) { - ReplicaInfo self_info = GenerateReplicaInfo("127.0.0.1", 1234); - - std::vector<ReplicaInfo> replicas; - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1235)); - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1236)); - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1237)); - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1238)); - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1239)); - - ResDBConfig config(replicas, self_info); - - EXPECT_THAT(config.GetReplicaInfos(), EqualsReplicas(replicas)); - EXPECT_THAT(config.GetSelfInfo(), EqualsProto(self_info)); - EXPECT_EQ(config.GetReplicaNum(), replicas.size()); - EXPECT_EQ(config.GetMinDataReceiveNum(), 3); - } - - TEST(ResDBConfigTest, ResDBConfigWith6Replicas) { - ReplicaInfo self_info = GenerateReplicaInfo("127.0.0.1", 1234); - - std::vector<ReplicaInfo> replicas; - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1235)); - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1236)); - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1237)); - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1238)); - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1239)); - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1240)); - - ResDBConfig config(replicas, self_info); - - EXPECT_THAT(config.GetReplicaInfos(), EqualsReplicas(replicas)); - EXPECT_THAT(config.GetSelfInfo(), EqualsProto(self_info)); - EXPECT_EQ(config.GetReplicaNum(), replicas.size()); - EXPECT_EQ(config.GetMinDataReceiveNum(), 3); - } - - TEST(ResDBConfigTest, ResDBConfigWith2Replicas) { - ReplicaInfo self_info = GenerateReplicaInfo("127.0.0.1", 1234); - - std::vector<ReplicaInfo> replicas; - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1235)); - replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1236)); - - ResDBConfig config(replicas, self_info); - - EXPECT_THAT(config.GetReplicaInfos(), EqualsReplicas(replicas)); - EXPECT_THAT(config.GetSelfInfo(), EqualsProto(self_info)); - EXPECT_EQ(config.GetReplicaNum(), replicas.size()); - EXPECT_EQ(config.GetMinDataReceiveNum(), 1); - } - */ - - TEST(ResDBConfigTest, ResDBConfigFromFile) { - const char * file = "platform/config/test.config"; - const char * ext_file = "platform/config/expect_test.config"; - ResConfigData config_data = ReadConfigFromFile(file); - ResConfigData ext_config_data = ReadConfigFromFile(ext_file); - std::cout<<config_data.DebugString()<<std::endl; - - EXPECT_THAT(config_data, EqualsProto(ext_config_data)); - } - - - } // namespace - - } // namespace resdb + #include "platform/config/resdb_config.h" + #include "platform/config/resdb_config_utils.h" + #include <filesystem> + + #include <google/protobuf/util/message_differencer.h> + #include <gtest/gtest.h> + + + #include "common/test/test_macros.h" + #include "gmock/gmock.h" + + namespace resdb { + namespace { + + using ::google::protobuf::util::MessageDifferencer; + using ::resdb::testing::EqualsProto; + using ::resdb::ReadConfig; + using ::resdb::ReadConfigFromFile; + + MATCHER_P(EqualsReplicas, replicas, "") { + if (arg.size() != replicas.size()) { + return false; + } + for (size_t i = 0; i < replicas.size(); ++i) { + if (!MessageDifferencer::Equals(replicas[i], arg[i])) { + return false; + } + } + return true; + } + + ReplicaInfo GenerateReplicaInfo(const std::string& ip, int port) { + ReplicaInfo info; + info.set_ip(ip); + info.set_port(port); + return info; + } + + TEST(TcpSocket, ResDBConfig) { + ReplicaInfo self_info = GenerateReplicaInfo("127.0.0.1", 1234); + + std::vector<ReplicaInfo> replicas; + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1235)); + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1236)); + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1237)); + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1238)); + + ResDBConfig config(replicas, self_info); + + EXPECT_THAT(config.GetReplicaInfos(), EqualsReplicas(replicas)); + EXPECT_THAT(config.GetSelfInfo(), EqualsProto(self_info)); + EXPECT_EQ(config.GetReplicaNum(), replicas.size()); + EXPECT_EQ(config.GetMinDataReceiveNum(), 3); + } + + TEST(TcpSocket, ResDBConfigWith5Replicas) { + ReplicaInfo self_info = GenerateReplicaInfo("127.0.0.1", 1234); + + std::vector<ReplicaInfo> replicas; + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1235)); + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1236)); + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1237)); + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1238)); + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1239)); + + ResDBConfig config(replicas, self_info); + + EXPECT_THAT(config.GetReplicaInfos(), EqualsReplicas(replicas)); + EXPECT_THAT(config.GetSelfInfo(), EqualsProto(self_info)); + EXPECT_EQ(config.GetReplicaNum(), replicas.size()); + EXPECT_EQ(config.GetMinDataReceiveNum(), 3); + } + + TEST(TcpSocket, ResDBConfigWith6Replicas) { + ReplicaInfo self_info = GenerateReplicaInfo("127.0.0.1", 1234); + + std::vector<ReplicaInfo> replicas; + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1235)); + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1236)); + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1237)); + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1238)); + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1239)); + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1240)); + + ResDBConfig config(replicas, self_info); + + EXPECT_THAT(config.GetReplicaInfos(), EqualsReplicas(replicas)); + EXPECT_THAT(config.GetSelfInfo(), EqualsProto(self_info)); + EXPECT_EQ(config.GetReplicaNum(), replicas.size()); + EXPECT_EQ(config.GetMinDataReceiveNum(), 3); + } + + TEST(TcpSocket, ResDBConfigWith2Replicas) { + ReplicaInfo self_info = GenerateReplicaInfo("127.0.0.1", 1234); + + std::vector<ReplicaInfo> replicas; + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1235)); + replicas.push_back(GenerateReplicaInfo("127.0.0,1", 1236)); + + ResDBConfig config(replicas, self_info); + + EXPECT_THAT(config.GetReplicaInfos(), EqualsReplicas(replicas)); + EXPECT_THAT(config.GetSelfInfo(), EqualsProto(self_info)); + EXPECT_EQ(config.GetReplicaNum(), replicas.size()); + EXPECT_EQ(config.GetMinDataReceiveNum(), 1); + } + + TEST(TcpSocket, ReadConfigFromFile) { + std::string config_file = "/home/ubuntu/harish_work/incubator-resilientdb/service/tools/config/server/server.config"; //TODO: make dynamic + + ResConfigData config_data = ReadConfigFromFile(config_file); + ResDBConfig config = ResDBConfig(config_data, ReplicaInfo(), KeyInfo(), CertificateInfo()); + + EXPECT_EQ(config_data.region(0).replica_info_size(), 4) + << "Should have 4 replicas as per server.config"; + EXPECT_EQ(config_data.region(0).replica_info(0).id(), 1); + EXPECT_EQ(config_data.region(0).replica_info(0).ip(), "127.0.0.1"); + } + + } // namespace + + } // namespace resdb - ++ diff --cc platform/config/resdb_config_utils.h index 1251e64d,8746d06c..778db111 --- a/platform/config/resdb_config_utils.h +++ b/platform/config/resdb_config_utils.h @@@ -17,32 -17,29 +17,29 @@@ * under the License. */ - #pragma once - - #include <optional> - - #include "platform/config/resdb_config.h" - - namespace resdb { - - std::vector<ReplicaInfo> ReadConfig(const std::string& file_name); - ReplicaInfo GenerateReplicaInfo(int id, const std::string& ip, int port); - - typedef std::function<std::unique_ptr<ResDBConfig>( - const ResConfigData& config_data, const ReplicaInfo& self_info, - const KeyInfo& private_key, const CertificateInfo& public_key_cert_info)> - ConfigGenFunc; - - std::unique_ptr<ResDBConfig> GenerateResDBConfig( - const std::string& config_file, const std::string& private_key_file, - const std::string& cert_file, - std::optional<ReplicaInfo> self_info = std::nullopt, - std::optional<ConfigGenFunc> = std::nullopt); - - ResDBConfig GenerateResDBConfig(const std::string& config_file); - - - ResConfigData ReadConfigFromFile(const std::string& file_name); - - } // namespace resdb - + #pragma once + + #include <optional> + + #include "platform/config/resdb_config.h" + + namespace resdb { + + std::vector<ReplicaInfo> ReadConfig(const std::string& file_name); + ResConfigData ReadConfigFromFile(const std::string& file_name); + ReplicaInfo GenerateReplicaInfo(int id, const std::string& ip, int port); + + typedef std::function<std::unique_ptr<ResDBConfig>( + const ResConfigData& config_data, const ReplicaInfo& self_info, + const KeyInfo& private_key, const CertificateInfo& public_key_cert_info)> + ConfigGenFunc; + + std::unique_ptr<ResDBConfig> GenerateResDBConfig( + const std::string& config_file, const std::string& private_key_file, + const std::string& cert_file, + std::optional<ReplicaInfo> self_info = std::nullopt, + std::optional<ConfigGenFunc> = std::nullopt); + + ResDBConfig GenerateResDBConfig(const std::string& config_file); + } // namespace resdb - ++ diff --cc service/tools/config/interface/service.config index 3d1f8e9c,9cda04c0..e1bcc905 --- a/service/tools/config/interface/service.config +++ b/service/tools/config/interface/service.config @@@ -1,20 -1,2 +1,1 @@@ - // Licensed to the Apache Software Foundation (ASF) under one - // or more contributor license agreements. See the NOTICE file - // distributed with this work for additional information - // regarding copyright ownership. The ASF licenses this file - // to you under the Apache License, Version 2.0 (the - // "License"); you may not use this file except in compliance - // with the License. You may obtain a copy of the License at - // - // http://www.apache.org/licenses/LICENSE-2.0 - // - // Unless required by applicable law or agreed to in writing, - // software distributed under the License is distributed on an - // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - // KIND, either express or implied. See the License for the - // specific language governing permissions and limitations - // under the License. -- 5 127.0.0.1 10005 - -
