Releases: vesoft-inc/nebula
NebulaGraph v3.8.0
NebulaGraph v3.8.0 release notes
-
Features:
-
Enhancements:
-
Performance:
-
Usability:
- Optimized the process of graph space deletion to reduce blocking time. #5754
-
Stability:
-
-
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:
-
NebulaGraph v3.6.0
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 theall()
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
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
toYIELD 1– -1
. #5290
Download
NebulaGraph v3.4.1
NebulaGraph v3.4.0
Feature
Enhancement
-
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 -
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
-
Fix the bug about query plan generation and optimization. #4863 #4813
-
Fix the bugs related to indexes:
-
Fix the bugs related to query statements:
-
Fix the bugs related to DDL and DML statements:
-
Fix the bugs related to other functions:
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 oftrue
. #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 totrue
. #5119 - Consistent use of
v.tag.property
to get property values, because it is necessary to specify the Tag. Usingv.property
to access the property of a Tag onv
was incorrectly allowed in the previous version. #5230 - Remove the column
HTTP port
from the commandSHOW 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
Enhancement
-
Optimized the performance of k-hop. #4560 #4736 #4566 #4582 #4558 #4556 #4555 #4516 #4531 #4522 #4754 #4762
-
Supported using
GET SUBGRAPH
to filter vertices. #4357 -
Supported using
GetNeighbors
to filter vertices. #4671 -
Optimized the loop handling of
FIND SHORTEST PATH
. #4672 -
Supported the conversion between timestamp and date time. #4626
-
Supported the reference of local variable in pattern expressions. #4498
-
Optimized the job manager. #4446 #4442 #4444 #4460 #4500 #4633 #4654 #4663 #4722 #4742
-
Added flags of experimental features,
enable_toss
forTOSS
andenable_data_balance
forBALANCE DATA
. #4728 -
Stats log print to console when the process is started. #4550
-
Supported the
JSON_EXTRACT
function. #4743
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 theWHERE
clause of theOPTIONAL MATCH
statement references variables defined by otherMATCH
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 theLOOKUP
statement. #4651 -
Fixed the bug that
ColumnExpression
encode and decode are not matched. #4413 -
Fixed the bug that
id($$)
filter was incorrect in theGO
statement. #4768 -
Fixed the bug that full scan of
MATCH
statement when there is a relationalIn
predicate. #4748 -
Fixed the optimizer error of
MATCH
statement.#4771 -
Fixed wrong output when using
pattern
expression as the filter inMATCH
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
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
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
andOR
. #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
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
andFIND 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
andYIELD
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 convertsLIST
orSET
toSET
. #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
andINGEST
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
orEDGE
) 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 inthreadManager
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
, andid(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 aWHERE
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