Releases: alibaba/GraphScope
Release v0.19.0
We are glad to present the release of GraphScope 0.19.0, which brings a number of new features as well as performance and stability improvements to GraphScope. Specially, users can try GraphScope in python3.10 and python3.11 environments of Linux and MacOS by pip3 install graphscope
; This release also optimizes the memory usage for loading graphs, which allows users to load larger graphs on their machines. In addition, we improve Graph Interactive Engine (GIE) via a couple of bug fixes and improvements.
We highlight the following improvements included in this release:
1. Optimized memory usage for loading graphs:
- Improves memory usage during loading and projecting graphs, especially for graphs with string as OID type.
- Improves the performance of
project_to_simple
.
2. Bug fix and enhancements for GIE:
- Fix a bug in Pegasus that may block the execution of interactive queries in certain case.
- Fix a bug that fails to configure the server number for the GIE engine.
- Fix multiple dependencies in both Java and Rust codes.
- Resolve a issue that JNA could not map bool correctly.
3. Enhancements for GAE Java:
- Pack JNI lib into the grape-runtime jar and fix some dependency issues.
4. Standalone deployment:
- Components now have their own dedicated image, and user could configure a subset of engines to use when launching
session
.
5. Other bug fixes:
- Fix helm deployment could not delete role and rolebindings when uninstalling GraphScope.
- Fix compile error under the newer toolchain and arrow 10
- Rename
maxgraph
tographscope
and other refactors - Cleanup overlapping rust dependencies
Docker Image
# Coordinator Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/coordinator:0.19.0
# Graph Analytical Engine(GAE) Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/analytical:0.19.0
# Graph Analytical Engine(GAE) Image with java SDK, which supports running Giraph and GraphX algorithms on it.
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/analytical-java:0.19.0
# Frontend component of Graph Interactive Engine(GIE) image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/interactive-frontend:0.19.0
# Executor component of Graph Interactive Engine(GIE) image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/interactive-executor:0.19.0
# Graph Learning Engine(GLE) Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/learning:0.19.0
# GraphScope persistent storage, user can only perform GIE query on it.
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-store:0.19.0
What's Changed
- Upgrade vineyard to v0.11.0 by @sighingnow in #2260
- [BUG] Fix bug in Pattern Match when project properties by @BingqingLyu in #2257
- [GIE POM] Ignore the poms generated by maven-flatten-plugin in git by @shirly121 in #2272
- Move the theme to furo, and add some markdown examples. by @sighingnow in #2291
- [docs CI] Choose stable/latest tag correctly by fixing the missing
$
in bash script by @sighingnow in #2293 - Don't delete the existing docs, if don't copy. by @sighingnow in #2294
- Pre-release v0.19.0 by @lidongze0629 in #2276
- Make sure reconnect behaves as expected by @sighingnow in #2297
- Add a write options to enable adding header row to OSS output by @sighingnow in #2296
- Support write string ids/context datas to OSS via vineyard by @sighingnow in #2295
- Use a self-hosted public image to avoid reaching the download limits by @sighingnow in #2308
- Enable plug udf cpp pregel algorithm to graphscope. by @siyuan0322 in #2312
- add structure of the next-gen docs. by @yecol in #2315
- Fix return type of cython combine by @siyuan0322 in #2314
- Disable dark theme even the browser is dark by @sighingnow in #2316
- Fixes: it is not a template by @sighingnow in #2318
- fix nightly networkx forward ci by @siyuan0322 in #2319
- Fix outdated vineyard version by @siyuan0322 in #2323
- Fix helm could not delete role and rolebindings when uninstalling GS by @siyuan0322 in #2324
- fix connect session logic and wait for gae ready by @siyuan0322 in #2326
- [GAE-Java] Automatically load
grape_jvm_opt
when create jvm instances through JNI by @zhanglei1949 in #2327 - Fix
grape-demo
shaded dependencies issue by @zhanglei1949 in #2229 - Accept a filetype arguments in loader for reading orc/parquet using prefix by @sighingnow in #2332
- Upgrade the fragment loader to reuse vineyard components by @sighingnow in #2331
- Launch engines with each components inside their own container. by @siyuan0322 in #2247
- Fix kafka version by @siyuan0322 in #2336
- fix nightly CI and remove redundant comments by @siyuan0322 in #2340
- Fixes CI by @lidongze0629 in #2343
- Fix k8s volumes in helm installation and a bug in get_service_endpoint by @siyuan0322 in #2346
- template helm charts before install by @siyuan0322 in #2348
- Use ownerReferences to replace finalizers during helm uninstall by @dashanji in #2350
- Update the CI badge in README. by @sighingnow in #2353
- Fixes compilation errors on Mac with LLVM. by @sighingnow in #2352
- Add docs for data scientists by @doudoubobo in #2339
- Add Java tutorial by @zhanglei1949 in #2320
- [GraphScope/docs]Add basic and featured functionalities by @LiSu in #2335
- Fix compile error under newer toolchain and arrow 10 by @siyuan0322 in #2355
- Add ownerreferences to all subresources created by coordinator by @dashanji in #2356
- Fixes the hangs up issue in Python test by @sighingnow in #2354
- [GAE-Java] Pack JNI lib
libgrape-jni.so
intogrape-runtime.jar
by @zhanglei1949 in #2330 - Fixes the dependentbot warnings in coordinator by @sighingnow in #2363
- Fix GAE v6d test with arrow projected fragment by @songqing in #2345
- Fix missing header files by @songqing in #2360
- Implement ToArrowArrays method for TensorContext by @acezen in #2351
- fix pytest warnings and install necessary plugins by @siyuan0322 in #2338
- fix building learning engine in CXX 17 by @siyuan0322 in #2364
- OpenMPI: bind to none to leverage all cores for when there are 2 processes by @sighingnow in #2365
- rename maxgraph to graphscope and other refactors by @siyuan0322 in #2367
- Some minor improvement in logs and configurations of groot. by @siyuan0322 in #2371
- Documentation enhancement by @yecol in #2358
- Remove pegasus.server.num and use pegasus.hosts by @siyuan0322 in #2372
- Fix images not shown in docs by @doudoubobo in #2373
- Install myst-parser for markdown pages. by @sighingnow in #2374
- [pegasus] fix operator blocking by @lnfjpt in #2347
- [GIE Doc] Add Tutorials for Gremlin Users by @shirly121 in #2369
- upgrade vineyard version to v0.11.4 by @siyuan0322 in #2375
- cleanup overlapping rust dependencies and bump up some to latest version by @siyuan0322 in #2377
- Resolve a issue that JNA could not map bool correctly by @siyuan0322 in #2376
- [GAE-Java] Remove some dummy java dep in gae java by @zhanglei1949 in #2380
- Upgrade graphlearn to latest for Python 3.11 by @sighingnow in #2382
- Optimize the memory usage of certain graphs by @sighingnow in #2381
- Fixes the performance issue in
Project()
by @sighingnow in #2383 - add graphscope executive script
gs
by @siyuan0322 in https://github....
Release v0.18.0
We are delighted to bring a number of improvements to GraphScope, alongside the GraphScope 0.18.0 release. This release contains many important features and enhancements to Graph Interactive Engine (GIE), including introducing a new strategy for pattern-matching queries and supporting canceling running queries. The Graph Learning Engine (GLE) now supports PyTorch and is also compatible with PyG. In addition, we take a first step towards modularized deployment for different components of GraphScope in Kubernetes.
We highlight the following improvements included in this release:
1. Enhancements for GIE
- A new execution strategy based on worst-case optimal join is introduced to GIE engine, potentially improving the performance of match step by orders of magnitude.
- The query can be canceled after its execution exceeds a pre-given overtime parameter (10min by default).
- GIE engine supports a failover mechanism: if an executor pod fails, but the data is not missing, it can be restarted by k8s. Existing queries cannot recover, but the engine can serve the following.
2. Enhancements for GAE
- Add more variants of WCC algorithm.
- Supports local vertex map to make it could scale to larger graphs given more workers.
3. Enhancements for GLE
- Add support for PyTorch and PyG
- Add heterogeneous graph support for subgraph-based GNN, add HeteroSubGraph and HeteroConv, bipartite GraphSAGE and UltraGCN.
- Add edge feature support in both EgoGraph and SubGraph.
- Add recommendation metrics: Recall, NDCG and HitRate.
- Add hiactor-based graph engine.
4. Standalone deployment
- Supports a version of GIE standalone deployment in Kubernetes.
- Redesigned docker files from the bottom to the top, making it more clear and more concise.
5. GAE Java Enhancement
- Introduce @GrapeSkip for better user experience in template method overloading.
- Speedup Java App runimte codegen.
Docker Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope:0.18.0
# GraphScope persistent storage, user can only perform GIE query on it.
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-store:0.18.0
Commits
- [6775658]: Push jupyter image nightly with the latest client (#2266) (DongZe Li)
- [df9f6eb]: Fix nightly CI (#2262) (Siyuan Zhang)
- [4f17777]: Fixes CI failure both on Linux and MacOS (#2244) (DongZe Li)
- [07efc74]: [GIE/engine] Bug fix; (#2250) (bmmcq)
- [5ea5b87]: [GIE] Support parallel scan on ExpStore (#2253) (BingqingLyu)
- [432e65c]: [GIE] Make the version of GIE compiler consistent with the default value in interactive engine pom (#2249) (shirly121)
- [2b7cf00]: [GIE POM] Unify GIE version by the global flag 'revision' (#2243) (shirly121)
- [71d61e3]: Reorganize for Makefiles and dockerfiles (#2246) (Siyuan Zhang)
- [84f449c]: [GIE Runtime] Debug runtime op info on in a more clearly way (#2226) (BingqingLyu)
- [f77627d]: Update the learning model to align with the latest graphlearn (#2235) (Tao He)
- [1c4c1cd]: [GIE/Store] Reduce memory footprint in
exp_store
(#2245) (Longbin Lai) - [e375f8d]: [GIE/Exp-Store] Optimize memory usage in loading graph data into
MutTopo
. (#2242) (Longbin Lai) - [8844e90]: Fixes release graphscope-store image (#2241) (Siyuan Zhang)
- [428c785]: [GIE/Engine]: add direct executor implementation; (#2234) (bmmcq)
- [e071ce4]: add docs revision preview in CI (#2237) (Jingbo Xu)
- [f524550]: Enable cpplint in CI (#2233) (Tao He)
- [330fe14]: Makes GAE compatible with latest arrow release (#2232) (Tao He)
- [ed86040]: Revise docs. (#2231) (Jingbo Xu)
- [b4d7038]: Fixes compilation error of graphx runner (#2228) (Siyuan Zhang)
- [a11b453]: Reorganize Dockerfile according to specification of standalone deployment (#2227) (Siyuan Zhang)
- [dcaa38a]: [GIE/GLogue] rename Catalogue as GLogue (#2224) (BingqingLyu)
- [aed1f13]: [GIE/IR] Introduce a new strategy for pattern matching (#2159) (BingqingLyu)
- [92f7da3]: Add two other version of wcc for compatiblity (#2223) (Siyuan Zhang)
- [2fbc4ad]: Add local vertex map to arrow fragment and arrow projected fragment. (#2212) (Siyuan Zhang)
- [cc51704]: Fixes nightly CI on macOS (#2219) (DongZe Li)
- [f21754f]: [GAE-Java] GRAPE JDK support Spark local mode for graphx (#2216) (Zhang Lei)
- [ed33b08]: [BugFix] GAE JavaDoc not generated (#2206) (Zhang Lei)
- [4405721]: Update the DefaultTag to .Chart.AppVersion (#2210) (Ye Cao)
- [3ee05f7]: [new FAQ] add network proxy related FAQ (#2211) (Yifan Yuan)
- [09995bf]: Delegate parquet/orc files to vineyard io adaptors (#2209) (Tao He)
- [7ecd75a]: Delete all deployed resources without a extra rbac role when using helm unintsall (#2208) (Ye Cao)
- [094e81d]: [Bug Fix] Add default tag (.Chart.AppVersion) to graphscope-store (#2205) (Ye Cao)
- [4279b8f]: [BugFix] make ResultCode in ir core ffi consistent with Compiler (#2188) (BingqingLyu)
- [7cfe9a3]: [Bug Fix] Avoid throwing exception after processing grpc error from executor in compiler (#2182) (shirly121)
- [abdd5c9]: [GAE-Java] Update doc (#2199) (Zhang Lei)
- [8de000f]: [GAE-Java] Remove String-specialized FFI classes and Simplify Java MessageManager interface (#2195) (Zhang Lei)
- [5a4312d]: Fix failure in network forward CI (#2204) (Siyuan Zhang)
- [7735451]: Fixes failures in nightly CI (#2201) (Tao He)
- [264cbc8]: Log level can accept int and string ignore case (#2200) (Siyuan Zhang)
- [fb12c7b]: Fix slf4j version conflicts (#2196) (Siyuan Zhang)
- [87b9602]: [GIE Deploy] Deploy GIE with exp or v6d in standalone mode by helm configuration management (#2143) (shirly121)
- [ecd58a2]: Fix possible java sandbox protection. (#2191) (Siyuan Zhang)
- [38a3781]: Enable HDFS tests in CI. (#2175) (Tao He)
- [7fdcd23]: [GAE-Java] Support
grape-graphx
running on yarn cluster and support multiple executor on one host (#2185) (Zhang Lei) - [f983bd6]: [GIE pegasus] Support cancelling query. (#2168) (Neng Li)
- [26f0382]: gss ci use lesser image size (#2186) (Siyuan Zhang)
- [2b00169]: [GAE-Java] Fix GAE-Java driver app's message strategy specification (#2178) (Zhang Lei)
- [f4dea3e]: [OSPP] Spark RDD Reader for GraphScope (#2103) (Issac-Newton)
- [cfb707d]: Enhance grpc finding in GAE cmake (#2184) (Tao He)
- [25ab466]: Use pre-built llvm instead of build when making analytical docker (#2183) (Siyuan Zhang)
- [79a08d3]: [GIE Compiler] update ResultCode to be consistent with ir core interface (#2158) (shirly121)
- [74af74f]: [GAE-Java] GraphX-on-GraphScope : remove
GraphXFragment
and related components (#2123) (Zhang Lei) - [49ae814]: [GAE-Java] Add necessary configurations in
pom.xml
to publish GRAPE jdk to maven central repo (#2166) (Zhang Lei) - [2821169]: Fix create interactive engine failure on helm installed graphscope (#2171) (Siyuan Zhang)
- [89a4a21]: [GAE-Java] GRAPE jdk submodules naming to same pattern (#2163) (Zhang Lei)
- [321d938]: Upgrade GitHub actions versions (#2160) (Siyuan Zhang)
- [695cb9c]: Reorganized coordinator and redesigned the logic to create engines. (#2152) (Siyuan Zhang)
- [ea4ca1d]: fix src label and dst label of edge kinds may be empty (#2153) (Siyuan Zhang)
- [1b312af]: Move the tolerances of graphscope-store charts to the global scope (#2151) (DongZe Li)
- [37fa85a]: [GAE-Java] Speed up Java App runtime codegen& compiling (#2150) (Zhang Lei)
- [733fda3]: [GIE IR] Add docker files to build images of GIE (using exp store) (#2142) (shirly121)
- [0c5a4b5]: [GAE-Java] Fix : can not compile the submodule of GAE Java SDK (#2146) (Zhang Lei)
- [3220a7f]: Fixes the conditions for GAE CI in PR and on main, add timeout for test_java_app.py (#2148) (Tao He)
- [998e361]: Rename pegasus.hosts to network.servers for executor (#2147) (Siyuan Zhang)
- [97eec70]: Add pytest-timeout to requirements-dev.txt and fixes a deprecated warnings when running tests (#2145) (Tao He)
- [3038b89]: [GAE-Java] Introduce @GrapeSkip to support generated method overloading (#2144) (Zhang Lei)
- [77b4ec5]: [GAE-Java] Fix log4j jar missing in
grape-runtime
and java pie driver app's message strategy settable. (#2140) (Zhang Lei) - [7d351a2]: [IR Compiler] make gremlin server listen to 0.0.0.0 instead of localhost (#2141) (shirly121)
- [759b7a5]: Server now use aks provided by client side (#2132) (Siyuan Zhang)
- [5c963f5]: Update cluster.py to fix the bug that etcd selector could not work (#2139) (changyi1223)
- [6d94c3f]: [Bug Fix] Fix bug in index_scan on Groot/Vineyard (#2129) (BingqingLyu)
- [d4d942c]: [Assembly] wait_servers_ready() instead of sleep 3s when start engine on vineyard (#2136) (BingqingLyu)
- [2aa3cfc]: Update commons-codec:commons-codec 1.11 to 1.13 (#2119) (zhoumengyks)
- [6d3d6aa]: Update org.apache.kafka:kafka-clients 2.5.0 to 2.7.2 (#2120) (zhoumengyks)
- [6d5d288]: Fixes the docstring rendering for GAE apps (#2131) (Tao He)
- [950ed7a]: App now can carry cmake options, and enabled wcc on string oid. (#2130) (Siyuan Zhang)
- [31829fd]: [GIE/Runtime] Refine some error infos in Runtime (#2113) (BingqingLyu)
- [d16b1b4]: Fixes configuration in dockerignore (#2126) (Tao He)
- [71c37fe]: Upgrade com.fasterxml.jackson.core:jackson-databind to version 2.14.0-rc1 (#2122) (Siyuan Zhang)
- [ace93c5]: [Pegasus] minor fix: avoid iter.next() when it is None in release (#2112) (BingqingLyu)
- [5756de3]: Make gae CI invoked when CMakeLists.template changes (#2101) (Zhang Lei)
- [b6d68bc]: New predicate support (#2086) (waruto)
- [eb393da]: Bump protobuf-java from 3.18.2 to 3.19.6 in /interactive_engine (#2109) (dependabot[bot])
- [0b10f5c]: Bump protobuf-java from 3.18.2 to 3.19.6 in /interactive_engine/compiler (#2111) (dependabot[bot])
- [b1132cc]: [ASoC] report for subtask (#21...
Release v0.17.0
We are glad to announce a number of new features and improvements to GraphScope, alongside the GraphScope 0.17 release. The updates include new releases for Spark-GraphX support, backend engine enhancement, and frontend APIs. Currently, GraphX Pregel
algorithms can be seamlessly executed on GraphScope. A lot of new features have also been officially brought into the interactive engine (GIE), including the syntactic sugar of path expansion and expression, the Gremlin steps of id()
, label()
, coin()
and otherV()
etc. and the profiling and benchmarking tools for LDBC BI queries.
We highlight the following improvements included in this release:
1. Spark-GraphX support for GAE:
- Support converting GraphX graph to GraphScope Fragment
- Support wrapping Fragment as GraphX Graph.
- Support running GraphX pregel on GraphScope Analytical engine.
2. New language features and enhancement for GIE:
- The syntactic sugar of path expansion. Now user can write
out[in|both]('x..y', 'KNOWS')
to support path expansion of at least x (included) times and at most y (excluded) times from a certain node.with()
step can be followed to configure the path expansion. - The syntactic sugar of expression, introduced by
expr()
, can be used along with thewhere()
-step to enable filtering expression. For example,.where(expr("@.name == \"John\""))
help filter out the current entry that has the name of "John". We have updated the README doc for some instructions. - Provide LDBC benchmarking for BI queries.
3. Enhancement and dependency refinement of Groot to reduce the size of fat-jar.
4. Feature updates:
- Add
from_dict
/to_dict
option for graph schema. - Add syntactic sugar of path expansion,
expr()
, and the Gremlin steps ofid()
,label()
,coin()
,TextP.startsWith/endsWith...
etc.
Docker Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope:0.17.0
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope-store:0.17.0
Commits
- [e0a7615]: Get the exception type in correct way, both on Linux and on MacOS. (#2099) (Tao He)
- [0fcc2d8]: Update pom.xml (#2095) (Rudolf D)
- [2caa69b]: Fixes the missing return statement in frames (#2097) (Tao He)
- [12f32ff]: Ensure the correctness of retry (in the RunStep request) (#2094) (Tao He)
- [f3295f4]: Test against the latest libgrape-lite and vineyard (#2090) (Tao He)
- [4caa4b8]: Enhance the error handling in frames (#2089) (Tao He)
- [ea7a189]: Fixes the typo in error message template (#2092) (Tao He)
- [a69d884]: Closing the session if hearbeat fails for many times (when engine crashes) (#2088) (Tao He)
- [2119d48]: Add nodeselector arguments to control where the pod will be launched (#2087) (Tao He)
- [9f1f644]: Change nightly image tag to 'major.minor.alpha_patch' (#2075) (DongZe Li)
- [1846e90]: [GAE-Java] Make GAE Java SDK version align with GraphScope (#2077) (Zhang Lei)
- [652b1c5]: [GAE-Java] Upgrade log4j version (#2082) (Zhang Lei)
- [28809dd]: [GIE-IR] Profiling for GIE-IR (#2056) (BingqingLyu)
- [2d57a3d]: [GIE-IR] support sending back a page of results if batch size met (#2076) (shirly121)
- [a7462ae]: Fixes GetMessage bug in GAE java SDK (#2079) (Zhang Lei)
- [c4572e6]: [GIE-IR] support more patterns of predicate, i.e. P.not, P.inside, P.outside (#2068) (shirly121)
- [c463b32]: Enhancement and dependency clearing of groot. (#2043) (Siyuan Zhang)
- [3af3e84]: [IR Compiler] fix expand fusion strategy (#2058) (shirly121)
- [45e8c05]: Change builtin apps(bfs,sssp,pagerank) to parallel version (#2073) (DongZe Li)
- [56a3b9c]: Update GAE Java Doc (#2059) (Zhang Lei)
- [a7ff7b6]: [IR Runtime] fix bug in label encoding of exp_store (#2057) (BingqingLyu)
- [1ddf147]: [IR Compiler] support more project patterns [id(), label(), constant(XX)] (#2066) (shirly121)
- [5f4813f]: [Emergency Fix]Compile Property Graph with
ENABLE_JAVA_SDK
on needsjni.h
(#2069) (Zhang Lei) - [94a0131]: Fix GAE-Bug: Cannot compile GAE app if java not installed (#2060) (Zhang Lei)
- [7741be0]: test filter push down (#2003) (waruto)
- [588ce29]: [Pre-commit Hook] Update README.md (#2064) (shirly121)
- [516b24a]: [Pre-commit Hook] add pre-commit hook to prevent committing sensitive information (#2055) (shirly121)
- [2f30b23]: Install graphx-runner only whe it is built (#2062) (Tao He)
- [4c7be5f]: Fixes CI on macOS (#2061) (DongZe Li)
- [c35766a]: GraphScope for Spark-GraphX (#2004) (Zhang Lei)
- [96d3bb1]: Fixes an uninitialized field bug in FFI reader (#2054) (Tao He)
- [0b7483f]: Support statements like
vd_type='str'
in UDF app (#2052) (Siyuan Zhang) - [adbd4d1]: Add prometheus exporter for coordinator && GIE engine (#1947) (Vincent)
- [e87e997]: Fixes the GAE jar name when we have a alpha in version number (#2050) (Tao He)
- [8bf6afe]: [GAE-Java] Code refactor (#2049) (Zhang Lei)
- [248c13b]: The
ExceptionUtils.getRootCause()
may returns null, record the error and backtrace in such cases (#2048) (Tao He) - [cce30bb]: Bump vineyard to 0.8.5 (#2047) (Zhang Lei)
- [67a45aa]: Tensorflow requires lower version of pandas (#2045) (Tao He)
- [4862835]: Upgrade required vineyard to v0.8.4. (#2042) (Tao He)
- [a2e0c83]: [GIE/IR] Support
otherV()
on Groot/Vineyard (#2034) (BingqingLyu) - [819ea4a]: remove some unused files in sdk-common (#2026) (Siyuan Zhang)
- [958c49d]: Avoid install java related targets if java sdk is not enabled. (#2037) (Tao He)
- [2316f07]: Fixes the path of gaia executor, add a dockerignore file as well (#2039) (Tao He)
- [9cdd26f]: Fix incorrect argc value in run_vy_app.cc (#2035) (Siyuan Zhang)
- [dc0662e]: upgrade vineyard to 0.8.2 (#2025) (Zhang Lei)
- [73c1882]: GAE java build refactor (#2028) (Zhang Lei)
- [e7a6655]: [pegasus] update contains_source in progress (#2008) (Neng Li)
- [dd42544]: fix bug in extract_needed_columns (#2015) (waruto)
- [159a27b]: [GIE-IR] support SimplePath and AllV in path expand operator (#2005) (shirly121)
- [1f98021]: Add connected() in session.py to figure out session status (#2012) (dzhiwei)
- [a2f56ce]: Ensure session close work when triggered not in main thread (#2009) (dzhiwei)
- [71e0bf2]: Fixes a typo in the tutorial notebooks (#2007) (Tao He)
- [6dff1dc]: Use a
getaddrinfo
resolvable hostname as the local hostname (will be used as the etcd endpoint further). (#2006) (Tao He) - [be07087]: Return primaryKey for vertex/edge property (#2001) (DongZe Li)
- [7f389be]: remove useless code (#2002) (waruto)
- [2d68680]: impl new condition row filter and column filter (#1905) (waruto)
- [2ac4f24]: Fixes a incorrect collect type in ir (#2000) (waruto)
- [8ab15d1]: [GIE-Runtime] Refine structure
Record
in Runtime (#1992) (BingqingLyu) - [73b5453]: [GIE-IR] support coin(..) for sampling vertices/edges (#1993) (shirly121)
- [c8bf5b1]: No fatal even when meet unknown errors (#1991) (Tao He)
- [ce4f0ea]: [GIE] fuse expand with count operators nested in apply for optimization (#1987) (shirly121)
- [bd8252f]: Drop from vineyard when unloading a arrow projected fragment (#1984) (Tao He)
- [23dcae0]: Add deployment of groot (#1858) (Siyuan Zhang)
- [4aac5b5]: [IR Compiler] collect metrics from compiler to report qps/rt (#1978) (shirly121)
- [7b20ab5]: [IR Compiler][Bug Fix] fix gaia-test ci caused by invalid group type used in compiler (#1979) (shirly121)
- [48d3c31]: [GAIA-IR] support patterns of group by multiple keys/values in compiler (#1973) (shirly121)
- [44597c9]: [Bug Fix] fix a bug in encode/decode in group (#1966) (BingqingLyu)
- [7d8f8cf]: Fix network connection reconnect abnormal in pegasus (#1969) (bmmcq)
- [c980ab3]: Fixes the compliation error of
run_property_ctx
and addresses some lint errors (#1974) (Tao He) - [15fdf2f]: Fix timeout error in graphscope-store helm test (#1972) (Siyuan Zhang)
- [de490cd]: Move compiler into interactive_engine (#1929) (Siyuan Zhang)
- [2f7d1ec]: Bump hadoop-common from 3.2.3 to 3.2.4 in /interactive_engine (#1963) (dependabot[bot])
New Contributors
- @bifenglin made their first contribution in #1931
- @dzhiwei made their first contribution in #2009
- @VincentFF made their first contribution in #1947
- @Disseminator made their first contribution in #2095
Full Changelog: v0.16.0...v0.17.0
Release v0.16.0
We are bringing a number of improvements to GraphScope, alongside the GraphScope 0.16.0 release. This release introduces many new features on backend engines and system stability. We enable Jave SDK of Graph Analytics Engine (GAE) on MacOS, and make a series of enhancements on the graph storage Groot
. We completely remove a legacy Graph Interactive Engine (GIE), while officially replacing it with the latest version based on an intermediate representation (IR) layer; in addition, we improve GIE via a couple of optimizations, new language features, and bug fixes. The Graph Learning Engine (GLE) now supports real-time sampling on dynamic graphs. Meanwhile, we start to release a nightly version every day, and you can try it with pip3 install graphscope --pre
.
We highlight the following improvements included in this release:
1. Enhancements of the graph storage Groot
:
- Support load table from partitioned ODPS table;
- Speed up some popular gremlin queries;
- Use the GAIA engine to support queries;
- A series of deployment enhancements.
2. Enhancements of the GIE GAIA engine:
- Completely replacing the legacy GIE engine with the latest version based on IR;
- Optimizing the logic of lazily fetching properties from the graph store, and implementing a new CSR-based storage for experiment purpose;
- New language features including more grouping functions, more options for group/dedup/orderby keys, etc.
3. Dynamic-Graph-Service (DGS) is introduced in GLE.
- DGS is an online inference service, it supports real-time sampling on dynamic graphs with streaming graph updates.
4. Support Java SDK of GAE for MacOS.
5. Bug fixes:
- Fixes potential pointer leak in IR-core FFI functions;
- Duplicate results while scanning with primary keys;
- Error while accessing a
tag
that does not exist in the record. - Fixes failure of running
clustering
algorithm on the property graph.
Docker Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope:0.16.0
Commits
- [9c656fa]: [GAIA Runtime] Use
hashbrown
for optimization (#1952) (BingqingLyu) - [a27dd5c]: Support for version suffixes like '0.15.0a1' in cmake (#1960) (DongZe Li)
- [e691776]: upgrade protoc-gen-grpc-java version (#1830) (Siyuan Zhang)
- [9a71bf4]: Fixed high CPU usage of ingestor when having empty buffer (#1946) (simple)
- [3a2165d]: fix: add ipc sender after former one removed (#1950) (Neng Li)
- [e486c35]: [GAIA/exp_store] To enable getting neighbors of a certain label by la… (#1945) (Longbin Lai)
- [7f0f053]: [pegasus] fix bug in (#1954) (#1958) (bmmcq)
- [009fd8c]: Fixes nightly CI by overwrite VERSION (#1957) (DongZe Li)
- [f6dcf16]: Change nightly image tag to 'nightly' (#1951) (DongZe Li)
- [84e8de8]: Support to pre-release GraphScope(image + wheel package) nightly with version like 'major.minor.alpha_patch' (#1949) (DongZe Li)
- [5d9b629]: Fix typos in the tutorials (#1948) (Ye Cao)
- [1de7533]: Fix missing dependency of ir-compiler (#1935) (Siyuan Zhang)
- [a0da2a9]: [GAIA-IR] create ffi object from java side to avoid invoking ffi interface which can lead memory leak problems (#1925) (shirly121)
- [9284f69]: [GraphProxy] Optimize LazyDetails (#1921) (BingqingLyu)
- [98ae038]: Fixes the links for tutorials in the documentation. (#1928) (Tao He)
- [52078d9]: Integrate targets of assembly artifacts in GIE (#1920) (Siyuan Zhang)
- [5e93f73]: [IR Compiler] fix bugs when path_expand is nested in sub traversal, i.e. select('a').by(out('1..2')) (#1874) (shirly121)
- [281f264]: Support edges of outer vertices in DynamicFragment (#1799) (ds-ssj)
- [489a077]: Fixed graph schema drop and init error when edge_kinds's src or dst gone (#1922) (simple)
- [aedbb31]: Fix compiling error of write-bench (#1918) (Siyuan Zhang)
- [7009cca]: [IR Compiler] create FfiNameOrId from java side to fix undefined error (#1919) (shirly121)
- [7e826c6]: Cleanup legacy files. (#1914) (Siyuan Zhang)
- [8a04f83]: Print the running time of each round of analytical engine (#1913) (DongZe Li)
- [41fe90e]: Add the etcd {client,peer} port to the configuration list (#1910) (Tao He)
- [484f927]: Reopen groot gremlin test (#1912) (Siyuan Zhang)
- [160bb0b]: Resolve issues reported by dependent bot (#1909) (Siyuan Zhang)
- [1591300]: impl partial_eq for Property and fix gitignore (#1908) (waruto)
- [eb45c58]: [GIE] Reorganize executor package by incorporating GAIA into GIE (#1883) (BingqingLyu)
- [2899903]: Data load tools supports partition (#1900) (Siyuan Zhang)
- [cd08a1a]: Enhance the
install_deps.sh
script (#1873) (Weibin Zeng) - [a33b179]: [GAIA-IR] support more patterns of dedup().by() in ir compiler (#1901) (shirly121)
- [7087915]: Supporting reading from a config file in htap loader. (#1897) (Tao He)
- [b0c9931]: Fix a bug when iterating dict (#1894) (Siyuan Zhang)
- [2ac5213]: [GAIA-IR] support more patterns of aggregate functions, i.e min/max/toList/toSet/avg/countDistinct (#1847) (shirly121)
- [28508f6]: Fix docs words error (#1893) (Milittle)
- [13aca2e]: add arm runtime dockerfile (#1880) (Siyuan Zhang)
- [1e35af2]: Reopen releasing gss in workflow (#1882) (Siyuan Zhang)
- [b22e45e]: [GAIA-IR] Support
PathExpand
ranging from 0 (#1863) (BingqingLyu) - [e96e6ec]: Fixes the dtor error in the htap_loader. (#1884) (Tao He)
- [7770814]: Adapt the launch cluster script to latest AWS API (#1876) (Weibin Zeng)
- [9e1a334]: Add a standalone graph loader to vineyard. (#1869) (Tao He)
- [e5cdf48]: Avoid mvn install fastffi twice (#1871) (Zhang Lei)
- [51296d1]: Decrease the make job numbers when building gae. (#1868) (Siyuan Zhang)
- [ea825d6]: Optimize the clustering algorithm by replacing the complex
vertex_array_t
withunordered_map
(#1861) (Weibin Zeng) - [d024cda]: [Bug Fix] fix a bug in duplicated results by index scan (#1865) (BingqingLyu)
- [fd9b55f]: [GAIA] Make input data as generic data types in
JobAssembly
interface (#1859) (BingqingLyu) - [6616ee0]: [IR Runtime] support mean() in runtime (#1852) (BingqingLyu)
- [0a8e9c1]: [IR Compiler] support hasNot in ir compiler (#1853) (shirly121)
- [a30384c]: [GAIA-IR] Filter the data when selecting a non-exist tag (#1843) (BingqingLyu)
- [2695783]: fix groot and GIE test cases after replacing MaxGraph with gaia (#1823) (shirly121)
- [959f6ff]: [GAIA-IR] Fix invalid unwrap in ffi functions to prevent broken pointers (#1846) (shirly121)
- [ffeebcd]: [GIE/TEST] Add back CI Test for subgraph() (#1827) (BingqingLyu)
- [a756bc1]: [GIE-GAIA] Add Pegasus named apis, and add names for IR Operators (#1834) (BingqingLyu)
- [5698d98]: Add a TOC to the README. (#1838) (Tao He)
- [1d92227]: Fixes the long standing empty column name issue in subgraph (#1832) (Tao He)
- [86ea24b]: Upgrade protoc version and use variable to replace hardcoded value (#1829) (Siyuan Zhang)
- [2eb2700]: Remove Zookeeper and zetcd related stuffs (#1828) (Siyuan Zhang)
- [c35f341]: [pegasus] fix defect in the progress control (#1796) (Neng Li)
- [35b56f2]: Make Pegasus support reading config files with hostname instead of only IP (#1808) (Melo Yang)
- [2fe38e8]: Update dependency versions. Add rust format check (#1821) (Siyuan Zhang)
- [7373a7f]: Add GRAPE-jdk support on mac (#1774) (Zhang Lei)
- [36820c4]: [GAIA-IR] Support sum() in GAIA-Runtime (#1815) (BingqingLyu)
- [f960946]: [GIE/IR] Fix IR warnings (#1817) (Longbin Lai)
- [bded1bf]: use the same format file as query_service/ir (#1819) (waruto)
- [a675598]: Workaround for pip failure to perform editable install with
--user
(#1813) (Weibin Zeng) - [d49476a]: Introduce a new interactive engine (#1782) (Siyuan Zhang)
- [889e003]: Add degree threshold to katz_centrality, clustering and avg_clustering algorithm (#1507) (Siyuan Zhang)
- [d1e5076]: [IR Runtime] Make v6d related codes as features (#1795) (BingqingLyu)
Release v0.15.0
We highlight the following fixes and improvements included in this release:
- [GAIA-IR] Fixes the multi-join error in the plan of pattern matching
- Supports bulk load from ODPS table and OSS for the Interactive Engine.
- [GAIA-IR] Support the
bothV()
operator. - Compatible with the latest GLOG API of Analytical Engine.
- Fixes some compilation errors in Learning Engine under Apple M1 chip.
- [GAIA-IR] fix the protobuf encode error of logical plan in Interactive Engine.
- Fixes bug while installing dependencies on ubuntu and update deprecated
--all
to--workspace
Docker Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope:0.15.0
Commits
- [b93a809]: Fix nightly CI on macOS (#1797) (DongZe Li)
- [f7c18d1]: ignore a Cargo.lock (#1792) (waruto)
- [1758525]: Impl PartialOrd and some methods for Property, then format it (#1788) (waruto)
- [e8f0b98]: [Gaia/IR] Return json with possible error message in
print_plan_as_json
(#1786) (Longbin Lai) - [5af6ef9]: Fixes bug while install deps on ubuntu and update deprecated
--all
to--workspace
(#1785) (waruto) - [314a3fc]: [GAIA-IR] fix a bug of encode protobuf of logical plan (#1784) (shirly121)
- [0d8fca9]: [GAIA-IR] Fix compiling warnings in v6d_ffi (#1780) (BingqingLyu)
- [07e8672]: Fixes the failure of nightly CI on macOS by fixed the rust toolchain version to 1.60.0. (#1777) (DongZe Li)
- [e0166e7]: fix communication caused by broadcast (#1750) (Neng Li)
- [b7960ba]: [GAIA-IR] Make v6d_ffi build as features in IR (#1775) (BingqingLyu)
- [9abea6d]: support more than 2 branches to union (#1756) (Melo Yang)
- [faadf9f]: [GAIA-IR] Support writing a new graph in GAIA-IR (#1745) (BingqingLyu)
- [3e449f9]: [IR Compiler] support TextP.containing/TextP.notContaing as within/without in ir_core (#1755) (shirly121)
- [ec11bd1]: [IR Compiler] represent identity as AsNone in subgraph (#1752) (shirly121)
- [cfabc90]: fix bug, or_predicates is a collection of
AndPredicate
that forms a logical OR of allAndPredicate
s (#1751) (waruto) - [2cba970]: [IR Compiler] fix error when creating json file (#1743) (shirly121)
- [b3f9afe]: [GAIA-IR] support lazy projection for columns used only in a predicate (#1746) (shirly121)
- [1ab5737]: Bump fastjson from 1.2.76 to 1.2.83 in /analytical_engine/java (#1732) (dependabot[bot])
- [be3bf0e]: Bump fastjson from 1.2.75 to 1.2.83 in /interactive_engine (#1731) (dependabot[bot])
- [f844808]: Upgrade vineyard version to fixes some build failures on Mac. (#1748) (Tao He)
- [96ffefe]: [GAIA-IR] support subgraph in ir compiler (#1721) (shirly121)
- [a97a779]: Upgrade required graphlearn to fixes a build error on M1 Mac. (#1742) (Tao He)
- [7af26c9]: Compatible with the latest API of GLOG (#1738) (DongZe Li)
- [bcbe646]: Fix bugs while building on macOS 12 wih apple silicon (#1736) (waruto)
- [f25fc42]: Publish dataset image during release process (#1730) (DongZe Li)
- [92f6564]: Multi task for bulk load (#1720) (Yongmin Hu)
- [bcd3773]: add crc to file meta store (#1726) (tianliplus)
- [fe9d033]: Supports launch vineyardd using on multiple hosts using MPI (#1727) (Tao He)
- [afd61fd]: [GAIA-IR] support bothV() in GAIA-IR (#1717) (BingqingLyu)
- [deb47c9]: integrate gremlin query api into groot sdk and add authentication when querying (#1715) (shirly121)
- [85a70b8]: Stores download OSS files with multithreading for GIE (#1714) (Yongmin Hu)
- [333c3be]: [GAIA-IR] Reorg for GAIA-IR's Runtime (#1709) (BingqingLyu)
- [ded5b2e]: Supports bulk load from ODPS table and OSS for GIE (#1672) (Yongmin Hu)
- [0b49a06]: [Bug fix - Gaia-IR] The plan of pattern matching faces a multi-join error (#1704) (Longbin Lai)
- [66a4f06]: Disable publish the wheel package to Test.Pypi (#1700) (DongZe Li)
Release v0.14.0
We are delighted to present the release of GraphScope v0.14.0. This release is composed of many updates on backend engines and system stability. The new Graph Interactive Engine (GIE), GAIA-IR, has supported more operators for diverse graph queries. Meanwhile, the persistent storage of GraphScope is further enhanced with a series of new functions. In addition, we continuously work on improving the performance of GraphScope, and developer usability.
We highlight the following improvements included in this release:
1. New supported operators in Graph Interactive Engine (GIE)
- Support
valueMap
operator to fetch all properties of vertices in the GAIA engine. - Enable string oid type support for the GIE GAIA engine.
- Support index query for the GAIA engine.
2. More functions on persistent storage of GraphScope
- Support loading dataset from the OSS.
- Enable local GC for the Groot storage.
3. Bug fixes and other enhancements
- Upgrade the NetworkX version from 2.6 to 2.8.
- A new algorithm named voterank has supported in the analytical engine.
- Fix some problems in the property cache of GIE GAIA IR-Core.
- Support to return an empty map if no property in
valueMap
operation.
Docker Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope:0.14.0
Commits
- [772e107]: Bump karma from 3.0.0 to 6.3.16 in /python/jupyter (#1694) (DongZe Li)
- [c2f1bd4]: set snapshot as extra params to get graph data of correct version in groot (#1666) (shirly121)
- [b9093fc]: Enable local GC (#1653) (Siyuan Zhang)
- [982d467]: Increase the duration (#1695) (Siyuan Zhang)
- [65523c6]: Optimize clustering by ignoring computation of vertices that degree less than 2 (#1597) (Weibin Zeng)
- [5ad8d52]: fuse expand/getV with the following filters to support more patterns in match (#1671) (shirly121)
- [26887b5]: Disbale redefined warning of string_view (#1693) (DongZe Li)
- [10b231f]: Fix dependabot alert caused by crossbeam(#1687) (Neng Li)
- [d5d7140]: Make CI filtering consistent between main and pull requests (#1686) (Siyuan Zhang)
- [27e0338]: Enhance the script finding process when launching GIE from locally build without installation (#1690) (Tao He)
- [275547e]: Support return a dict for graph schema (#1682) (DongZe Li)
- [6e872a6]: Fixes the failure of nightly CI. (#1663) (Weibin Zeng)
- [39c572b]: Merge gs-jython and gs-lib into graphscope package (#1680) (DongZe Li)
- [3622ba8]: Upgrade required vineyard version (#1655) (Tao He)
- [c4a2f9e]: Upgrade Kafka version (#1660) (Siyuan Zhang)
- [f06721e]: Fix forward algorithm test import error which test dir not contain
__init__
file (#1657) (Weibin Zeng) - [c5462af]: Fixes the uninitialized pointer error for string fragment (#1659) (Tao He)
- [b5bb440]: Return empty map if no properties in valueMap() (#1656) (shirly121)
- [ce91b0c]: [GIE-IR] Upgrade Gaia-IR with the new Pegasus Client/Service APIs (#1648) (BingqingLyu)
- [dc256c1]: [BugFix] Fix install
zetcd
error withGO111MODULE="auto"
and remove the limitation of go version (#1651) (Weibin Zeng) - [59c85b0]: [GAIA/engine] Merge latest version pegasus engine (#1632) (Neng Li)
- [5935375]: [GAIA-IR] Support index query in IR (#1618) (BingqingLyu)
- [b5cee9c]: Implement
createGraph
on coordinator, add API to initialize builder using schema (#1641) (Tao He) - [fcda4a6]: Add ipython to the distributed docker image. (#1643) (Tao He)
- [0a50ed1]: Enable string oid type support for FFI wrapper for GIE. (#1638) (Tao He)
- [8fe1611]: Add GC snapshot functionality for groot (#1635) (Siyuan Zhang)
- [87b5613]: Support valueMap() to fetch all properties of vertices (#1623) (shirly121)
- [b452508]: Fixes the bug in AddColumn to graphs with
string
oid type. (#1627) (Tao He) - [76d3388]: [GAIA-IR] Map KeyId back into KeyName for labels and properties (#1615) (BingqingLyu)
- [fa5718c]: Listen 0.0.0.0 address in GAIA frontend (#1609) (DongZe Li)
- [0d68477]: fix the join bug (#1608) (wzbxpy)
- [4b33307]: [Bug Fix] Fix property cache in IR Core (#1606) (BingqingLyu)
- [e83e8d9]: Implement voterank app (#1552) (liulx20)
- [b5fff86]: Fix
networkx.cnli
forward and reorg forward algorithm tests (#1584) (Weibin Zeng) - [33546c9]: [IR Runtime] IR TagOpt for more compact structure in Runtime (#1594) (BingqingLyu)
- [55d31d8]: Gie sdk basic auth (#1579) (tianliplus)
- [b8ee7f0]: Clean up include headers of analytical engine (#1546) (Weibin Zeng)
- [0aa8c3c]: refactor gie sdk (tianliplus)
- [0115a72]: Reorganize and cleanup proto definitions. (#1547) (Siyuan Zhang)
- [8fbf192]: add ci tests for ir on vineyard (#1515) (shirly121)
- [6060a6b]: Restrict protobuf version (#1549) (Weibin Zeng)
- [fb81a82]: Make client and coordinator install with develop mode in MakeFile (#1511) (Weibin Zeng)
- [95bd701]: Simplify the python code of networkx and reorganize test cases (#1540) (Weibin Zeng)
- [cbe749c]: Upgrade NetworkX version from 2.6 to 2.8 (#1532) (Weibin Zeng)
- [c03b539]: Mark operation evaluated after the op is run (#1528) (Weibin Zeng)
- [4c16d53]: add oss support (#1481) (tianliplus)
- [d784b25]: Upgrade graph-learn version (#1516) (Weibin Zeng)
- [9357e13]: Revise
DynamicToArrow
with existed engine schema ofDynamicFragment
(#1501) (Weibin Zeng)
Release v0.13.0
We are delighted to announce the release of GraphScope v0.13.0. This release is focused on providing a Jupyterlab extension for GraphScope to make your graph computation workflows better. In addition, we continuously work on improving the performance of GraphScope, and developer usability. We highlight the following improvements included in this release:
1. Introduce a JupyterLab extension for GraphScope. Currently, it supports the following functions
- Provide a graphical user interface for monitoring the status of graphscope resources (e.g., session and graph)
- Support to define data schema and load graph in an interactive way
- The extension has been integrated into our PlayGround
2. Performance improvement
- Add data caching in
NetworkX
for improving the performance of graph reporter - Optimize performance of
arrow fragment
todynamic fragment
with multiple thread
3. BUG Fixes or other enhancements
- Add a lock to protect the coordinator to avoid data race conditions
- Fixes compilation failure in
cdlp
withArrowFlattenFragment
- Attempt backoff and retry during download dataset
- Support primary key index in
Groot
- Support avg_clustering builtin application
- Display progress bar during loading graph with k8s mode
Docker Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope:0.13.0
Commits
- [d0de89a]: Disable brew update when installing dependencies as it is super slow. (#1506) (Tao He)
- [ac1c1ea]: Upgrade graph learn version and force pyarrow<=6.0.0. (#1503) (Tao He)
- [db579a7]: Move networkx graph schema from client to engine (#1485) (Weibin Zeng)
- [617ae63]: Display progress bar in k8s mode (#1495) (Siyuan Zhang)
- [b035d0a]: Fix broken convert test of networkx (#1496) (Weibin Zeng)
- [c833e37]: Upgrade vineyard to 0.4.1 in Makefile (#1493) (DongZe Li)
- [091b698]: Update ScaleUp trigger in HorizontalRunnerAutoscaler (#1489) (Siyuan Zhang)
- [ae9a346]: Sync with latest changes about arrow fragment in vineyard, and include several refactors/bugfixes. (#1487) (Tao He)
- [6df93c2]: Fix remove nodes logic in
DynamicFragment
(#1484) (Weibin Zeng) - [a75f33c]: Init the op of nx.Graph with incoming graphscope graph's op (#1479) (Weibin Zeng)
- [2bc40ad]: Add another write path that uses the C++ IO adaptor (#1480) (Siyuan Zhang)
- [23b612b]: Remove the unused append-only arrow fragment. (#1477) (Tao He)
- [4453f2e]: Suppress the grpc warnings in
fork_posix.cc
. (#1478) (Tao He) - [8d5a029]: Optimize performance of arrow fragment to dynamic fragment with multi-threading (#1458) (Weibin Zeng)
- [daa8649]: Support avg_clustering builtin app in client side (#1475) (DongZe Li)
- [f27689c]: Fix arrow version in Dockerfile (#1476) (Siyuan Zhang)
- [05b0c36]: Add del to nx.Graph to handle graph delete (#1464) (Weibin Zeng)
- [2745d25]: Move maxgraph*.jar into gs-jython package (#1472) (DongZe Li)
- [4de8e6c]: groot support pk index (#1471) (tianliplus)
- [ca9c7ad]: Add a lock in the coordinator's RunStep as well. (#1465) (Tao He)
- [0479c0a]: Adapt CI on self-hosted runner to HorizontalRunnerAutoScaler (#1462) (Siyuan Zhang)
- [90876cc]: Attempt backoff and retry during download dataset (#1463) (DongZe Li)
- [bbc7ebc]: Correctly handle the lifecycle of graph (#1460) (Siyuan Zhang)
- [d523462]: Add clean target to MakeFile to clean temporary files create from building (#1459) (Weibin Zeng)
- [708ab4d]: Delete intermediate files (#1456) (tianliplus)
- [c4d2aef]: Bump hadoop-common from 2.10.1 to 3.2.3 in /interactive_engine (#1450) (dependabot[bot])
- [28ca229]: Correctly handle the empty dag (#1457) (Siyuan Zhang)
- [632af34]: Release the jupyter image in CI workflow (#1453) (DongZe Li)
- [ea91931]: Fix build wheel fail on mac (#1452) (Weibin Zeng)
- [2cdeb8e]: Add data caching for networkx to improve the graph report performance (#1369) (Weibin Zeng)
- [332ca48]: Add version check to coordinator & client, fixes #1435 (#1441) (wuyueandrew)
- [9e2d77d]: Fixes compilation failure in cdlp and sssp_path (#1447) (DongZe Li)
- [46b30e4]: Add a lock to protect the coordinator to avoid data race condtions. (#1445) (Tao He)
- [8af17df]: Shrink gs-lib package to less than 100MB (#1440) (DongZe Li)
Release v0.12.0
The GraphScope v0.12.0 release is a major update on many aspects of the project including backend engines, APIs, and system stability. It introduces an intermediate representation (IR) layer into the graph interactive engine (GIE) GAIA, to decouple query languages from query execution engines. Meanwhile, this release supports Giraph APIs to allow Giraph apps running on the Graph Analytics Engine (GAE) of GraphScope.
We highlight the following improvements included in this release:
1. Introduce IR layer into GAIA:
- A completely redesigned IR layer to decouple the query language dependency, and further for query optimizations.
- Define the supported Gremlin's grammar via Antlr.
- Support
match
step in Gremlin, for graph pattern matching.
2. Add Giraph APIs to GAE:
- Support to load graphs with Giraph Formats, e.g.,
graph = sess.load_from(vertices="p2p-31.v", vformat="giraph:com.example.vformat",edges="p2p-31.e", eformat="giraph:com.example.vformat")
- Support Giraph APIs on GraphScope, and all algorithms implemented towards the original Giraph APIs can run on GraphScope without modifications. For example, to load Giraph app SSSP, users can just invoke
giraph_sssp = load_app(algo="giraph:com.alibaba.graphscope.example.giraph.SSSP")
- Users now can add jars by
sess.add_lib
interface.
3. Bug Fixes or other enhancements:
- Correct the lifecycle management of loaded graphs within a session.
- Make the graphlearn and tensorflow related logs more user-friendly.
- Fix
readwrite
failed on GraphScope Networkx module. - Enable to connect to the existed ETCD cluster in GraphScope.
- Support to launch GraphScope on K8s from an inner-pod environment.
Docker Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope:0.12.0
Commits
- [b0a0900]: Support launch GraphScope on K8s from inner-pod environment (#1434) (DongZe Li)
- [9e4e47f]: Add offline deployment doc for Helm (#1433) (DongZe Li)
- [4779315]: Migrate cargo rocksdb dependency to 0.18.0 version (#1430) (Zichao Zhang)
- [2e74e3c]: Split the builtin application distribution to 'gs-apps' package (#1429) (DongZe Li)
- [47b0d42]: Support string tensor for tensor context (#1425) (Weibin Zeng)
- [1068628]: Upgrade the version of databind, fixes the dependent bot warnings. (#1424) (Tao He)
- [ab77481]: Upgrade the required black version. (#1422) (Tao He)
- [92c4b15]: Attempt backoff and retry during handle GRPC error (#1421) (DongZe Li)
- [2de6b7e]: Bump commons-io from 2.6 to 2.7 in /research/query_service/ir/compiler (#1417) (dependabot[bot])
- [edb2493]: Retry 3 times and then report failure during HeartBeat process (#1419) (DongZe Li)
- [93ef1b5]: Try to fixes nightly CI on macOS by packaging 'string_view' into wheel package (#1420) (DongZe Li)
- [9d2c1e7]: Bump jackson-databind from 2.11.1 to 2.13.2.1 in /interactive_engine (#1415) (dependabot[bot])
- [64c77c1]: Add networkx tutorial and fixed vineyard version (#1412) (DongZe Li)
- [27400d1]: Bump protobuf-java in /research/query_service/ir/compiler (#1416) (dependabot[bot])
- [7d2f92c]: Introducing IR query service (#1407) (BingqingLyu)
- [88e7670]: [BugFix] Fix analytical engine can't not compile with NETWORKX=OFF (#1410) (Weibin Zeng)
- [ed6546d]: Push if condition down to steps to allow it be checkable. (#1404) (Tao He)
- [07cb0df]: Remove unused dependencies (#1403) (Zhang Lei)
- [bf69985]: Fix networkx forward nightly ci (#1387) (Weibin Zeng)
- [0191dd6]: Add dummy CI worflows to allow all status checkable. (#1402) (Tao He)
- [f5928a3]: Giraph on GraphScope implementation (#1386) (Zhang Lei)
- [e851014]: Merge lastest version of pegasus (#1376) (Neng Li)
- [0bf6686]: Upgrade vineyard to v0.3.21. (#1389) (Tao He)
- [3b520ca]: Remove gaia from GraphScope for code refactor (#1388) (shirly121)
- [91f4248]: Add role and rolebinding for graphscope charts (#1382) (DongZe Li)
- [c921cd6]: Try to upgrade tinkerpop version to 3.5.1 in maxgraph (#1349) (shirly121)
- [a314bbb]: Revert "Giraph on GraphScope (#1362)" (#1385) (Tao He)
- [c3903d5]: Refactor
DynamicFragment
withCSREdgecutFragmentBase
andMutableCSR
(#1328) (Weibin Zeng) - [0a9cda9]: Bump protobuf-java from 3.18.0 to 3.18.2 in /interactive_engine (#1381) (dependabot[bot])
- [83ebed5]: Upgrade proto to 3.18.0 && grpc to 1.42.1 (#1149) (shirly121)
- [ee81be7]: Bump zookeeper from 3.4.5 to 3.4.14 in /analytical_engine/java (#1372) (dependabot[bot])
- [1dbc373]: Giraph on GraphScope (#1362) (Zhang Lei)
- [4d8390a]: Disable noisy log inside gremlin-python, and fixes the hard-coded DEBUG. (#1368) (Tao He)
- [2c56d49]: Enable to connect to the existed ETCD cluster in GraphScope (#1359) (wuyueandrew)
- [5ea7c0d]: [Bug fix] Fix readwrite test failed on graphscope.nx (#1365) (Weibin Zeng)
- [c72da15]: Makes the graphlearn- and tf- related logs looks better. (#1367) (Tao He)
- [9d95f32]: Frontend async rpc (#1357) (tianliplus)
- [b61457c]: Upgrade version of formatter (#1363) (Siyuan Zhang)
- [79904fc]: Correct the lifecycle of graph with session (#1361) (DongZe Li)
- [9f29a7b]: Catch unknown exceptions in gRPC handlers. (#1358) (Tao He)
- [cf4284e]: Also tag latest when release new version (#1360) (Siyuan Zhang)
- [8a81ea2]: The GAIA ci should be disable months ago. (#1356) (Tao He)
- [e4040db]: It doesn't make sense to trigger those CI actions on forks. (#1354) (Tao He)
- [4f2a2e6]: Add an env
USE_GAIA_ENGINE
to allow testing gaia from Python client. (#1348) (Tao He)
Release v0.11.0
We are glad to announce a number of new features and improvements to GraphScope, alongside the GraphScope v0.11.0 release. This major release introduces mutable graphs into GraphScope, and adds GPU supports for the graph analytics engine (GAE). It also focuses on user-friendly improvements, code quality, and a series of bug fixes.
We highlight the following improvements included in this release:
Supporting mutable graphs:
- Providing a set of interfaces (e.g., add_vertex, add_edge and update_vertex) to modify the topology of an existing graph.
- Adopting existing apps to mutable graphs.
Accelerating graph analytics apps with GPUs:
- Adding new fragment, worker, message_manager and apps to utilize GPUs to process graph analytics tasks faster.
- On top of these new infrastructures, 6 example algorithms (BFS, WCC, SSSP, PR, CDLP, LCC) are implemented.
Optimizations and enhancements:
- Stream grpc request(response) to support loading graph(fetching result) from(to) numpy/pandas more than 2GB.
- Accelerating manipulation of graph topology by replacing folly::dynamic with rapidjson::value.
https://graphscope.io/blog/releasenotes/2022/03/06/release-notes-0.11.0.html
Docker Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope:0.11.0
Commits
- [f30b95c]: Fixes CI failure on macOS (#1346) (DongZe Li)
- [d911efe]: Stop coordinator gracefully by accepting the signal from notebook restarted/stopped event (#1342) (DongZe Li)
- [ff33f5a]: Keep the global symbol to avoid it been stripped on Mac. (#1345) (Tao He)
- [51f680a]: Upgrade required vineyard version to 0.3.19 (#1339) (Siyuan Zhang)
- [569c04b]: Fixes PATH to not include $LLVM/bin to make sure the correct ranlib be found. (#1341) (Tao He)
- [0b083e5]: Revert "Make sure the $PATH could search /usr/bin first. (#1340) (Tao He)
- [158f452]: Make sure the $PATH could search /usr/bin first. (#1338) (Tao He)
- [385accd]: Extract a util dynamic library from grape-engine (#1337) (Siyuan Zhang)
- [e3f055e]: Local bench groot (#1326) (tianliplus)
- [953cc3e]: Add timeout after launch vineyard to ensure we catches the error code correctly (#1332) (Siyuan Zhang)
- [5e33f66]: Improve the docs. (#1324) (Tao He)
- [e13eea9]: Adapt to mutable fragment. (#1320) (luoxiaojian)
- [f14b6f6]: Bump up graph-learn package for checkpoint. (#1323) (Tao He)
- [ec3f3ef]: Use
LargeAttrValue
in modify operation and dumps json with orjson (#1321) (Weibin Zeng) - [1a94a81]: Enable download metadata for repo 'appstream' of centos-8 (#1318) (DongZe Li)
- [ec0ac9d]: Stream RunStepResponse of grpc to support fetching result more than 2GB (#1314) (DongZe Li)
- [156c1c8]: Replace
folly::dynamic
withrapidjson::Value
and bump vineyard to 0.3.18 (#1271) (Weibin Zeng) - [f3113ba]: Bump hadoop-common from 2.8.4 to 2.10.1 in /interactive_engine (#1312) (dependabot[bot])
- [6918b76]: Stream RunStepRequest of grpc to support loading graph from numpy/pandas more than 2GB (#1309) (DongZe Li)
- [cdb0dcf]: Use
boost::lexical_cast
to handle string id fragment (#1310) (Siyuan Zhang) - [3b607ec]: Bump httpclient in /research/query_service/gremlin/compiler (#1306) (dependabot[bot])
- [0200ceb]: Bump commons-io in /research/query_service/gremlin/compiler (#1307) (dependabot[bot])
Release v0.10.1
We highlight the following fixes and improvements included in this releases:
- Support running built-in app on the property graph without project.
- Support running UDF app on the property graph with string vertex id.
- Improve the document of the learning graph.
- Drop support for Python 3.6
Docker Image
docker pull registry.cn-hongkong.aliyuncs.com/graphscope/graphscope:0.10.1
Commits
- [97d12bf]: Fixes failure on macOS CI (#1304) (DongZe Li)
- [10f2580]: Add 'large_attr' data structure in op definition for large chunk (data of pandas/numpy) (#1303) (DongZe Li)
- [e554e93]: [networkx] binding session from graphscope graph and fix bug (#1302) (Weibin Zeng)
- [3dc75f4]: Better schema representation (#1299) (Siyuan Zhang)
- [66b74fd]: Cython sdk rst: Context.superstep() change return type str -> int (#1296) (wuyueandrew)
- [7eeb725]: Print data type in graph schema (#1294) (Siyuan Zhang)
- [6682520]: Check the nullptr of graph_info (#1295) (Siyuan Zhang)
- [7fc69d9]: Fix: nightly CI was broken on test_error_on_selector case (#1291) (DongZe Li)
- [fd676d7]: Fix the invalid identifier 'FULL-TEST-SUITE' in the environment variable (#1289) (DongZe Li)
- [26f5214]: Support running udf app on property graph with string oid type (#1287) (DongZe Li)
- [b683dcd]: Raise an error and tell users what to do on Windows. (#1285) (Tao He)
- [e8f7aaf]: Improve the document of learning.Graph (#1277) (Weibin Zeng)
- [976345b]: Fixes building docs for graphlearning, and the scroll bar. (#1279) (Tao He)
- [06e3392]: Support running built-in app on the property graph by projecting to flattened fragment implicitly (#1258) (DongZe Li)
- [0ba3d5e]: Drop support for Python 3.6 (#1268) (Weibin Zeng)
- [d3e8545]: Fix the broken networkx ci (#1264) (Weibin Zeng)
- [1446cd6]: Parallelize eigenvector_centrality and katz_centrality (#1262) (Weibin Zeng)
- [38470b0]: Revise built-in clustering and replace forward with built-in (#1255) (Weibin Zeng)
- [334e624]: Bump protobuf-java from 3.5.1 to 3.16.1 in interactive_engine (#1260) (dependabot[bot])
- [83c6842]: Guard folly headers when NETWORKX=OFF (#1259) (Siyuan Zhang)
- [a45a7b9]: Optimize modification APIs of graphscope.nx (#1250) (Weibin Zeng)
- [1ae368f]: Add metrics for benchmark groot (#1238) (tianliplus)