Skip to content

Releases: vesoft-inc/nebula

Nebula Graph v3.0.1

15 Mar 04:17
2e938c7
Compare
Choose a tag to compare

bugfix

  • Fix the bug that it maybe take a long time for storage online after ADD HOSTS. #3950
  • Fix the crash of graph service when clients lower than v2.6 connect to Nebula service. #3942
  • Fix the crash of upgrading when there is no tag in SPACE. #3920
  • Fix the crash of graph service when pattern is MATCH <node>, <node>, <path>. #3915

download

Nebula Graph v3.0.0

16 Feb 02:11
02b2091
Compare
Choose a tag to compare

Nebula Graph v3.0.0 only supports upgrading from v2.x release (the lowest version is v2.0.0 GA). If you want to upgrade from v1 to v3, you should first upgrade from v1 to v2, see details. And Nebula Graph v3.0.0 don‘t support the most ecosystem tools of v2.x, please upgrade the ecosystem tools.

feature

enhancement

  • Refactor cluster management. #3343
  • Add log monitor to check free bytes of log disks, change log level when space is almost full. #3576
  • Support any string for tag names in apostrophe. #3424
  • Support that the storage service sends partition disk paths to the meta. #3369 #3416
  • Add constraints on invalid password attempts. #3573 #3629
  • Support DELETE in TOSS. #3374
  • Support to use logrotate. #3541
  • Support more metrics. #3446 #3605 #3590
  • Enhancement datetime parser. #3179
  • Remove read lock in meta service to reduce the side effect of read-write locks. #3256
  • Refactor storage indexes to solve the coupling problem between services. #3196
  • Support specifying the floating point accuracy of the round() function. #3178
  • Support https for ES client. #3150
  • Move version info outside of heartbeat.  #3378
  • Support empty list, set, map. #3302
  • Support specifying s2 region coverage parameters when creating a geo index. #3396
  • Add version info for SHOW HOSTS. #3702

bugfix

  • Fix the bug that memory isn’t released when a default value is used ​​and no value is specified in nGQL. #3666
  • Fix the bug that the function coalesce() cannot be used. #3653
  • Fix the bug that using multiple INSERT on an indexed tag will lead to incorrect LOOKUP results. #3627
  • Fix the crash when the expression exceeds the depth. #3606
  • Disable the aggregate function in YIELD clause and WHERE clauses of nGQL. #3597
  • Fix the crash when using the aggregate function in UNWILD and WHERE clauses. #3397 #3355
  • Fix the bug that the tag index is rebuilt with an old schema version value. #3332
  • Fix the bug that the query results will still contain the expired edges if we use GO...REVERSELY. #3536
  • Fix the memory estimation error info in CentOS 6.0. #3534
  • Fix the crash when the LOOKUP statement contains a filter that consists of a logical And expression and an IN expression with only one element. #3525
  • Fix the bug that metad progress is suspended under high load. #3482
  • Fix the unwinding subgraph crash. #3506
  • Fix the DROP SPACE crash when rebuilding an index. #3406
  • Fix the bug of reading memory stats under cgroup v2. #3419
  • Fix the bug that DROP TAG INDEX deletes the edge index with same name unexpectedly, and vice versa for the deletion of the tag index. #3413
  • Fix the bug that edges are not shown after a graph space is cloned. #3351
  • Fix the index existence check problem. #3315
  • Fix a bug that running the ALTER statement to query the type property may lead to a null pointer obtained by the graph service. #3325
  • Optimize the raft to make the system more stable. #3172 #3435 #3358 #3322 #3031
  • Cancel memory check when the ratio is greater than 1.0. #3289
  • Fix building with ninja error. #3195
  • Fix the bug that creating tag and edge with same name at the same time may be both succeed. #3735
  • Fix the bug that failed to create full-text index for the same tag or edge internal id in different SPACE. #3747
  • Fix variable inconsistency in YIELD clause and GO statement. #3430
  • Fix the crash when schema version is greater than 256. #3893

incompatible

Nebula Graph v3.0.0 does not support the most ecosystem tools of v2.x, please upgrade the ecosystem tools.

  • The storage services added in the configuration files cannot be read or written directly. The configuration files only register the storage services into the meta services. You must run the ADD HOSTS command to read and write data on storage servers. #3343
  • Disable ZONE and GROUP. #3776 #3825  #3330
  • Disable BALANCE DATA. #3756
  • Modify the default session timeout from 0 to 28800 seconds, limit the value between 1 and 604800 seconds. #3357 #3807
  • Add SHOW LOCAL SESSIONS and SHOW LOCAL QUERIES commands, and deprecate SHOW ALL QUERIES. #3488
  • A tag is not required for a vertex. DELETE VERTEX only deletes the vertices, and does not delete the related outgoing and incoming edges of the vertices. At this time, there will be dangling edges by default. #3316 #3335 #3328 #3286
  • Disable the YIELD clause to return custom variables. #3271
  • The YIELD clause is required in the FETCH, FIND PATH, LOOKUP, GET SUBGRAPH and GO statements. #3056 #3139 #2957
  • Add non-reserved keywords: s2_max_level, s2_max_cells. #3396
  • It is required to specify a tag to query properties of a vertex in a MATCH statement. For example, from return v.name to return v.player.name. #3255

download

Nebula Graph v2.6.2

26 Jan 02:14
d113f4a
Compare
Choose a tag to compare

bugfix

  • Fixed the bug that memory not released when default value was used ​​when no value was specified in nGQL. #3806
  • Fixed the bug of reading memory stats under cgroup v2. #3792
  • Fixed the bug that failed to create full-text index for the same tag or edge internal id in different SPACE. #3793

download:

Nebula Graph v2.6.1

03 Nov 11:04
de03025
Compare
Choose a tag to compare

bugfix

  • Fixed the bug that the nebula connection will be interrupted if the YIELD clause in LOOKUP contains aggregate function. #3245

download:

Nebula Graph v2.6.0

25 Oct 11:06
3ba41bd
Compare
Choose a tag to compare

feature

  • Support TOSS. #2525
  • Support ZONE. #2604
  • Support Geo Spatial. #2954 #2979 #3043
  • Support crypto in transportation. #2584
  • Support return query result as JSON format. #2824
  • Support to clone space meta. #2763
  • Support lookup index scan using IN expression as filter. #2906
  • Integration Breakpad. #2536
  • Support copying the local folder of metad to remote. #2532
  • Support DELETE TAG. #2520
  • Support concat function. #2540
  • Support SHOW META LEADER. #2542

enhancement

  • Optimize the computation of index scan limit pushdown. #2905 #2823 #2796
  • Optimize the calculation of sampling and limit pushdown at each step of the go statement. #2904 #2853 #2831
  • Better yield data format. #2555 #2572 #2779 #2895 #2944
  • Enable prefix bloom filter by default to improve performance. #2860
  • Support server to verify client version to make sure the connection reliability(client version start from v2.6.0). #2965
  • Optimize flow control when pulling the entire partition. #2557
  • SHOW JOBS only show space related. #2872
  • Grant job permission for all roles except GUEST. #2928
  • Improve memory watermark detection. #2885
  • Support to kill the slow queries of storage. #2534

bugfix

  • Fixed the bug that clean part rocksdb data when raftpart::reset. #2522
  • Fixed the bug which insert mismatched date time type. #2527
  • Fixed the bug that setting millisecond failed but microsecond worked. #2781
  • Fixed the meta service crash when inserting too much data in batches(millions lines). #2813
  • Fixed the crash that getting edge when no edge schema exist in space. #2571
  • Fixed the bug for that GO with WHERE clause expression eval when prop data type is fixed_string. #2762
  • Fixed the bug when find all path. #2773
  • Fixed the bug that users without roles have the permission to find all roles of SPACE. #2778
  • Fixed the bug of case expression. #2819
  • Fixed the infinite loop when use time(). #2820
  • Fixed the bug while task node shutdown, this job will display "running" forever. #2843
  • Fixed the bug insert statements may cause inconsistent attribute values between replicas in the case of multiple replicas. #2862
  • Fixed the bug that space not right when submit job after USE. #3010
  • Fixed the bug that getting attribute error of thrift struct when column is not nullable. #3011
  • Fixed the bug that graphd is always running even if meta is not ready. #3048
  • Fixed the bug that dangling edge will return a null vertex when use FIND PATH WITH PROP. #3008
  • Fixed the crash when YIELD DISTINCT map value. #3051
  • Fixed the bug that the service still starts with a wrong ip/host. #3057
  • Fixed the bug that alter the same property in one statement. #3036
  • Fixed the bug that the multi-step filtering on edge is invalid. #3144

download:

Nebula Graph v1.2.1

15 Apr 02:49
721ae51
Compare
Choose a tag to compare

New Features

  • YIELD clause supports DISTINCT  #2368
  •  Add lookup_concurrently option. LOOKUP supports traversing all partitions concurrently, which improves the performance significantly  #2417
  • LOOKUP clause supports DISTINCTLOOKUP ON supports returning srcid and dstid of an edge  #2415

Bugfix

  • Fix the issue that YIELD -1*1 may result in an overflow  #2411
  • Fix the issue that leader election may be unstable when RPC times out #2419
  • Fix UnaryExpression bug which causes storaged crash  #2412
  • Fix the issue LIMIT and OFFSET do not return the expected result #2428
  • Fix the issue that partial results may return after the leader change. #2465
  • Fix the issue that executing FETCH PROP ON *  may lead to graphd crash after altering schema. #2461

Changelog

Nebula Graph v1.2.0

08 Dec 03:19
53f56b6
Compare
Choose a tag to compare

New Features

  • FIND PATH support to find paths with or without regard to direction. And also support to exclude loops in paths. #2398
  • Add ARM64 support to Nebula Graph. #2392
  • Add auto_remove_invalid_space option to indicate whether to remove data from a deleted graph space when restarting the services. #2375 #196

Improvements

  • Improve the DELETE edges performance. #2404

Bugfix

  • Fix the issue that FETCH PROP ON timestamp properties returns an int64 value. #2389
  • Fix the issue that GO m TO n STEPS may lead to OOM errors. #2386
  • Fix the issue that FETCH PROP ON * might return the wrong results when the tag on the vertex has no properties. #2359

Nebula Graph V1.1.0

21 Sep 04:29
9154dde
Compare
Choose a tag to compare

Improvements

  • Remove the lock inside FunctionManager for better performance. #2273
  • Improve property-fetching performance by refactoring VertexHolder::getDefaultProp.#2249
  • Optimize GO statement performance by adopting unordered_map::reserve and vector::reserve, and removing storage query lock. #2268
  • Reduce the unnecessary creation of snapshots and optimize performance. #2287 #2318
  • Support configuring the prefix bloom filter for RocksDB. The prefix blooms can optimize QueryEdgeProps and QueryVertexProps performance, as well as reduce memory usage. #2274
  • Support configuring compaction_thread_limiter and rate_limiter options of RocksDB. #2251
  • Support obtaining RocksDB statistics through web service. #2262 #2243
  • Support more dynamically configurable options of RocksDB, such as max_open_files, memtable_huge_page_size. #2291
  • FETCH PROP ON supports fetching multiple tag properties on multiple vertexes. The previous command’s output can be passed to FETCH PROP ON as its input in the pipeline statement ("|"). FETCH PROP ON * supports getting the properties of multiple vertices. #2222 #117
  • Add a warning message for a partially successful query. #2290
  • Raft lease is always valid when replica_factor is set to 1. #2276

Bugfixes

  • Fix the leader election failure that may occur during the balancing process. #2232
  • Fix the issue that there may be more than one election request after the RAFT election failed. #2305
  • Fix the issue that the logging of the original service can't be recorded to the log file when the service was started multiple times.  #2278 #2289
  • Fix the issue that StorageClient scanVertex and scanEdge interfaces failed to return the results after enable_multi_versions  is set to true. #2312
  • Fix the issue that USE SPACE and FIND PATH statements cannot work together in a query. #2303
  • Fix the issue that snapshots may be triggered unexpectedly. #2316
  • Fix the issue that storaged may crash when a vertex with related edges and index is deleted. #2335
  • Fix the issue that after  ALTER TAG/EDGE ADD <props>, LOOKUP ON the newly added properties may make graphd crash. #2341
  • Fix the stale data problem when using LRUCache. #2267
  • Fix the bug that meta service cannot be stopped in some cases. #2240
  • Fix the issue that MetaClientTest.HeartbeatTest may be hung if the target port has already been used. #2296
  • Fix the bug when stopping metad  before the initialization of job manager, metad may crash. #2332
  • Fix the bug that multiple indexes can exist for the same property set. #1695

Changelog

  • Forbid range access for string-property indexes. For LOOKUP ON xxx WHERE xxx, if there are string properties in the WHERE clause, the exact-match index would be used to look up records. #2283 #2277
  • Forbid OR and XOR conditions in LOOKUP ON statement. #2283
  • The pipe (|) operation has deduped the input. #2292
  • The default value for rocksdb_disable_wal option has been changed to false. #2236

Nebula Graph v1.0.1

09 Jul 03:34
3132e39
Compare
Choose a tag to compare

New Features

  • Support uuid() in FIND PATH statement #2209.
  • Support disabling block cache of rocksdb by setting rocksdb_block_cache of storaged.conf to less than or equal to 0 #2177
  • Adopt folly::SingletonThreadLocal in meta client to avoid multi-threads mitigating lock contention on localCacheLock_, which improves the performance significantly. #2165
  • Storage supports different compression algorithms of rocksdb and setting different compressions for different levels. #2179

Bugfix

  • Fix the issue that compaction filter does not work when calls manual compaction #2184
  • Fix the issue that Leader sends Snapshot in some cases #2150
  • Fix the issue when UPSERT/UPDATE the new prop of existing data after adding a new prop of tag/edgetype, an error return #2186
  • Fix the issue that GO m ... n returns an error when m is set to 0 #2202
  • Fix the issue when combining GO n STEPS and | pipe statement,an incomplete result is returned in some cases #2203

V1.0.0 GA

10 Jun 07:28
06a5db4
Compare
Choose a tag to compare

Basic Features

  • Online DDL & DML. Support updating schemas and data without stopping or affecting your ongoing operations.
  • Graph traversal. GO statement supports forward/reverse and bidirectional graph traversal. GO minHops TO maxHops is supported to get variable hops relationships.
  • Aggregate. Support aggregation functions such as GROUP BY, ORDER BY, and LIMIT.
  • Composite query. Support composite clauses: UNION, UNION DISTINCT, INTERSECT, and MINUS.
  • PIPE statements. The result yielded from the previous statement could be piped to the next statement as input.
  • Use defined variables. Support user-defined variables to pass the result of a query to another.
  • Index. Both the single-property index and composite index are supported to make searches of related data more efficient. LOOKUP ON statement is to query on the index.

Advanced Features

  • Privilege Management. Support user authentication and role-based access control. Nebula Graph can easily integrate with third-party authentication systems. There are five built-in roles in Nebula Graph: GOD, ADMIN, DBA, USER, and GUEST. Each role has its corresponding privileges.
  • Support Reservoir Sampling, which will retrieve k elements randomly for the sampling of the supernode at the complexity of O(n).
  • Cluster snapshot. Support creating snapshots for the cluster as an online backup strategy.
  • TTL. Support TTL to expire items after a certain amount of time automatically.
  • Operation & Maintenance
    • Scale in/out. Support online scale in/out and load balance for storage
    • HOSTS clause to manage storage hosts
    • CONFIGS clause to manage configuration options
  • Job Manager & Scheduler. A tool for job managing and scheduling. Currently, COMPACT and FLUSH jobs are supported.
  • Graph Algorithms. Support finding the full path and the shortest path between vertices.
  • Provide OLAP interfaces to integrate with third-party graph analytics platforms.
  • Support multiple character sets and collations. The default CHARSET and COLLATE are utf8 and utf8_bin.

Clients

  • Java Client. Support source code building and downloading from the MVN repository, see Java Client for more details.
  • Python Client. Support source code building and installation with pip, see Python Client for more details.
  • Golang Client. Install the client with the command go get -u -v github.com/vesoft-inc/nebula-go,see Go Client for more details.

Nebula Graph Studio

A graphical user interface for working with Nebula Graph. Support querying, designing schema, data loading, and graph exploring. See Nebula Graph Studio for more details.

Tools

  • Data Import
    • Nebula-Importer is used to import data from the CSV file.
    • Spark Writer, a Spark-based distributed data import tool that converts data from multiple data resources into the Nebula Graph.
  • Data Export
    • Dump Tool. A single-machine off-line data dumping tool to dump or count data with specified conditions.
  • Monitoring
    • Nebula Stats Exporter (for Prometheus), is to collect database metrics and expose metrics to Prometheus. And Grafana has integrated for metrics Visualization and Alerting.