Skip to content

Commit

Permalink
Merge branch 'master' into update-dashboard-deployment-1
Browse files Browse the repository at this point in the history
  • Loading branch information
cooper-lzy authored Feb 3, 2023
2 parents d248c37 + fa48b82 commit 338b0ff
Show file tree
Hide file tree
Showing 44 changed files with 520 additions and 212 deletions.
38 changes: 38 additions & 0 deletions .github/workflows/auto_cherry_pick.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Auto Cherry Pick
on:
workflow_dispatch:
inputs:
branch_from:
description: "which branch you want to cherry pick, eg: v3.1.0"
required: true

defaults:
run:
shell: bash

jobs:
auto-cherry-pick:
#if: ${{ startsWith(github.event.pull_request.labels.*.name, 'cherry-pick-') && github.event.pull_request.merged == true }}
runs-on: [self-hosted, nebula-fast]
container:
image: reg.vesoft-inc.com/dashboard/dashboard-dev:centos7
credentials:
username: ${{ secrets.HARBOR_USERNAME }}
password: ${{ secrets.HARBOR_PASSWORD }}
steps:
- name: keep workspace empty
run: |
rm -rf *
- name: git config set
env:
GH_BOT_PAT: ${{ secrets.GITHUB_TOKEN }}
run: |
git config --global url."https://${GH_BOT_PAT}:[email protected]/".insteadOf "https://github.com/"
export GOPRIVATE="github.com/vesoft-inc"
- name: auto cherry pick
uses: xigongdaEricyang/cherry-pick-robot@for-doc
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
from_branch: ${{ github.event.inputs.branch_from }}
#pr_num: ${{ github.event.pull_request.number }}
auto_merge: false
Original file line number Diff line number Diff line change
Expand Up @@ -247,10 +247,17 @@ When a transfer leadership command is committed, the leader will abandon its lea

To avoid split-brain, when members in a Raft Group change, an intermediate state is required. In such a state, the quorum of the old group and new group always have an overlap. Thus it prevents the old or new group from making decisions unilaterally. To make it even simpler, in his doctoral thesis Diego Ongaro suggests adding or removing a peer once to ensure the overlap between the quorum of the new group and the old group. NebulaGraph also uses this approach, except that the way to add or remove a member is different. For details, please refer to addPeer/removePeer in the Raft Part class.

<!-- open after fully tested
{{ent.ent_begin}}
## Cache
The cache management of RocksDB can not cache vertices or edges on demand. NebulaGraph implements its own cache management for Storage, allowing you to set the storage cache size, content, etc. For more information, see [Storage cache configurations](../../5.configurations-and-logs/1.configurations/4.storage-config.md).
You can query the cache stats through the cURL command `curl "http://[storaged IP]:[http port]/cache?stats"`.
{{ent.ent_end}} -->

## Differences with HDFS

The Storage Service is a Raft-based distributed architecture, which has certain differences with that of HDFS. For example:
Expand Down
14 changes: 7 additions & 7 deletions docs-2.0/2.quick-start/3.1add-storage-hosts.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,13 @@ You have [connected to NebulaGraph](3.connect-to-nebula-graph.md).

```ngql
nebula> SHOW HOSTS;
+------------------+------+-----------+----------+--------------+---------------------- +------------------------+---------+
| Host | Port | HTTP port | Status | Leader count | Leader distribution | Partition distribution | Version |
+------------------+------+-----------+----------+--------------+---------------------- +------------------------+---------+
| "192.168.10.100" | 9779 | 19779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "3.1.0" |
| "192.168.10.101" | 9779 | 19779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "3.1.0" |
| "192.168.10.102" | 9779 | 19779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "3.1.0" |
+------------------+------+-----------+----------+--------------+---------------------- +------------------------+---------+
+------------------+------+----------+--------------+---------------------- +------------------------+---------+
| Host | Port | Status | Leader count | Leader distribution | Partition distribution | Version |
+------------------+------+----------+--------------+---------------------- +------------------------+---------+
| "192.168.10.100" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "{{nebula.release}}" |
| "192.168.10.101" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "{{nebula.release}}"|
| "192.168.10.102" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "{{nebula.release}}"|
+------------------+------+----------+--------------+---------------------- +------------------------+---------+
```

The `Status` column of the result above shows that all Storage hosts are online.
12 changes: 6 additions & 6 deletions docs-2.0/2.quick-start/4.nebula-graph-crud.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,12 +93,12 @@ In this topic, we will use the following dataset to demonstrate basic CRUD opera
```ngql
nebula> SHOW HOSTS;
+-------------+-----------+-----------+-----------+--------------+----------------------------------+------------------------+---------+
| Host | Port | HTTP port | Status | Leader count | Leader distribution | Partition distribution | Version |
+-------------+-----------+-----------+-----------+--------------+----------------------------------+------------------------+---------+
| "storaged0" | 9779 | 19669 | "ONLINE" | 5 | "basketballplayer:5" | "basketballplayer:5" | "3.1.0" |
| "storaged1" | 9779 | 19669 | "ONLINE" | 5 | "basketballplayer:5" | "basketballplayer:5" | "3.1.0" |
| "storaged2" | 9779 | 19669 | "ONLINE" | 5 | "basketballplayer:5" | "basketballplayer:5" | "3.1.0" |
+-------------+-----------+-----------+--------------+----------------------------------+------------------------+---------+
| Host | Port | Status | Leader count | Leader distribution | Partition distribution | Version |
+-------------+-----------+-----------+--------------+----------------------------------+------------------------+---------+
| "storaged0" | 9779 | "ONLINE" | 5 | "basketballplayer:5" | "basketballplayer:5" | "{{nebula.release}}"|
| "storaged1" | 9779 | "ONLINE" | 5 | "basketballplayer:5" | "basketballplayer:5" | "{{nebula.release}}"|
| "storaged2" | 9779 | "ONLINE" | 5 | "basketballplayer:5" | "basketballplayer:5" | "{{nebula.release}}"|
+-------------+-----------+-----------+-----------+--------------+----------------------------------+------------------------+---------+
```
Expand Down
2 changes: 1 addition & 1 deletion docs-2.0/2.quick-start/6.cheatsheet-for-ngql.md
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,7 @@

| Pattern | Example | Description |
| --------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
|Matches patterns against your graph database, just like `MATCH` does. | `MATCH (m)-[]->(n) WHERE id(m)=="player100" OPTIONAL MATCH (n)-[]->(l) WHERE id(n)=="player125" RETURN id(m),id(n),id(l)` | If no matches are found, `OPTIONAL MATCH` will use a null for missing parts of the pattern.|
|Matches patterns against your graph database, just like `MATCH` does. | `MATCH (m)-[]->(n) WHERE id(m)=="player100" OPTIONAL MATCH (n)-[]->(l) RETURN id(m),id(n),id(l)` | If no matches are found, `OPTIONAL MATCH` will use a null for missing parts of the pattern.|

* [LOOKUP](../3.ngql-guide/7.general-query-statements/5.lookup.md)

Expand Down
69 changes: 39 additions & 30 deletions docs-2.0/20.appendix/release-notes/explorer-release-note.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,47 @@
# NebulaGraph Explorer release notes

## v3.2.1

- Bugfix
- Fixed the bug that the connection timeout and HTTP error `500` when connecting to a non-existent address.
- Fixed the bug that the vertex properties could not be displayed on the canvas when randomly importing vertices.

## v3.2.0
## v3.4.0

- Feature
- Support [edge aggregation](../..//nebula-explorer/canvas-operations/visualization-mode.md). The edges with the same starting vertex, end vertex and edge type on the canvas are aggregated, making it clear which vertices have a lot of relationships. It also supports the computation of properties of aggregated edges.
- Support [schema drafting](../../nebula-explorer/db-management/draft.md). The Schema is designed directly by dragging and dropping on the canvas. The vertex and edge relationship is more intuitive and supports applying the schema to a graph space with one click.
- Support [iFrame](../../nebula-explorer/iframe.md). You can embedding canvas into third-party pages by using inline frameworks.
- Support [custom icon library and edge style](../../nebula-explorer/canvas-operations/canvas-overview.md). Explorer has ten built-in icons for industry categories and supports uploading pictures as an icon.
- Support [nGQL template](../../nebula-explorer/db-management/ngql-template.md). Design the query statement template directly or make nGQL statement as a template in the console, and then directly call the template and fill in the parameters to query.
- Support [database user management](../../nebula-explorer/db-management/dbuser_management.md). Manage database users visually, including creating and authorizing users.
- Workflow added [node2vec algorithm](../../graph-computing/algorithm-description.md).
- (Beta) Support [OAuth 2.0 authentication](../../nebula-explorer/deploy-connect/ex-ug-connect.md). Users can log in to Explorer only after being authenticated by OAuth2.0 to ensure data security.

- Support viewing the [creation statements](../../nebula-explorer/db-management/10.create-schema.md) of the schema.
- Add a **Beta functions** switch button on the global settings page.
- Add a product feedback page.

- Enhancement
- The [Dag Controller](../../nebula-explorer/deploy-connect/ex-ug-deploy.md) is built into the installation package.
- The welcome page provides some demo datasets.
- Increases the drag effect of the vertex.
- The console supports adding comments with `//`.
- The favorites folder contents can be saved on the server.
- Support searching graph space names in the graph space list.
- The workflow prompts you to enter a missing parameter manually.
- The help page provides introductory videos.
- Workflow supports the configuration of resources on the page.
- Added a white screen page for the crash.
- Optimize page loading speed.

- Remove the timeout limit for slow queries.
- Keep history on the console page after switching pages.
- Support adding comments with `#` on the console page.
- Support adding comments with `#` or `//` when creating nGQL templates.
- Update the global settings page.
- Support the visual modification of the IP whitelist.
- Show VID on canvas by default.
- Display browser compatibility hints.
- Show the kernel version in the connection information.
- Add indexes to the built-in dataset.
- Optimize the login page.
- Optimize Workflow:
- Add algorithm descriptions.
- Optimize the parameter configurations of the graph algorithm.
- Optimize the presentation of the result.
- Optimize interactions:
- Vertex filter
- Query by tag
- Search path
- Optimize presentations:
- Optimize the presentation of schema statistics.
- Optimize the layout of force.
- Optimize the layout of the visual query results after importing them to the canvas.
- Optimize the presentation of vertices on dangling edges.
- Optimize the console page.
- Optimize hints:
- Optimize guidances.
- Optimize error messages.

- Bugfix
- Fixed the bug that the right-click menu would not collapse automatically.
- Fixed the bug that the canvas auto-scaling when adding filter criteria.
- Fixed the bug that the canvas shook when switching to 3D mode with a large amount of data.
- Fixed the bug that importing Int8/16/32 and fixed_string data failed.

- Fix the bug that can not be able to view the import task log.
- Fix the bug that some data of the edges in the `demo_basketballplayer` dataset is missing.
- Fix the crash of the page.
- Fix the bug that the results of the graph algorithm in the workflow can not show the details of vertices after importing them to canvas.
21 changes: 13 additions & 8 deletions docs-2.0/20.appendix/release-notes/studio-release-note.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,21 @@
# NebulaGraph Studio release notes

## v3.5.0
## v3.6.0

- Feature
- Support [schema drafting](../../nebula-studio/quick-start/draft.md). The Schema is designed directly by dragging and dropping on the canvas. The vertex and edge relationship is more intuitive and supports applying the schema to a graph space with one click.
- Support viewing the [creation statements](../../nebula-studio/manage-schema/st-ug-view-schema.md) of the schema.
- Add product feedback page.

- Enhancement
- The welcome page provides some demo datasets.
- The console supports adding comments with `//`.
- The favorites folder contents can be saved on the server.
- Support searching graph space names in the graph space list.
- Added a white screen page for the crash.
- Remove the timeout limit for slow queries.
- Browser compatibility hint.
- Optimize the login page.
- Support adding comments with `#` on the console page.
- Optimize the console page.

- Bugfix
- Fixed the bug that importing Int8/16/32 and fixed_string data failed.

- Fix the bug that the list has not been refreshed after uploading files.
- Fix the invalid error message of the schema drafting.
- Fix the bug that the **view schema** data has not been cleared after switching the login user.
- Fix the presentation problem of the thumbnail in the schema drafting.
8 changes: 5 additions & 3 deletions docs-2.0/3.ngql-guide/1.nGQL-overview/3.graph-patterns.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,16 +58,18 @@ Patterns can also describe a vertex that has multiple tags. For example:

Vertices and edges are the fundamental elements in a graph. In nGQL, properties are added to them for richer models.

In the patterns, the properties can be expressed as follows: some key-value pairs are enclosed in curly brackets and separated by commas. For example, a vertex with two properties will be like:
In the patterns, the properties can be expressed as follows: some key-value pairs are enclosed in curly brackets and separated by commas, and the tag or edge type to which a property belongs must be specified.

For example, a vertex with two properties will be like:

```ngql
(a {name: 'Andres', sport: 'Brazilian Ju-Jitsu'})
(a:player{name: "Tim Duncan", age: 42})
```

One of the edges that connect to this vertex can be like:

```ngql
(a)-[{blocked: false}]->(b)
(a)-[e:follow{degree: 95}]->(b)
```

## Patterns for edges
Expand Down
2 changes: 1 addition & 1 deletion docs-2.0/3.ngql-guide/1.nGQL-overview/ngql-style-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ The strings should be surrounded by double quotes.
Not recommended:

```ngql
FETCH PROP ON player "player100" YIELD properties(vertex);
FETCH PROP ON player "player100" YIELD properties(vertex)
```

Recommended:
Expand Down
2 changes: 1 addition & 1 deletion docs-2.0/3.ngql-guide/10.tag-statements/1.create-tag.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ CREATE TAG [IF NOT EXISTS] <tag_name>
|`<tag_name>`|1. The tag name must be **unique** in a graph space.<br> 2. Once the tag name is set, it can not be altered.<br> 3. The name of the tag starts with a letter, supports 1 to 4 bytes UTF-8 encoded characters, such as English letters (case-sensitive), digits, and Chinese characters, but does not support special characters except underscores. To use special characters (the period character (.) is excluded) or reserved keywords as identifiers, quote them with backticks. For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).|
|`<prop_name>`|The name of the property. It must be unique for each tag. The rules for permitted property names are the same as those for tag names.|
|`<data_type>`|Shows the data type of each property. For a full description of the property data types, see [Data types](../3.data-types/1.numeric.md) and [Boolean](../3.data-types/2.boolean.md).|
|`NULL \| NOT NULL`|Specifies if the property supports `NULL | NOT NULL`. The default value is `NULL`.|
|`NULL \| NOT NULL`|Specifies if the property supports `NULL | NOT NULL`. The default value is `NULL`. `DEFAULT` must be specified if `NOT NULL` is set.|
|`DEFAULT`|Specifies a default value for a property. The default value can be a literal value or an expression supported by NebulaGraph. If no value is specified, the default value is used when inserting a new vertex.|
|`COMMENT`|The remarks of a certain property or the tag itself. The maximum length is 256 bytes. By default, there will be no comments on a tag.|
|`TTL_DURATION`|Specifies the life cycle for the property. The property that exceeds the specified TTL expires. The expiration threshold is the `TTL_COL` value plus the `TTL_DURATION`. The default value of `TTL_DURATION` is `0`. It means the data never expires.|
Expand Down
6 changes: 5 additions & 1 deletion docs-2.0/3.ngql-guide/10.tag-statements/3.alter-tag.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@

`ALTER TAG` alters the structure of a tag with the given name in a graph space. You can add or drop properties, and change the data type of an existing property. You can also set a [TTL](../8.clauses-and-options/ttl-options.md) (Time-To-Live) on a property, or change its TTL duration.

## Prerequisites
## Notes

- Running the `ALTER TAG` statement requires some [privileges](../../7.data-security/1.authentication/3.role-list.md) for the graph space. Otherwise, NebulaGraph throws an error.

- Before you alter properties for a tag, make sure that the properties are not indexed. If the properties contain any indexes, the conflict error `[ERROR (-1005)]: Conflict!` will occur when you `ALTER TAG`. For more information on dropping an index, see [DROP INDEX](../14.native-index-statements/6.drop-native-index.md).

- The property name must be unique in a tag. If you add a property with the same name as an existing property or a dropped property, the operation fails.

## Syntax

```ngql
Expand All @@ -29,6 +31,8 @@ ttl_definition:

- Multiple `ADD`, `DROP`, and `CHANGE` clauses are permitted in a single `ALTER TAG` statement, separated by commas.

- When a property value is set to `NOT NULL` using `ADD` or `CHANGE`, a default value must be specified for the property, that is, the value of `DEFAULT` must be specified.

## Examples

```ngql
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ CREATE EDGE [IF NOT EXISTS] <edge_type_name>
|`<edge_type_name>`|The edge type name must be **unique** in a graph space. Once the edge type name is set, it can not be altered. The name of the edge type starts with a letter, supports 1 to 4 bytes UTF-8 encoded characters, such as English letters (case-sensitive), digits, and Chinese characters, but does not support special characters except underscores. To use special characters or reserved keywords as identifiers, quote them with backticks. For more information, see [Keywords and reserved words](../../3.ngql-guide/1.nGQL-overview/keywords-and-reserved-words.md).|
|`<prop_name>`|The name of the property. It must be unique for each edge type. The rules for permitted property names are the same as those for edge type names.|
|`<data_type>`|Shows the data type of each property. For a full description of the property data types, see [Data types](../3.data-types/1.numeric.md) and [Boolean](../3.data-types/2.boolean.md).|
|`NULL \| NOT NULL`|Specifies if the property supports `NULL | NOT NULL`. The default value is `NULL`.|
|`NULL \| NOT NULL`|Specifies if the property supports `NULL | NOT NULL`. The default value is `NULL`. `DEFAULT` must be specified if `NOT NULL` is set.|
|`DEFAULT`|Specifies a default value for a property. The default value can be a literal value or an expression supported by NebulaGraph. If no value is specified, the default value is used when inserting a new edge.|
|`COMMENT`|The remarks of a certain property or the edge type itself. The maximum length is 256 bytes. By default, there will be no comments on an edge type.|
|`TTL_DURATION`|Specifies the life cycle for the property. The property that exceeds the specified TTL expires. The expiration threshold is the `TTL_COL` value plus the `TTL_DURATION`. The default value of `TTL_DURATION` is `0`. It means the data never expires.|
Expand Down
Loading

0 comments on commit 338b0ff

Please sign in to comment.