Skip to content

Releases: vesoft-inc/nebula

NebulaGraph v3.8.0

17 May 10:33
fa92893
Compare
Choose a tag to compare

NebulaGraph v3.8.0 release notes

  • Features:

    • Introduced the SINGLE SHORTEST PATH statement. #5664

    • Introduced the INNER JOIN statement. #5664

    • The ROUND() function now supports various rounding modes. #5680

  • Enhancements:

    • Performance:

      • The SHORTEST PATH statement now supports LIMIT pushdown to improve performance. #5657

      • Optimized certain logic to mitigate the impact on write performance after a follower crashes. #5673

      • Optimized session management in the Meta service to reduce latency in high concurrency scenarios. #5762

    • Usability:

      • Optimized the process of graph space deletion to reduce blocking time. #5754
    • Stability:

      • Optimized the LEADER BALANCE algorithm for a more balanced load distribution. #5670

      • Introduced a limit on the maximum number of statements to enhance system protection mechanisms. #5790

  • Bug Fixes:

    • DQL:

      • Fixed inconsistent results when executing the LOOKUP statement multiple times. #5662

      • Fixed the syntax error when UNION ALL was used. #5674

      • Fixed incorrect LIMIT results and crashes in SHORTEST PATH, ALL PATH, and NOLOOP PATH scenarios. #5679, #5699, #5787, #5789

      • Fixed the crash issue when executing the SHORTEST PATH statement multiple times with a memory tracker set. #5720

      • Fixed a filtering error to prevent the Graph service from crashing. #5740

      • Fixed execution failure in multi-variable scenarios. #5734

      • Fixed the issue that MATCH SHORTEST PATH did not support self-loop detection. #5738

      • Fixed the crash issue in some scenarios when the filter condition is never met. #5740

      • Fixed the crash issue with the ROUND function. #5773

      • Fixed the incorrect result issue when executing FIND PATH WITH PROP in a one-hop query. #5759

      • Fixed the performance degradation issue when the USE SPACE clause was included in a query statement. #5793

      • Fixed the issue that FIND NOLOOP PATH did not exclude self-loops. #5805

    • Others:

      • Fixed errors when executing the CLONE SPACE statement. #3005, #5781

      • Fixed the issue that no data was collected by the num_vertices_inserted metric when an index existed. #5756

      • Fixed a potential crash issue when queries and schema changes were performed simultaneously. #5855

NebulaGraph v3.6.0

11 Aug 03:55
de9b3ed
Compare
Choose a tag to compare

Features

Optimizations

  • Support variables when querying vertex id or property index in a match clause. #5486 #5553
  • Support parallel startup of RocksDB instances to speed up the startup of the Storage service. #5521
  • Optimize the prefix search performance of the RocksDB iterator after the DeleteRange operation. #5525
  • Optimize the appendLog sending logic to avoid impacting write performance when a follower is down. #5571
  • Optimize the performance of the MATCH statement when querying for non-existent properties. #5634

Bug fixes

  • Fix the bug of meta data inconsistency. #5517
  • Fix the bug that RocksDB ingest causes the leader lease to be invalid. #5534
  • Fix the error in the statistics logic of storage. #5547
  • Fix the bug that causes the web service to crash if a flag is set for an invalid request parameter. #5566
  • Fix the bug that too many logs are printed when listing sessions. #5618
  • Fix the crash of the Graph service when executing a single big query. #5619
  • Fix the crash of the Graph service when executing the Find All Path statement. #5621 #5640
  • Fix the bug that some expired data is not recycled at the bottom level. #5447 #5622
  • Fix the bug that adding a path variable in the MATCH statement causes the all() function push-down optimization to fail. #5631
  • Fix the bug in the MATCH statement that returns incorrect results when querying the self-loop by the shortest path. #5636
  • Fix the bug that deleting edges by pipe causes the Graph service to crash. #5645
  • Fix the bug in the MATCH statement that returns missing properties of edges when matching multiple hops. #5646

Changes

Enhance full-text index features with the following changes:

  • The original full-text indexing function has been changed from calling ElasticSearch's Term-level queries to Full text queries.
  • In addition to supporting wildcards, regulars, fuzzy matches, etc. (but the syntax has been changed), support for word splitting (relying on ElasticSearch's own word splitter) has been added, and the query results include scoring results. For more syntax, see official ElasticSearch documentation.

Download

NebulaGraph v3.5.0

23 May 10:06
18fd7b1
Compare
Choose a tag to compare

Features

  • Support UDF. #4804 #5391
  • Support expressions like v.tag in return statements. #5440
  • Support json_extract function in UPDATE statements. #5457
  • Support TCK format in EXPLAIN output. #5414
  • DML supports parameters. #5328

Optimizations

  • Support TTL in milliseconds. #5430
  • Enhance attribute trimming in aggregation functions. #5301
  • Improve the performance of traversal executor. #5308
  • Optimize FIND ALL PATH performance. #5409
  • Removes some Raft locks to improve performance. #5451
  • Optimize predicate function filtering for variable-length edges. #5464 #5470 #5481 #5503
  • Parallel traversal executor. #5314
  • MATCH supports ID collection. #5360
  • Refactor the GO planner. #5369
  • Add some Graph performance options in the configuration file. #5463
  • Add maximum connection number flag. #5309

Bug fixes

  • Fix the defect where RocksDB data import invalidates the leader lease. #5271
  • Fix the error message when DESC USER does not exist. #5345
  • Fix the defect where CREATE IF NOT EXIST fails when SPACE exists. #5375
  • Fix the incorrect edge direction in GetNeighbors plan. #5386
  • Fix the client IP format in the SHOW SESSIONS command. #5388
  • Fix the defect where attributes are pruned in USE and MATCH. #5263
  • Fix the defect where the filter is not pushed down in some cases. #5395
  • Fix the defect where the filter is incorrectly filtered in some cases. #5422
  • Fix the incorrect handling of internal variables in pattern expressions. #5424
  • Fix defects involving EMPTY comparisons. #5433
  • Fix the defect where duplicate columns are returned when all columns are requested in MATCH. #5443
  • Fix the error in comparing paths involving reflexive edges. #5444
  • Fix the defect of redefining aliases in a MATCH path. #5446
  • Fix the type check defect when inserting geographical location values. #5460
  • Fix the crash in a shortest path. #5472
  • Fix the crash in GEO. #5475
  • Fix the error in MATCH...contains. #5485
  • Fix the bug of incorrect session count in concurrency. #5496
  • Fix the defect of SUBGRAPH and PATH parameters. #5500
  • Fix the defect in regular expressions. #5507

Changes

  • Disable edge list join, not supporting the use of edge list in multiple patterns. #5268
  • Remove GLR parser, needs to change YIELD 1–-1 to YIELD 1– -1. #5290

Download

NebulaGraph v3.4.1

08 Mar 03:14
a6dc673
Compare
Choose a tag to compare

Bug fixes:

  • Fixed the crash caused by encoding the parameter expression and evaluating it in the storage. #5336
  • Fixed the crash of some list functions. #5383

Download

NebulaGraph v3.4.0

09 Feb 10:19
db3c1b3
Compare
Choose a tag to compare

Feature

  • Support killing sessions. #5146
  • Support Memory Tracker to optimize memory management. #5082

Enhancement

  • Optimize job management. #5212 #5093 #5099 #4872

  • Modify the default value of the Graph service parameter session_reclaim_interval_secs to 60 seconds. #5246

  • Adjust the default level of stderrthreshold in the configuration file. #5188

  • Optimize the full-text index. #5077 #4900 #4925

  • Limit the maximum depth of the plan tree in the optimizer to avoid stack overflows. #5050

  • Optimize the treatment scheme when the pattern expressions are used as predicates. #4916

Bugfix

Change

  • The added property name can not be the same as an existing or deleted property name, otherwise, the operation of adding a property fails. #5130
  • Limit the type conversion when modifying the schema. #5098
  • The default value must be specified when creating a property of type NOT NULL. #5105
  • Add the multithreaded query parameter query_concurrently to the configuration file with a default value of true. #5119
  • Remove the parameter kv_separation of the KV separation storage function from the configuration file, which is turned off by default. #5119
  • Modify the default value of local_config in the configuration file to true. #5119
  • Consistent use of v.tag.property to get property values, because it is necessary to specify the Tag. Using v.property to access the property of a Tag on v was incorrectly allowed in the previous version. #5230
  • Remove the column HTTP port from the command SHOW HOSTS. #5056
  • Disable the queries of the form OPTIONAL MATCH <pattern> WHERE <condition>. #5273
  • Disable TOSS. #5119
  • Rename Listener's pid filename and log directory name. #5119

Notes for upgrading

To upgrade to v3.4.0, follow the upgrade guide:

Download

NebulaGraph v3.3.0

31 Oct 06:06
c9f84b1
Compare
Choose a tag to compare

Enhancement

Bugfix

  • Fixed the crash of variable types collected. #4724

  • Fixed the crash in the optimization phase of multiple MATCH. #4780

  • Fixed the bug of aggregate expression type deduce. #4706

  • Fixed the incorrect result of the OPTIONAL MATCH statement to give an error message, because the WHERE clause of the OPTIONAL MATCH statement references variables defined by other MATCH statements that was not yet supported. #4670

  • Fixed the bug of parameter expression in the LOOKUP statement. #4664

  • Fixed the bug that YIELD DISTINCT returned a distinct result set in the LOOKUP statement. #4651

  • Fixed the bug that ColumnExpression encode and decode are not matched. #4413

  • Fixed the bug that id($$) filter was incorrect in the GO statement. #4768

  • Fixed the bug that full scan of MATCH statement when there is a relational In predicate. #4748

  • Fixed the optimizer error of MATCH statement.#4771

  • Fixed wrong output when using pattern expression as the filter in MATCH statement. #4778

  • Fixed the bug that tag, edge, tag index and edge index display incorrectly. #4616

  • Fixed the bug of date time format. #4524

  • Fixed the bug that the return value of the date time vertex was changed. #4448

  • Fixed the bug that the startup service failed when the log directory not existed and enable_breakpad was enabled. #4623

  • Fixed the bug that after the metad stopped, the status remained online. #4610

  • Fixed the corruption of the log file. #4409

  • Fixed the bug that ENABLE_CCACHE option didn't work. #4648

  • Abandoned uppercase letters in full-text index names. #4628

  • Disable COUNT(DISTINCT *) . #4553

Change

  • Vertices without tags are not supported by default. If you want to use the vertex without tags, add --graph_use_vertex_key=true to the configuration files (nebula-graphd.conf) of all Graph services in the cluster, add --use_vertex_key=true to the configuration files (nebula-storaged.conf) of all Storage services in the cluster. #4629

Download

Nebula Graph v3.2.1

16 Sep 02:52
bb2e684
Compare
Choose a tag to compare

Bug fix

  • Fixed the crash caused by LOOKUP statements with AND and IN operators.#4551
  • Fixed the crash caused by an invalid filter in GetProp. #4568
  • Fixed the crash caused by handling a wrong syntax expression. #4607
  • Fixed concurrent exceptions related to the multi-match statements. #4605
  • Fixed the bug that expired data could not be filtered out when scanning vertices or edges.#4578
  • Fixed the bug that the properties function returned UNKNOWN_PROP. #4604
  • Fixed the split brain in raft. #4479
  • Replaced obsolete RocksDB API. #4395

Download

Nebula Graph v3.2.0

18 Jul 02:31
ef6d6a0
Compare
Choose a tag to compare

Enhancement

  • Support the extract() function. #4098
  • Optimized the configuration file and added some configurations. #4310
  • Added optimization rules to remove the useless AppendVertices operator. #4277
  • Added optimization rules for pushing down the filter of edges. #4270
  • Added optimization rules for pushing down the filter of vertex properties. #4260
  • Eliminated the VID predication filter. #4249
  • Reduced the amount of data to be copied for Join operations when moving data. #4283
  • Obtained property values through subscripts to reduce the time-consuming of property queries. #4242
  • Optimized the performance of SHORTEST PATH. #4071
  • Optimized the performance of SUBGRAPH. #4226
  • Reduced the amount of data to be copied for Traverse and AppendVertices operators when moving data. #4176
  • Enhanced optimization rules for removing invalid project operators. #4157
  • Optimized memory allocation with Arena Allocator. #4239

Bugfix

  • Fixed the web service crash when receiving some special attack messages. #4334
  • Fixed the storage service crash when scanning properties concurrently. #4268
  • Fixed the storage service crash when the name length of the inserting edge that exceeded the limit. #4305
  • Fixed the crash when enabling the concurrent query mode. #4288
  • Fixed the storage service crash when querying for indexes with the NULL property. #4234
  • Fixed the crash when dropping full-text index. #4384
  • Fixed the crash when using flags put interface without the body. #4405
  • Fixed the storage crash when deleting vertex and edge specify vid more than our defined before in space.#4406
  • Fixed the bug that standalone daemon exited after a restart. #4269
  • Fixed the bug that the result of the Join dot format explanation was incorrect for GraphViz online tool, which caused by twice JSON conversions. #4280
  • Fixed the bug in property queries. The use of dots in schema is now disabled. #4194
  • Fixed the bug that the machine lost the key when restoring data. #4311
  • Fixed the bug that using the same statement to return same vertex different properties, and the results showed BAD TYPE. #4151
  • Fixed the error message in statement MATCH p=(:team)-->() RETURN p LIMIT 1 without indexes. #4053
  • Enhanced the error message for operators AND and OR. #4304
  • Fixed the bug that there were no stats under the condition of using indexes. #4353
  • Fixed the bug that the timezone of cluster is different. #4391

Download

Nebula Graph v3.1.0

24 Apr 09:53
33fd35e
Compare
Choose a tag to compare

enhancement

  • Patterns can now be used in WHERE statements. For example: MATCH (v:player) WHERE (v)-[:like]->() RETURN v. #3997
  • CLEAR SPACE can be used to clear graph space and index data, but the graph space schema and index names are reserved. #3989
  • The vertex alias can be repeated in match patterns, like MATCH (v)-->(v). #3929
  • Optimized SUBGRAPH and FIND PATH for better performance. #3871 #4095
  • Optimized query paths to reduce redundant paths and time complexity.4126
  • Optimized the method to get properties for better performance of MATCH statements. #3750
  • Optimized GO and YIELD clauses to avoid extracting redundant properties. #3974
  • Support for filter and limit pushdown when getting properties. #3844 #3839
  • maxHop is optional in MATCH variable-length paths.#3881
  • Graph spaces are physically deleted after using DROP SPACE. #3913
  • Optimized number parsing in date time, date, time. #3797
  • Added the toSet function which converts LIST or SET to SET. #3594
  • nGQL statements can be used to display the HTTP port of Nebula Graph services and the HTTP2 port has been disabled. #3808
  • The number of sessions for connections to each graphd with the same client IP and the same user is limited. #3729
  • Optimized the waiting mechanism to ensure a timely connection to the metad after the storaged starts. #3971
  • When a node has multiple paths and an error of the disk corresponding to a particular path occurs, it is no longer to rebuild the node. #4131
  • Optimized the job manager. #3976 #4045 #4001
  • The DOWNLOAD and INGEST SST files are now managed with the job manager. #3994
  • Support for error code display when a job fails. #4067
  • The OS page cache can be disabled and the block cache and Nebula Graph storage cache can only be used in a shared environment, to avoid memory usage interference between applications. #3890
  • Updated the default value of the KV separation threshold from 0 to 100. #3879
  • Support for using gflag to set the upper limit of expression depth for a better fit of different machine environments. #3722
  • Added a permission check for KILL QUERY. When the authorization is enabled, the GOD user can kill any query and the users with other roles can only kill queries that they own. #3896
  • Support for more complier launchers, including distcc and sccache. #3896
  • More dumping tables are supported with the meta dump tool. #3870
  • The storage layer controls the concurrency of write operations (INSERT VERTEX or EDGE) from reporting an error and requiring the client retry to using the internal queueing mechanism. #3926

Bugfix

  • Fixed the crash when using a function call as part of a filter in a LOOKUP statement. #4111
  • Fixed the crash when there were non-indexed properties in an IN clause. #3986
  • Fixed the storage service crash when concurrently scanning vertices and edges. #4190
  • Fixed the crash when performing aggregation queries with patterns in a MATCH statement. #4180
  • Fixed the crash when getting the JSON results of a profile query. #3998
  • Fixed the crash when the async interface in the Lambda function finished running and the task in threadManager was not executed. #4000
  • Fixed the GROUP BY output bug. #4128
  • Fixed the bug that the version wasn't displayed with SHOW HOSTS sometimes. #4116
  • Fixed the bug on parameters for id(n) == $var, id(n) IN [$var], id(n) == $var.foo.bar, and id(n) IN $var.foo.bar. #4024
  • Fixed the bug that an incorrect path direction occurred in MATCH...WHERE. #4091
  • Fixed the bug that the result of referencing multiple MATCH variables in a WHERE clause was incorrect. #4143
  • Fixed the optimizer bug. #4146
  • Fixed the bug that the storage service failed to handle Raft snapshots. #4019
  • Fixed the bug that the storage service would not accept more logs after receiving a snapshot. #3909
  • Fixed the bug that snapshots did not contain the vertices without tags. #4189
  • Fixed the latest schema version read failure when the schema version is greater than 255. #4023
  • Fixed the bug that SHOW STATS did not count the vertices that had no tags. #3967
  • Fixed the bug that the timestamp was fetched incorrectly sometimes. #3958
  • Fixed the bug that the root user could be granted with other roles in the graph space. #3868
  • Fixed the duplicate count of column indexes in the lexical parser bug. #3626

download

Nebula Graph v3.0.2

29 Mar 02:15
4805f8c
Compare
Choose a tag to compare

bugfix

  • Support running Nebula Graph with a docker image on the ARM architecture. #3939
  • Optimize the processing of using the version-matched client to connect to the server to avoid the connection failure problem. #4075

download