Skip to content

Release v0.22.0

Compare
Choose a tag to compare
@lidongze0629 lidongze0629 released this 06 Jun 10:08
· 540 commits to main since this release
99c9d15

We are delighted to bring a number of improvements to GraphScope, alongside the GraphScope 0.22.0 release. This release contains many important features and enhancements to Interactive Engine (GIE) and Deployment. Now the user can try GraphScope under the Linux Arm64 platform by pip3 install graphscope.

We highlight the following improvements included in this release:

1. Enhancements for GIE

  • We have provided a utility for users to easily develop and test GIE on a local machine. Basically, users can run three parts of integration tests using the gs command line tool, including the official gremlin test, auxiliary pattern match test, and ldbc complex interactive workload on ldbc social network scale factor 1. In addition, users are allowed to locally start a frontend and an executor, where the former exposes an endpoint to easily integrate with the official gremlin console, and the latter is responsible for executing queries. Details can be found in the documentation.

2. Enhancements for Deployment

  • User can try GraphScope under the Linux Arm64 platform by pip3 install graphscope
  • All images are now switched to ubuntu-based.
  • Add a devcontainer.json for users to quickly get started.
  • Use vineyardctl to install vineyard as the sidecar container.
  • Support to deploy the engines of GraphScope on demand in the lazy mode.

3. Other enhancements and bug fixes

  • Support to store and restore graphs from/to persistent storage on the kubernetes cluster. Details can be found in the guide: https://graphscope.io/docs/latest/deployment/persistent_storage_of_graphs_on_k8s.
  • Add an end-to-end example about training over vineyard graphs using GLE
  • Fixes the incorrect problem of results in python algorithm with PIE model under the session's parameter num_workers=1
  • We have fixed a bug of GIE related to using match step with a not-existed edge, for which it should be executed via anti join, but it returned unexpected error "the first sentence of MergedSentence must have InnerJoin" instead.
g.V().match(
    __.as("a").in().as("b"),
    __.as("b").out().as("c"),
    __.not(__.as("c").out().as("a")) # `not`-exsited edge
)

Now such kind of query can be executed without issue.

  • Fixes the bug of incorrect results when dedup edges on a partitioned graph in GIE, e.g.,
g.V().outE().dedup()

Now it can output expected results.

Docker Image

# Coordinator Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/coordinator:0.22.0

# Graph Analytical Engine(GAE) Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/analytical:0.22.0

# Frontend component of Graph Interactive Engine(GIE) image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/interactive-frontend:0.22.0
# Executor component of Graph Interactive Engine(GIE) image 
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/interactive-executor:0.22.0

# Graph Learning Engine(GLE) Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/learning:0.22.0

# GraphScope persistent storage, user can only perform GIE query on it.
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-store:0.22.0

# Develop Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-dev:latest

What's Changed

  • [99c9d15]: Fixes the GAE fork issue with openmpi (#2820) (Tao He)
  • [ba35996]: [GLE Doc] complete the build and install details of learning engine (#2815) (LiSu)
  • [7af9255]: Fixes some failures in nightly CI (#2817) (Tao He)
  • [0b22053]: Support to install deps for Alibaba Cloud Linux in the gs bash utility (#2816) (Ye Cao)
  • [28a3605]: Cleanup space in CI (#2814) (Siyuan Zhang)
  • [3f50d7d]: Update dev_guide.md: change the link to learning engine to a correct one. (#2813) (Taoshu)
  • [035036b]: disable debug-assert in groot (#2811) (Siyuan Zhang)
  • [57b22fe]: Groot schema now supports add comment (#2802) (Siyuan Zhang)
  • [43493ce]: Fixes bug when building docs from pull requests (#2810) (Tao He)
  • [302b028]: Support to backup and recover the specific graphs via vineyardctl (#2771) (Ye Cao)
  • [d49d0ed]: docs: update rst-versions style, defaults default version to latest, and fixes the zh/en indexing (#2803) (Tao He)
  • [9efd4f6]: Add local python script path to PATH (#2804) (Tao He)
  • [9d5d968]: [Docs/GIE] add tinkerpop ecosystem (#2784) (Longbin Lai)
  • [278a24c]: Adapt to latest vineyard for varint encoding in CSR (#2791) (Tao He)
  • [f1b216c]: Support users to only input the kubeconfig path for connecting the k8s cluster (#2799) (Ye Cao)
  • [33e3007]: Correct the version of built wheel (#2798) (Siyuan Zhang)
  • [191949b]: Fixes the graphdef value when constructing graphs from vineyard_id. (#2793) (Tao He)
  • [699ffbe]: [k8s]Support deploying vineyard cluster independently and deploy the engines on called (#2710) (Ye Cao)
  • [c1ef885]: refine docs latest tag to make it ready as default. (#2788) (Jingbo Xu)
  • [e9090db]: Refine doc for dev and test of analytical engine. (#2787) (Jingbo Xu)
  • [1e57650]: Read version number from the package in setup.cfg (#2785) (Dongze Li)
  • [09ead30]: [GLE docs] minor fixes (#2783) (LiSu)
  • [b014dad]: use kubectl cp --retries (#2781) (Siyuan Zhang)
  • [d2c7d2e]: Fix typo in Makefile (#2782) (Siyuan Zhang)
  • [3606b85]: Fixes the building failure of client wheel on Linux arm64 platform (#2780) (Dongze Li)
  • [fdc626e]: Use vineyardctl API to inject the vineyard sidecar (#2612) (Ye Cao)
  • [7fd430b]: [GraphProxy] refine implementation of LazyDetails (#2766) (BingqingLyu)
  • [4b24146]: [Bug Fix] fix the bug in implementation of PartialEq for Edge in GIE Runtime (#2740) (BingqingLyu)
  • [5b46a68]: Improve GetInnerVertex() by querying local fragment only (#2772) (Songqing Zhang)
  • [983a41e]: Enable deploy groot on local environment (#2769) (Siyuan Zhang)
  • [2509958]: Make grape_engine help message more friendly (#2774) (Siyuan Zhang)
  • [e294377]: [GIE Dev Test] Refine GIE Dev and Test (#2767) (Xiaoli Zhou)
  • [bf8d7b0]: Generate pyi stubs for protobuf modules for better developer experience (#2768) (Tao He)
  • [6fc7db3]: [Bug Fix] Fix the alias of GetV of ExpandBase in PathExpand, an… (#2763) (BingqingLyu)
  • [a119c23]: Correct the python sssp result by setting generate_eid to false in load_p2p_network dataset (#2762) (Dongze Li)
  • [e4bb069]: Make sure grape-engine exit when CTRL-C without crash (#2761) (Tao He)
  • [df16284]: Store address offset of string properties with 48-bit unsigned intege… (#2760) (luoxiaojian)
  • [747df41]: Drop the environment switch in dev and test, and update gs (#2754) (Siyuan Zhang)
  • [46d7ed8]: Fixes duplicated run and upload actions for k8s-ci (#2751) (Tao He)
  • [3cf0798]: Propogate the k8s exception to avoid waiting forever (#2747) (Tao He)
  • [e6af69b]: Ensure use string as log-level, even for logging.XXX (#2745) (Tao He)
  • [e969d0e]: [GIE Dev Test] Add docs for interactive dev test (#2733) (Xiaoli Zhou)
  • [ac7308e]: [BugFix] add Metadata for PathExpand (#2720) (BingqingLyu)
  • [94ec2d8]: Updated license and notice. (#2725) (Jingbo Xu)
  • [8ab7b1b]: Overhaul data-load-tools (#2715) (Siyuan Zhang)
  • [b03bc60]: Publish wheel packages on Linux arm64 platform nightly (#2732) (Dongze Li)
  • [1e63e87]: [GIE/bug] fix a bug of matching with anti join (#2730) (Longbin Lai)
  • [1a81620]: use javac to find the version of java (#2728) (Siyuan Zhang)
  • [51f92ac]: Support to build wheel package on Linux aarch64 platform (#2723) (Dongze Li)
  • [1d3cd4a]: refine retry logic to exponential backoff (#2729) (Siyuan Zhang)
  • [06f8769]: Fixes the installation prefix for nightly linux CI (#2727) (Tao He)
  • [662014f]: Opt-out zstd in features when requiring rocksdb (#2722) (Tao He)
  • [0a5c144]: set timeout of rt_admin to 1 minute. (#2719) (luoxiaojian)
  • [fb79c62]: Bump up graph-learn submodule version (#2716) (Tao He)
  • [7a5ed13]: add docs for using dev container and fix typo (#2711) (Siyuan Zhang)
  • [5bd90ba]: Requires correct version of graphscope_client in coordinator to avoid diverage (#2708) (Tao He)
  • [10a6488]: Introduce the new version of kubernetes log exporter for dumping logs during a period of time such as pytest (#2706) (Ye Cao)
  • [e447cd5]: Fixes the linux wheel install prefix (#2707) (Tao He)
  • [f476c57]: Fixes the 'sudo' in dockerfile for gss image (#2704) (Tao He)
  • [3b11b77]: Build wheels for macOS m1 (#2701) (Tao He)
  • [446b660]: [LICENSE] add dependency licenses for calcite and antlr (#2699) (Xiaoli Zhou)
  • [52b1ee2]: Fixes the initialization of paramters in load_from() (#2698) (Tao He)
  • [d4b72fd]: Display stderr logs as expected on K8s (#2696) (Tao He)
  • [6da5c31]: Add version info for making interactive (#2685) (Siyuan Zhang)
  • [6dd3af2]: Implemented 3-retries, added detailed logs for insert queries, and unified bulk-load and recovery. (#2691) (luoxiaojian)
  • [03165eb]: [FEAT][GraphAr] Add API to python client to enable loading graph from gar files or archive graph to gar files (#2588) (Weibin Zeng)
  • [c2cb286]: Export the k8s logs of graphscope helm test and upload to artifact when the helm test failed (#2683) (Ye Cao)
  • [81230c5]: Add prepare-commit-msg (#2688) (Siyuan Zhang)
  • [90b7e00]: Update install-hook.sh (Wenyuan Yu)
  • [ff9582e]: Create install-hook.sh (#2687) (Wenyuan Yu)
  • [909b3c4]: [GIE/Runtime] Remove the dependency of GIE Runtime on GlobalQueryStore to accelerate the compilation (#2681) (BingqingLyu)
  • [a46663e]: Clearify the requirements for MacOS (#2684) (Tao He)
  • [25a70f1]: Preload searchindex.js in background to optimize the search experiences (#2682) (Tao He)
  • [b258999]: Bump up vineyard to v0.14.5 (#2676) (Siyuan Zhang)
  • [ff5809e]: Use different default value for vineyard_shared_memory on k8s and local (#2678) (Tao He)
  • [a38f414]: enable auth for realtime write (#2674) (Siyuan Zhang)
  • [4225cb1]: Use ubuntu-base to build out production images. Add another wheel tag dedicated for building wheels. (#2607) (Siyuan Zhang)
  • [8168275]: Improve the error message when passing unexpected arguments to g.project() (#2667) (Tao He)
  • [5646ce2]: Document how to install scipy on M1 MacOS. (#2666) (Tao He)
  • [b4caf8f]: [GAE] Fix overflow of MPI_Isend()'s data size (#2665) (Songqing Zhang)
  • [5c0ad71]: Upgrade protobuf/grpc, use newer macos builder, fixes bugs in local launcher where vineyardd may fail, use latest black as formatter (#2650) (Tao He)
  • [2559333]: temporarily fix the urllib3 2.0.0 incompatible with openssl (#2662) (Siyuan Zhang)
  • [57dba68]: Tune kafka and grpc maximum message size (#2661) (Siyuan Zhang)
  • [1f0b8b9]: Implemented the init version of Flex. (#2660) (luoxiaojian)
  • [35b148c]: Update the GLE submodule to include the latest updates (#2643) (LiSu)
  • [7fc0a15]: Change version to 0.22.0 for daily release (#2658) (DongZe Li)
  • [21bdae3]: add export CMAKE_PREFIX_PATH (#2655) (Siyuan Zhang)

New Contributors

Full Changelog: v0.21.0...v0.22.0