Skip to content
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

feat(interactive): Implement admin http service for hqps engine #3322

Merged
merged 30 commits into from Nov 27, 2023

Conversation

zhanglei1949
Copy link
Collaborator

@zhanglei1949 zhanglei1949 commented Nov 1, 2023

  1. Implement an HTTP service that provides admin management services for the HQPS engine. Including
  • CreateGraph
  • LoadGraph
  • DeleteGraph
  • GetGraphSchema
  • CreateProcedure
  • GetAllProcedure
  • GetProcedureByName
  • UpdateProcedure
  • RemoveProcedure
  • StartService
  • ServiceStatus
  • NodeStatus
  1. Reorganize the engines/http_server directory. Put all actors in actor directory, all handlers in handler direcotry, all services in service directory.
  2. Introduce a thirdpary dependency to nlohmann/json, since we need to parse the http request body as json string, and also return the results in json format.
  3. Introduce a new binary interactive_server, which start the both the admin service and the query service.
  4. Move some commonly used function to service_utils.h.
  5. Add LoadFromDataDirectory method for GraphDB, support deserialized graph from data directory without bulk_load and schema given. GraphDB can also switch between graphs via this method.
  6. Support add plugin and remove plugin at runtime.
  7. Introduce GraphManager to provide graph management and procedure management. Coarse-grained lock will be utilized for stage-changing operations.
  8. Add End-2-End CI test.
  9. Add document for admin service.
  10. Some minor fix.
  11. Merge the diverged procedure management of hqps engine to graph_db.

@CLAassistant
Copy link

CLAassistant commented Nov 1, 2023

CLA assistant check
All committers have signed the CLA.

@codecov-commenter
Copy link

codecov-commenter commented Nov 1, 2023

Codecov Report

Merging #3322 (b2dd3b0) into main (c237328) will not change coverage.
The diff coverage is n/a.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #3322   +/-   ##
=======================================
  Coverage   41.04%   41.04%           
=======================================
  Files         109      109           
  Lines       11298    11298           
=======================================
  Hits         4637     4637           
  Misses       6661     6661           

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 c237328...b2dd3b0. Read the comment docs.

longbinlai
longbinlai previously approved these changes Nov 15, 2023
Copy link
Collaborator

@longbinlai longbinlai left a comment

Choose a reason for hiding this comment

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

LGTM

introduce admin service

move file into folder

move file into folder

make sure http service is ready

add graph manager and todo: loading graph and delete graph

todo: add query service

stash

fix building

stash

todo: fix start service hang

try to reuse codegen proxy

finish admin service impl

add lock guard for write

refactor

format

reorg http_server

new_interface

expose admin_endpoint

modify gs_interactive

fix yaml test

fix CI

fix gs_interactive_pegasus

close_lib

add doc and test

use engine_config_test.yaml rather than gs_test

fix ci

fix CI

fix path to engine_config_test.yaml

update

update doc

minor

fix test

rename StoredProcedureManager to StoredProcedureProxy

fix CI

TODO: fix CI
luoxiaojian
luoxiaojian previously approved these changes Nov 27, 2023
longbinlai
longbinlai previously approved these changes Nov 27, 2023
Copy link
Collaborator

@longbinlai longbinlai left a comment

Choose a reason for hiding this comment

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

LGTM

@sighingnow sighingnow merged commit eb9e8b5 into alibaba:main Nov 27, 2023
36 of 39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants