Skip to content

Commit

Permalink
release 3.1.3-ent (#1788)
Browse files Browse the repository at this point in the history
* release 3.1.3-ent

* update

* update
  • Loading branch information
cooper-lzy authored Nov 29, 2022
1 parent f869ad0 commit 13e4da6
Show file tree
Hide file tree
Showing 21 changed files with 690 additions and 175 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ name: Publish docs via GitHub Pages
on:
push:
branches:
- v3.1.0
- v3.1.3

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # fetch all commits/branches for gitversion
fetch-depth: 1 # fetch all commits/branches for gitversion

- name: Setup Python
uses: actions/setup-python@v1
Expand All @@ -24,12 +24,12 @@ jobs:
- name: Git Config
run: git config user.name whitewum && git config user.email [email protected]

- name: Mike Deploy 3.1.0
- name: Mike Deploy 3.1.3
run: |
# mike delete v3.1.0 -p
# mike delete v3.1.3 -p
git fetch origin gh-pages --depth=1 # fix mike's CI update
mike list
mike deploy 3.1.0 -p --rebase
mike deploy 3.1.3 -p --rebase
mike list
# - name: Deploy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ Graphs consist of vertices and edges. Nebula Graph uses key-value pairs to store

- The storage structure of vertices

Different from Nebula Graph version 2.x, version 3.x added a new key for each vertex. Compared to the old key that still exists, the new key has no `TagID` field and no value. Vertices in Nebula Graph can now live without tags owing to the new key.
Different from Nebula Graph version 2.x, version 3.x added a new key for each vertex. Compared to the old key that still exists, the new key has no `TagID` field and no value after enabling the configuration without tag. Vertices in Nebula Graph can now live without tags owing to the new key.

![The vertex structure of Nebula Graph](https://docs-cdn.nebula-graph.com.cn/figures/3.0-vertex-key.png)

Expand Down
4 changes: 2 additions & 2 deletions docs-2.0/20.appendix/0.FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ By nGQL, you CAN NOT directly getting all the vertices without specifying the ta

E.g., You CAN NOT run `MATCH (n) RETURN (n)`. An error like `Scan vertices or edges need to specify a limit number, or limit number can not push down.` will be returned.

You can use [Nebula Algorithm](../nebula-algorithm.md).
You can use [Nebula Algorithm](../graph-computing/nebula-algorithm.md).

Or get vertices by each tag, and then group them by yourself.

Expand All @@ -301,7 +301,7 @@ This is a very slow operation to get the out/in degree since no accelaration can

There is no such command.

You can use [Nebula Algorithm](../nebula-algorithm.md).
You can use [Nebula Algorithm](../graph-computing/nebula-algorithm.md).

## About operation and maintenance

Expand Down
4 changes: 2 additions & 2 deletions docs-2.0/20.appendix/6.eco-tool-version.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,15 +108,15 @@ Nebula Flink Connector is a connector that helps Flink users quickly access Nebu

## Nebula Algorithm

Nebula Algorithm (Algorithm for short) is a Spark application based on [GraphX](https://spark.apache.org/graphx/), which uses a complete algorithm tool to analyze data in the Nebula Graph database by submitting a Spark task To perform graph computing, use the algorithm under the lib repository through programming to perform graph computing for DataFrame. For details, see [What is Nebula Algorithm](../nebula-algorithm.md).
Nebula Algorithm (Algorithm for short) is a Spark application based on [GraphX](https://spark.apache.org/graphx/), which uses a complete algorithm tool to analyze data in the Nebula Graph database by submitting a Spark task To perform graph computing, use the algorithm under the lib repository through programming to perform graph computing for DataFrame. For details, see [What is Nebula Algorithm](../graph-computing/nebula-algorithm.md).

|Nebula Graph version|Algorithm version|
|:---|:---|
| {{ nebula.tag }} | {{algorithm.tag}}|

## Nebula Analytics

Nebula Analytics is an application that integrates the open-source Plato Graph Computing Framework, with which Nebula Analytics performs graph computations on Nebula Graph database data. For details, see [What is Nebula Analytics](../nebula-analytics.md).
Nebula Analytics is an application that integrates the open-source Plato Graph Computing Framework, with which Nebula Analytics performs graph computations on Nebula Graph database data. For details, see [What is Nebula Analytics](../graph-computing/nebula-analytics.md).

|Nebula Graph version|Analytics version|
|:---|:---|
Expand Down
2 changes: 1 addition & 1 deletion docs-2.0/20.appendix/learning-path.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ This topic is for anyone interested in learning more about Nebula Graph. You can
| ------------------------------------------------------------ |
| [Upgrade Nebula Graph to {{nebula.branch}}](../4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-latest.md) |

<!-- | [Upgrade Nebula Graph from v2.0.x to {{nebula.branch}}](../4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-200-to-latest.md) | -->
<!-- | [Upgrade Nebula Graph from v2.0.x to {{nebula.branch}}](../4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-300-to-latest.md) | -->

### 3.3 Configure Nebula Graph

Expand Down
96 changes: 47 additions & 49 deletions docs-2.0/20.appendix/release-note.md
Original file line number Diff line number Diff line change
@@ -1,57 +1,55 @@
# Nebula Graph {{ nebula.release }} release notes

## Enhancement

- Patterns can now be used in `WHERE` statements. For example: `MATCH (v:player) WHERE (v)-[:like]->() RETURN v`. [#3997](https://github.com/vesoft-inc/nebula/pull/3997)
- `CLEAR SPACE` can be used to clear graph space and index data, but the graph space schema and index names are reserved. [#3989](https://github.com/vesoft-inc/nebula/pull/3989)
- The vertex alias can be repeated in match patterns, like `MATCH (v)-->(v)`. [#3929](https://github.com/vesoft-inc/nebula/pull/3929)
- Optimized `SUBGRAPH` and `FIND PATH` for better performance. [#3871](https://github.com/vesoft-inc/nebula/pull/3871) [#4095](https://github.com/vesoft-inc/nebula/pull/4095)
- Optimized query paths to reduce redundant paths and time complexity.[4126](https://github.com/vesoft-inc/nebula/pull/4162)
- Optimized the method to get properties for better performance of `MATCH` statements. [#3750](https://github.com/vesoft-inc/nebula/pull/3750)
- Optimized `GO` and `YIELD` clauses to avoid extracting redundant properties. [#3974](https://github.com/vesoft-inc/nebula/pull/3974)
- Support for filter and limit pushdown when getting properties. [3844](https://github.com/vesoft-inc/nebula/pull/3844) [3839](https://github.com/vesoft-inc/nebula/pull/3839)
- `maxHop` is optional in MATCH variable-length paths.[#3881](https://github.com/vesoft-inc/nebula/pull/3881)
- Graph spaces are physically deleted after using `DROP SPACE`. [#3913](https://github.com/vesoft-inc/nebula/pull/3913)
- Optimized number parsing in date time, date, time. [#3797](https://github.com/vesoft-inc/nebula/pull/3797)
- Added the `toSet` function which converts `LIST` or `SET` to `SET`. [#3594](https://github.com/vesoft-inc/nebula/pull/3594)
- nGQL statements can be used to display the HTTP port of Nebula Graph services and the HTTP2 port has been disabled. [#3808](https://github.com/vesoft-inc/nebula/pull/3808)
- The number of sessions for connections to each graphd with the same client IP and the same user is limited. [#3729](https://github.com/vesoft-inc/nebula/pull/3729)
- Optimized the waiting mechanism to ensure a timely connection to the metad after the storaged starts. [#3971](https://github.com/vesoft-inc/nebula/pull/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](https://github.com/vesoft-inc/nebula/pull/4131)
- Optimized the job manager. [#3976](https://github.com/vesoft-inc/nebula/pull/3976) [#4045](https://github.com/vesoft-inc/nebula/pull/4045) [#4001](https://github.com/vesoft-inc/nebula/pull/4001)
- The `DOWNLOAD` and `INGEST` SST files are now managed with the job manager. [#3994](https://github.com/vesoft-inc/nebula/pull/3994)
- Support for error code display when a job fails. [#4067](https://github.com/vesoft-inc/nebula/pull/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](https://github.com/vesoft-inc/nebula/pull/3890)
- Updated the default value of the KV separation threshold from 0 to 100. [#3879](https://github.com/vesoft-inc/nebula/pull/3879)
- Support for using gflag to set the upper limit of expression depth for a better fit of different machine environments. [#3722](https://github.com/vesoft-inc/nebula/pull/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](https://github.com/vesoft-inc/nebula/pull/3896)
- Support for more complier launchers, including distcc and sccache. [#3896](https://github.com/vesoft-inc/nebula/pull/3896)
- More dumping tables are supported with the meta dump tool. [#3870](https://github.com/vesoft-inc/nebula/pull/3870)
- The storage layer controls the concurrency of write operations (INSERT VERTEX or EDGE) from reporting an error and requiring a client retry to using the internal queueing mechanism. [#3926](https://github.com/vesoft-inc/nebula/pull/3926)
## Changes

## Bugfix
- Vertex without tag is 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, and add --use_vertex_key=true to the configuration files (nebula-storaged.conf) of all Storage services in the cluster.

## Enhancement

- Support to show the status of [synchronize between two clusters]((../synchronization-and-migration/replication-between-clusters.md)).

- Enhanced memory usage of `AtomicLogBuffer` to avoid OOM problems when rebuilding indexes and data synchronization.

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

- Adjust the level of the heartbeat log.

## Bugfix

- Fixed the crash of web service when receiving some special attack messages.
- Fixed the crash on dropping the full-text index.
- Fixed the crash of map concurrency.
- Fixed the crash of raft in certain cases.
- Fixed the storage service crash when the length of the VID in a vertex or edge deletion statement exceeds the defined length on an indexed base.
- Fixed the crash caused by a wrong expression syntax.
- Fixed the crash of `LOOKUP`.
- Fixed the crash of complex `MATCH`.
- Fixed the crash in the optimization phase of multiple `MATCH`.
- Fixed the crash of variable types collected.
- Fixed the crash caused by an illegal expression.
- Fixed the bug that storage would hang when there is only the space path but no part path.
- Fixed the deadlock of leader balance job executor.
- Fixed the infinite loop when building a balance plan.
- Fixed the bug of rebuilding full-text index failure.
- Fixed the bug of using logrotate.
- Fixed the bug that the machine key is lost when restoring.
- Fixed the bug that the host can't stop when canceling the future of the snapshot.
- Fixed the bug of cache size overflow and deadlock.
- Fixed the bug of missing the `RETURN` clause in MetaDaemon.
- Fixed the split brain in the raft.
- Fixed the bug that the meta listener validated the license.
- Fixed the bug that the meta listener didn't clean data.
- Fixed the bug of the drainer syncing dirty data.
- Fixed the bug that the drainer daemon can't exit normally.
- Fixed the bug to keep the audit log async available.
- Fixed the concurrent exception of multiple `MATCH`.
- Fixed the bug that the rebuild tag index task could not be re-executed properly.
- Fixed the bug that the rebuild tag index job always failed after stopping a running job.
- Fixed the bug that the ElasticSearch writing error caused by truncation of UTF8 characters.
- Fixed the bug to remove the truncated text before writing into ElasticSearch.
- Fixed the bug when using ElasticSearch for audit logs, the audit logs of DML and DQL types are not recorded.
- Fixed the bug where the service could not be started if the log directory did not exist when `ENABLE_BREAKPAD` was enabled.
- Fixed the bug that If there is a GOD whose name is not root, the root user will be created when meta init.

## Legacy versions

Expand Down
6 changes: 5 additions & 1 deletion docs-2.0/3.ngql-guide/10.tag-statements/2.drop-tag.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,16 @@

A vertex can have one or more tags.

- If a vertex has only one tag, the vertex will become a vertex without tag.
- If a vertex has only one tag, the vertex **CANNOT** be accessed after you drop it. The vertex will be dropped in the next compaction. But its edges are available, this operation will result in dangling edges.

- If a vertex has multiple tags, the vertex is still accessible after you drop one of them. But all the properties defined by this dropped tag **CANNOT** be accessed.

This operation only deletes the Schema data. All the files or directories in the disk will not be deleted directly until the next compaction.

!!! Compatibility

In NebulaGraph {{nebula.release}}, inserting vertex without tag is 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, and add `--use_vertex_key=true` to the configuration files (`nebula-storaged.conf`) of all Storage services in the cluster.

## Prerequisites

- Running the `DROP TAG` statement requires some [privileges](../../7.data-security/1.authentication/3.role-list.md) for the graph space. Otherwise, Nebula Graph throws an error.
Expand Down
13 changes: 5 additions & 8 deletions docs-2.0/3.ngql-guide/12.vertex-statements/1.insert-vertex.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,14 @@ prop_value_list:

!!! Note

- `IF NOT EXISTS` only compares the names of the VID and the tag (excluding properties).
- `IF NOT EXISTS` will read to check whether the data exists, which will have a significant impact on performance.
- `IF NOT EXISTS` only compares the names of the VID and the tag (excluding properties).
- `IF NOT EXISTS` will read to check whether the data exists, which will have a significant impact on performance.

* `tag_name` denotes the tag (vertex type), which must be created before `INSERT VERTEX`. For more information, see [CREATE TAG](../10.tag-statements/1.create-tag.md).
- `tag_name` denotes the tag (vertex type), which must be created before `INSERT VERTEX`. For more information, see [CREATE TAG](../10.tag-statements/1.create-tag.md).

!!! caution
!!! Compatibility

Nebula Graph {{ nebula.release }} supports inserting vertices without tags.
In NebulaGraph {{nebula.release}}, inserting vertex without tag is 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. An example of a command to insert a vertex without tag is `INSERT VERTEX VALUES "1":();`.

* `prop_name_list` contains the names of the properties on the tag.

Expand All @@ -76,9 +76,6 @@ Examples are as follows.
## Examples

```ngql
# Insert a vertex without tag.
nebula> INSERT VERTEX VALUES "1":();
# The following examples create tag t1 with no property and inserts vertex "10" with no property.
nebula> CREATE TAG IF NOT EXISTS t1();
nebula> INSERT VERTEX t1() VALUES "10":();
Expand Down
4 changes: 2 additions & 2 deletions docs-2.0/3.ngql-guide/6.functions-and-expressions/4.schema.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ Nebula Graph supports the following schema functions.
|string type(<edge\>) | Returns the edge type of an edge.|
|src(<edge\>)|Returns the source vertex ID of an edge. The data type of the result is the same as the vertex ID.|
|dst(<edge\>)|Returns the destination vertex ID of an edge. The data type of the result is the same as the vertex ID.|
|vertex startNode(<path\>) | Visits a path and returns its source vertex ID.|
|string endNode(<path\>) | Visits a path and returns its destination vertex ID.|
|string startNode(<path\>) | Visits a path and returns its information of source vertex ID, including VIDs, tags, properties, and values.|
|string endNode(<path\>) | Visits a path and returns its information of destination vertex ID, including VIDs, tags, properties, and values.|
|int rank(<edge\>) | Returns the rank value of an edge.|

## Examples
Expand Down
Loading

0 comments on commit 13e4da6

Please sign in to comment.