Skip to content

feat(interactive): Implement service register and primary election #4589

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

zhanglei1949
Copy link
Collaborator

  • Introduce etcd-cpp-api-v3 and cpprestsdk as submodule dependencies.
  • Implement ServiceRegister which registers the server itself to the etcd-based service registry.
  • Implement the primary election by using etcd as a distributed lock: whoever first puts the primary key-value pair, is the master.
  • In the later PR, we should implement the promote() function, which should be called after adding the primary key-value pair succeeds.

Committed-by: xiaolei.zl from Dev container
Committed-by: xiaolei.zl from Dev container
Copy link
Contributor

github-actions bot commented Mar 28, 2025

Please check the preview of the documentation changes at
https://e9ab5ffc.graphscope-docs-preview.pages.dev

Committed-by: xiaolei.zl from Dev container
@zhanglei1949 zhanglei1949 requested review from Copilot, liulx20 and luoxiaojian and removed request for liulx20 March 28, 2025 06:53
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a new integration test for the service registry and primary election features by adding a dedicated CI job in the GitHub Actions workflow.

  • Adds a new "test-service-registry" job to validate the etcd-based service registry and primary election via a series of scripted steps.
  • Configures the environment, downloads and launches etcd, executes the interactive_server, and validates key outputs.
Files not reviewed (15)
  • .gitmodules: Language not supported
  • flex/CMakeLists.txt: Language not supported
  • flex/cmake/BuildEtcdCpp.cmake: Language not supported
  • flex/engines/http_server/CMakeLists.txt: Language not supported
  • flex/engines/http_server/actor/admin_actor.act.cc: Language not supported
  • flex/engines/http_server/graph_db_service.cc: Language not supported
  • flex/engines/http_server/graph_db_service.h: Language not supported
  • flex/engines/http_server/service_register.cc: Language not supported
  • flex/engines/http_server/service_register.h: Language not supported
  • flex/storages/rt_mutable_graph/schema.cc: Language not supported
  • flex/storages/rt_mutable_graph/schema.h: Language not supported
  • flex/third_party/cpprestsdk: Language not supported
  • flex/third_party/etcd-cpp-apiv3: Language not supported
  • flex/utils/service_utils.cc: Language not supported
  • flex/utils/service_utils.h: Language not supported

@zhanglei1949 zhanglei1949 requested a review from liulx20 March 28, 2025 07:10
Committed-by: xiaolei.zl from Dev container
liulx20
liulx20 previously approved these changes Mar 28, 2025
@codecov-commenter
Copy link

codecov-commenter commented Mar 28, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 44.76%. Comparing base (d39709a) to head (1d350b0).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #4589   +/-   ##
=======================================
  Coverage   44.76%   44.76%           
=======================================
  Files          12       12           
  Lines         592      592           
=======================================
  Hits          265      265           
  Misses        327      327           

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d39709a...1d350b0. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Committed-by: xiaolei.zl from Dev container
Committed-by: xiaolei.zl from Dev container
Committed-by: xiaolei.zl from Dev container
@github-actions github-actions bot added the stale label May 12, 2025
Copy link
Contributor

/cc @yecol @sighingnow, this issus/pr has had no activity for a long time, please help to review the status and assign people to work on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants