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