From 5d3903f70d3e88978f726f113c5c852974c9ae5d Mon Sep 17 00:00:00 2001 From: Reneta Popova Date: Tue, 23 Jul 2024 12:17:49 +0100 Subject: [PATCH] 5.x merge dev (#1740) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: dependabot[bot] Co-authored-by: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Co-authored-by: Nick Giles <100630647+nick-giles-neo@users.noreply.github.com> Co-authored-by: Lidia Zuin <102308961+lidiazuin@users.noreply.github.com> Co-authored-by: Michael Blum Co-authored-by: Valdemar Roxling Co-authored-by: David Pond Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Neil Dewhurst Co-authored-by: Matthew Parnell Co-authored-by: Jessica Wright <49636617+AlexicaWright@users.noreply.github.com> Co-authored-by: Matthew Parnell Co-authored-by: Bruno Caricchio Buss Co-authored-by: Mark Dixon <1756429+mnd999@users.noreply.github.com> Co-authored-by: Phil Wright <95368282+phil198@users.noreply.github.com> Co-authored-by: Balazs Lendvai <56266523+gfx54b@users.noreply.github.com> Co-authored-by: Stefano Ottolenghi Co-authored-by: Christophe Willemsen Co-authored-by: Fi Quick <47183728+fiquick@users.noreply.github.com> Co-authored-by: Jenny Owen Co-authored-by: Love Kristofer Leifland Co-authored-by: Florent Biville <445792+fbiville@users.noreply.github.com> Co-authored-by: Hannes Sandberg Co-authored-by: Therese Magnusson Co-authored-by: Richard Sill <156673635+rsill-neo4j@users.noreply.github.com> Co-authored-by: Therese Magnusson Co-authored-by: davidlrosenblum Co-authored-by: Jack Waudby <33488812+jackwaudby@users.noreply.github.com> Co-authored-by: gjmwoods <42248895+gjmwoods@users.noreply.github.com> Co-authored-by: Satia Herfert Co-authored-by: Alexander Bouriakov Co-authored-by: Jack Waudby Co-authored-by: Arne Fischereit <79841228+arnefischereit@users.noreply.github.com> Co-authored-by: Bastien Louërat Co-authored-by: Aleksey Karasavov Co-authored-by: Lasse Heemann Co-authored-by: Nathan Smith --- .github/CODEOWNERS | 1 + .github/dependabot.yml | 16 +++++ .github/workflows/docs-branch-checks.yml | 2 +- .github/workflows/docs-deploy-surge.yml | 11 ++- .github/workflows/docs-pr-checks.yml | 2 +- .github/workflows/docs-teardown.yml | 3 +- antora.yml | 8 +-- .../pages/backup-restore/copy-database.adoc | 7 +- .../pages/backup-restore/online-backup.adoc | 1 - .../pages/clustering/disaster-recovery.adoc | 2 +- modules/ROOT/pages/clustering/index.adoc | 4 +- .../configuration/configuration-settings.adoc | 70 +++++++++++++++++-- .../manage-aliases-composite-databases.adoc | 2 +- .../standard-databases/create-databases.adoc | 9 +-- .../database-internals/store-formats.adoc | 30 ++++---- .../pages/monitoring/metrics/reference.adoc | 18 ++++- modules/ROOT/pages/reference/procedures.adoc | 43 +++++++++++- modules/ROOT/pages/tools/cypher-shell.adoc | 5 ++ modules/ROOT/pages/tools/index.adoc | 3 +- .../ROOT/pages/tools/neo4j-admin/index.adoc | 2 +- .../tools/neo4j-admin/migrate-database.adoc | 2 +- .../tools/neo4j-admin/neo4j-admin-import.adoc | 2 - .../tools/neo4j-admin/neo4j-admin-report.adoc | 3 +- package.json | 17 +++-- 24 files changed, 204 insertions(+), 59 deletions(-) create mode 100644 .github/CODEOWNERS create mode 100644 .github/dependabot.yml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 000000000..4aa6ecc05 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +./.github/ @recrwplay diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 000000000..1e63f2a92 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,16 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "npm" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" + groups: + prod-dependencies: + dependency-type: "production" + dev-dependencies: + dependency-type: "development" diff --git a/.github/workflows/docs-branch-checks.yml b/.github/workflows/docs-branch-checks.yml index 0e6d3d93a..be7e80b30 100644 --- a/.github/workflows/docs-branch-checks.yml +++ b/.github/workflows/docs-branch-checks.yml @@ -50,4 +50,4 @@ jobs: if: ${{ inputs.lint || github.event_name == 'push' }} name: Lint docs uses: neo4j/docs-tools/.github/workflows/reusable-docs-lint.yml@v1.0.3 - \ No newline at end of file + diff --git a/.github/workflows/docs-deploy-surge.yml b/.github/workflows/docs-deploy-surge.yml index e468db4af..9d8ec7e52 100644 --- a/.github/workflows/docs-deploy-surge.yml +++ b/.github/workflows/docs-deploy-surge.yml @@ -34,7 +34,7 @@ jobs: var artifacts = await github.rest.actions.listWorkflowRunArtifacts({ owner: context.repo.owner, repo: context.repo.repo, - run_id: ${{ github.event.workflow_run.id }}, + run_id: ${{ env.RUN_ID }}, }); var matchArtifactDocs = artifacts.data.artifacts.filter((artifact) => { @@ -71,13 +71,13 @@ jobs: - id: unzip-changelog if: ${{ hashFiles('changelog.zip') != '' }} run: unzip changelog.zip - + - id: get-deploy-id run: | deployid=$(> "$GITHUB_OUTPUT" - + - id: get-deploy-url env: ORG: ${{ github.event.repository.owner.login }} @@ -86,11 +86,11 @@ jobs: run: | deployurl=$ORG-$REPO-$DEPLOYID.surge.sh echo "deploy-url=$deployurl" >> $GITHUB_OUTPUT - + - uses: actions/setup-node@v4 with: node-version: lts/* - + - name: Deploy docs to surge shell: bash env: @@ -124,6 +124,5 @@ jobs: header: docs-pr-changes message: | Looks like you've updated the documentation! - Check out your changes at https://${{ env.DEPLOY_URL }} GITHUB_TOKEN: ${{ secrets.DOCS_PR_COMMENT_TOKEN }} diff --git a/.github/workflows/docs-pr-checks.yml b/.github/workflows/docs-pr-checks.yml index 5e1e8a4d8..2e5fbef88 100644 --- a/.github/workflows/docs-pr-checks.yml +++ b/.github/workflows/docs-pr-checks.yml @@ -58,4 +58,4 @@ jobs: uses: neo4j/docs-tools/.github/workflows/reusable-docs-pr-changes.yml@v1.1.2 with: pages-modified: ${{ needs.docs-changes-pr.outputs.pages-modified }} - pages-added: ${{ needs.docs-changes-pr.outputs.pages-added }} \ No newline at end of file + pages-added: ${{ needs.docs-changes-pr.outputs.pages-added }} diff --git a/.github/workflows/docs-teardown.yml b/.github/workflows/docs-teardown.yml index 6803b3c8f..794fe2448 100644 --- a/.github/workflows/docs-teardown.yml +++ b/.github/workflows/docs-teardown.yml @@ -23,7 +23,6 @@ jobs: run: | deployurl=$ORG-$REPO-$DEPLOYID.surge.sh echo "deploy-url=$deployurl" >> $GITHUB_OUTPUT - - name: Teardown documentation shell: bash env: @@ -43,4 +42,4 @@ jobs: The preview documentation has now been torn down - reopening this PR will republish it. GITHUB_TOKEN: ${{ secrets.DOCS_PR_COMMENT_TOKEN }} - + diff --git a/antora.yml b/antora.yml index a1ea6dbc0..db682cb85 100644 --- a/antora.yml +++ b/antora.yml @@ -7,7 +7,7 @@ nav: asciidoc: attributes: neo4j-version: '5' - neo4j-version-minor: '5.21' - neo4j-version-exact: '5.21.0' - neo4j-buildnumber: '5.21' - neo4j-debian-package-version: '1:5.21.0@' + neo4j-version-minor: '5.22' + neo4j-version-exact: '5.22.0' + neo4j-buildnumber: '5.22' + neo4j-debian-package-version: '1:5.22.0@' diff --git a/modules/ROOT/pages/backup-restore/copy-database.adoc b/modules/ROOT/pages/backup-restore/copy-database.adoc index 5f380c15b..0d4aa4c7a 100644 --- a/modules/ROOT/pages/backup-restore/copy-database.adoc +++ b/modules/ROOT/pages/backup-restore/copy-database.adoc @@ -203,9 +203,10 @@ If you go from `high_limit` to `standard` or `aligned`, there is no validation t | |=== +[role=label--enterprise-edition] [NOTE] ==== -The block format is introduced in Neo4j 5.14 and is only available in Neo4j Enterprise Edition. +The block format is introduced in Neo4j 5.14 and from Neo4j 5.22, is the default format for all newly-created databases as long as they do not have the xref:configuration/configuration-settings.adoc#config_db.format[`db.format`] setting specified. For more information on the block format, see xref:database-internals/store-formats.adoc[Store formats]. ==== @@ -303,7 +304,7 @@ For more information, see xref:clustering/databases.adoc#cluster-seed[Designated [NOTE] ==== -Note that even though it is only one database copy in the end, you still need double the space during the operation. +Note that even though there is only one database copy in the end, you still need double the space during the operation. ==== . Stop the database named `neo4j`: @@ -327,7 +328,7 @@ If omitted, the current working directory will be used. From Neo4j 5.20 onwards, you can use the `--copy-schema` option to automatically copy the schema. Indexes will be built the first time the database is started. -This option can copy the schema from any 4.4 and 5.x version to 5.20 and later versions. +This option can copy the schema from any 4.4 and 5.x to 5.20 and later versions. For previous versions, you need to manually recreate the schema using the Cyher statements saved in the file _-schema.cypher_. ==== diff --git a/modules/ROOT/pages/backup-restore/online-backup.adoc b/modules/ROOT/pages/backup-restore/online-backup.adoc index 1e61a5a42..81528290e 100644 --- a/modules/ROOT/pages/backup-restore/online-backup.adoc +++ b/modules/ROOT/pages/backup-restore/online-backup.adoc @@ -192,7 +192,6 @@ The `--to-path=` option can also back up databases into AWS S3 buckets (fr For more information, see <>. ==== - [[backup-command-exit-codes]] === Exit codes diff --git a/modules/ROOT/pages/clustering/disaster-recovery.adoc b/modules/ROOT/pages/clustering/disaster-recovery.adoc index 71e05b450..cbfe8475f 100644 --- a/modules/ROOT/pages/clustering/disaster-recovery.adoc +++ b/modules/ROOT/pages/clustering/disaster-recovery.adoc @@ -153,7 +153,7 @@ Note that this may take a few minutes. Once the `system` database is verified available, and all servers are online, the databases can be managed. The steps here aim to make the unavailable databases available. -. If you have previously dropped databases as part of this guide, re-create each one from backup. +. If you have previously dropped databases as part of this guide, re-create each one from a backup. See the xref:database-administration/standard-databases/create-databases.adoc[Create databases] section for more information on how to create a database. . Run `SHOW DATABASES`. If all databases are in desired states on all servers (`requestedStatus`=`currentStatus`), disaster recovery is complete. diff --git a/modules/ROOT/pages/clustering/index.adoc b/modules/ROOT/pages/clustering/index.adoc index 3f6b3f412..ecbb08303 100644 --- a/modules/ROOT/pages/clustering/index.adoc +++ b/modules/ROOT/pages/clustering/index.adoc @@ -21,8 +21,8 @@ This chapter describes the following: ** xref:clustering/monitoring/endpoints.adoc[Monitor cluster endpoints for status information] -- The endpoints and semantics of endpoints used to monitor the health of the cluster. * xref:clustering/disaster-recovery.adoc[Disaster recovery] -- How to recover a cluster in the event of a disaster. * xref:clustering/settings.adoc[Settings reference] -- A summary of the most important cluster settings. -// * xref:clustering/clustering-advanced/index.adoc[Advanced clustering] -- Some more advanced features of Neo4j clusters. -// ** xref:clustering/clustering-advanced/multi-data-center-routing.adoc[Multi-data center routing] -- Clusters on mutli-data centers. +* xref:clustering/clustering-advanced/index.adoc[Advanced clustering] -- Some more advanced features of Neo4j clusters. +** xref:clustering/clustering-advanced/multi-data-center-routing.adoc[Multi-data center routing] -- Clusters on mutli-data centers. * xref:clustering/glossary.adoc[Clustering glossary] -- A glossary of terms used in the clustering documentation. //* <> -- A few internals regarding the operation of the cluster. Further information: diff --git a/modules/ROOT/pages/configuration/configuration-settings.adoc b/modules/ROOT/pages/configuration/configuration-settings.adoc index 548a508fd..19bad345f 100644 --- a/modules/ROOT/pages/configuration/configuration-settings.adoc +++ b/modules/ROOT/pages/configuration/configuration-settings.adoc @@ -360,13 +360,59 @@ m|+++10m+++ |=== |Description a|A comma-separated list of endpoints that a server should contact in order to discover other cluster members. -Typically, all members of the cluster, including the current server, should be specified in this list. +Typically, all cluster members, including the current server, must be specified in this list. +The setting configures the endpoints for Discovery service V1. |Valid values a|A comma-separated list where each element is a socket address in the format of `hostname:port`, `hostname`, or `:port`. |Default value m| |=== +[role=label--enterprise-edition label--new-5.22] +[[config_dbms.cluster.discovery.v2.endpoints]] +=== `dbms.cluster.discovery.v2.endpoints` + +// label:enterprise-edition[Enterprise Edition] + +.dbms.cluster.discovery.v2.endpoints +[frame="topbot", stripes=odd, grid="cols", cols="<1s,<4"] +|=== +|Description +a|A comma-separated list of endpoints that a server should contact in order to discover other cluster members. +Typically, all cluster members, including the current server, must be specified in this list. +The setting configures the endpoints for Discovery service V2. +|Valid values +a|A comma-separated list where each element is a socket address in the format of `hostname:port`, `hostname`, or `:port`. +|Default value +m| +|=== + +[role=label--enterprise-edition label--new-5.22] +[[config_dbms.cluster.discovery.version]] +=== `dbms.cluster.discovery.version` + +// label:enterprise-edition[Enterprise Edition] + +.dbms.cluster.discovery.version +[frame="topbot", stripes=odd, grid="cols", cols="<1s,<4"] +|=== +|Description +a|This setting allows you to select which discovery service should be started. +Possible values are: + +* `V1_ONLY` -- it runs only discovery service v1. + +* `V1_OVER_V2` -- it runs both Discovery Service V1 and Discovery Service V2, where V1 is the main service and V2 runs in the background. + +* `V2_OVER_V1` -- it runs both Discovery Service V1 and Discovery Service V2, where V2 is the main service and V1 runs in the background. + +* `V2_ONLY` -- it runs only discovery service v2. +|Valid values +a|One of [V1_ONLY, V1_OVER_V2, V2_OVER_V1, V2_ONLY]. +|Default value +m|+++V1_ONLY+++ +|=== + [role=label--enterprise-edition] [[config_dbms.cluster.discovery.log_level]] @@ -2136,7 +2182,7 @@ Either `high_limit` or `block` is required if you have a graph that is larger th |Valid values a|A string. |Default value -m|+++aligned+++ +m|+++block+++ |=== @@ -3358,7 +3404,7 @@ a|Specifies which metrics should be enabled by using a comma separated list of g |Valid values a|A comma-separated list where each element is A simple globbing pattern that can use `*` and `?`.. |Default value -m|+++*bolt.connections*,*bolt.messages_received*,*bolt.messages_started*,*dbms.pool.bolt.free,*dbms.pool.bolt.total_size,*dbms.pool.bolt.total_used,*dbms.pool.bolt.used_heap,*cluster.raft.is_leader,*cluster.raft.last_leader_message,*cluster.raft.replication_attempt,*cluster.raft.replication_fail,*cluster.raft.last_applied,*cluster.raft.last_appended,*cluster.raft.append_index,*cluster.raft.commit_index,*cluster.raft.applied_index,*check_point.*,*cypher.replan_events,*ids_in_use*,*pool.transaction.*.total_used,*pool.transaction.*.used_heap,*pool.transaction.*.used_native,*store.size*,*transaction.active_read,*transaction.active_write,*transaction.committed*,*transaction.last_committed_tx_id,*transaction.peak_concurrent,*transaction.rollbacks*,*page_cache.hit*,*page_cache.page_faults,*page_cache.usage_ratio,*vm.file.descriptors.count,*vm.gc.time.*,*vm.heap.used,*vm.memory.buffer.direct.used,*vm.memory.pool.g1_eden_space,*vm.memory.pool.g1_old_gen,*vm.pause_time,*vm.thread*,*db.query.execution*+++ +m|+++*bolt.connections*,*bolt.messages_received*,*bolt.messages_started*,*dbms.pool.bolt.free,*dbms.pool.bolt.total_size,*dbms.pool.bolt.total_used,*dbms.pool.bolt.used_heap,*cluster.raft.is_leader,*cluster.raft.last_leader_message,*cluster.raft.replication_attempt,*cluster.raft.replication_fail,*cluster.raft.last_applied,*cluster.raft.last_appended,*cluster.raft.append_index,*cluster.raft.commit_index,*cluster.raft.applied_index,*cluster.internal.discovery.memberset.left,*cluster.internal.discovery.crdt.gossip_id_data.size,*cluster.internal.discovery.crdt.server_data.size,*cluster.internal.discovery.crdt.database_data.size,*cluster.internal.discovery.crdt.leader_data.size,*cluster.internal.discovery.crdt.total_merge_operations,*cluster.internal.discovery.crdt.total_update_operations,*cluster.internal.discovery.gossip.incoming_queue_size,*cluster.internal.discovery.gossip.total_received_data,*cluster.internal.discovery.gossip.total_sent_data,*cluster.internal.discovery.gossip.uncontactable_members_exist,*check_point.*,*cypher.replan_events,*ids_in_use*,*pool.transaction.*.total_used,*pool.transaction.*.used_heap,*pool.transaction.*.used_native,*store.size*,*transaction.active_read,*transaction.active_write,*transaction.committed*,*transaction.last_committed_tx_id,*transaction.peak_concurrent,*transaction.rollbacks*,*page_cache.hit*,*page_cache.page_faults,*page_cache.usage_ratio,*vm.file.descriptors.count,*vm.gc.time.*,*vm.heap.used,*vm.memory.buffer.direct.used,*vm.memory.pool.g1_eden_space,*vm.memory.pool.g1_old_gen,*vm.pause_time,*vm.thread*,*db.query.execution*+++ |=== @@ -3725,6 +3771,22 @@ a|A string. m| |=== +[role=label--enterprise-edition label--new-5.22] +[[config_dbms.kubernetes.discovery.v2.service_port_name]] +=== `dbms.kubernetes.discovery.v2.service_port_name` + +// label:enterprise-edition[Enterprise Edition] + +.dbms.kubernetes.discovery.v2.service_port_name +[frame="topbot", stripes=odd, grid="cols", cols="<1s,<4"] +|=== +|Description +a|Service port name for Discovery v2 for Kubernetes API. +|Valid values +a|A string. +|Default value +m|+++transaction+++ +|=== [role=label--enterprise-edition] [[config_dbms.kubernetes.token]] @@ -3994,7 +4056,7 @@ a|Defines the Content-Security-Policy header to return to content returned on st |Valid values a|A string. |Default value -m|+++default-src 'self'; script-src 'self' cdn.segment.com canny.io; img-src 'self' data:; style-src 'self' fonts.googleapis.com 'unsafe-inline'; font-src 'self' fonts.gstatic.com; base-uri 'none'; object-src 'none'; frame-ancestors 'none'; connect-src 'self' api.canny.io api.segment.io ws: wss: http: https:+++ +m|+++default-src 'self'; script-src 'self' cdn.segment.com canny.io; img-src 'self' guides.neo4j.com data:; style-src 'self' fonts.googleapis.com 'unsafe-inline'; font-src 'self' fonts.gstatic.com; base-uri 'none'; object-src 'none'; frame-ancestors 'none'; connect-src 'self' api.canny.io api.segment.io ws: wss: http: https:+++ |=== diff --git a/modules/ROOT/pages/database-administration/aliases/manage-aliases-composite-databases.adoc b/modules/ROOT/pages/database-administration/aliases/manage-aliases-composite-databases.adoc index e3a79d0f6..e1ca3e7f3 100644 --- a/modules/ROOT/pages/database-administration/aliases/manage-aliases-composite-databases.adoc +++ b/modules/ROOT/pages/database-administration/aliases/manage-aliases-composite-databases.adoc @@ -22,7 +22,7 @@ CREATE DATABASE `perennial-flowers`; == List database aliases in composite databases Available database aliases in composite databases can be seen using `SHOW ALIASES FOR DATABASE`. -The name of the composite database a particular database alias is part of appears in the returned `composite` column. +The name of the composite database a particular database alias appears in the returned `composite` column. The required privileges are described in the xref:authentication-authorization/dbms-administration.adoc#access-control-dbms-administration-alias-management[The DBMS ALIAS MANAGEMENT privileges]. diff --git a/modules/ROOT/pages/database-administration/standard-databases/create-databases.adoc b/modules/ROOT/pages/database-administration/standard-databases/create-databases.adoc index 01e75340b..055e67d87 100644 --- a/modules/ROOT/pages/database-administration/standard-databases/create-databases.adoc +++ b/modules/ROOT/pages/database-administration/standard-databases/create-databases.adoc @@ -27,9 +27,10 @@ Having dots (`.`) in the database names is not recommended. This is due to the difficulty of determining if a dot is part of the database name or a delimiter for a database alias in a composite database. ==== -In Neo4j, the default store format for all new databases is `aligned`. +In versions previous to Neo4j 5.22, the default store format for all new databases is `aligned`. +From Neo4j 5.22, `block` is the default format for all newly-created databases as long as they do not have the xref:configuration/configuration-settings.adoc#config_db.format[`db.format`] setting specified. + If you want to change it, you can set a new value for the xref:configuration/configuration-settings.adoc#config_db.format[`db.format`] configuration in the _neo4j.conf_ file. + -Alternatively, you can set the store format of new databases using the `CREATE DATABASE databasename OPTIONS {storeFormat: 'the-new-format'}` command. +Alternatively, you can set the store format of new databases using the `CREATE DATABASE databasename OPTIONS {storeFormat: 'the-new-format'}` command. However, if the store is seeded with `seedURI` or `existingDataSeedInstance`, or if the command is being used to mount pre-existing store files already present on the disk, they will use their current store format without any alterations. See xref:database-internals/store-formats.adoc[Store formats], for more details about available database store formats in Neo4j. @@ -153,7 +154,7 @@ SHOW DATABASES YIELD name ==== Create a database with xref:database-administration/standard-databases/wait-options.adoc[`WAIT`] -Sub-clause `WAIT` allows you to specify a time limit in which the command must complete and return. +Sub-clause `WAIT` allows you to specify a time limit in which the command must complete and return. [source, cypher] ---- @@ -262,7 +263,7 @@ SHOW DATABASE customers YIELD name, requestedStatus, currentStatus ==== Start a database with xref:database-administration/standard-databases/wait-options.adoc[`WAIT`] -You can start your database using `WAIT` sub-clause to ensure that the command waits for a specified amount of time until the database is started. +You can start your database using `WAIT` sub-clause to ensure that the command waits for a specified amount of time until the database is started. [source, cypher] ---- diff --git a/modules/ROOT/pages/database-internals/store-formats.adoc b/modules/ROOT/pages/database-internals/store-formats.adoc index 10d702198..e53de5a7c 100644 --- a/modules/ROOT/pages/database-internals/store-formats.adoc +++ b/modules/ROOT/pages/database-internals/store-formats.adoc @@ -4,16 +4,17 @@ The store format dictates how a database in Neo4j, is stored on disk. The available formats are: -* `aligned` label:default[Default] +* `aligned` + +It is the default format for all new databases in Community Edition. +It is also the default format for all new databases in Enterprise Edition prior to Neo4j 5.22. * `standard` * `high_limit` label:enterprise-edition[] -* `block` label:enterprise-edition[] label:version-number[GA in Neo4j 5.16] +* `block` label:enterprise-edition[] label:version-number[GA in Neo4j 5.16] + +From Neo4j 5.22, it is the default format for all newly-created databases as long as they do not have the xref:configuration/configuration-settings.adoc#config_db.format[`db.format`] setting specified. -Neo4j's newest store format is `block`. +`block` is Neo4j's most recent store format. It has the best performance and supports the highest limits. - -The `block` format is intended to replace all the older formats. -It uses a range of different data structures and inlining techniques to achieve data locality and store related data together on disk. +`block` uses a range of different data structures and inlining techniques to achieve data locality and store related data together on disk. This allows more related data to be fetched by fewer read operations, resulting in better resource utilization. The older store formats are based on the original `standard` format, each with different features and limitations. @@ -26,11 +27,12 @@ The `high-limit` format allows more nodes and relationships to be stored than `s You can either set the store format when creating a new database or change the store format of an existing database. +[role="enterprise-edition"] === Creating new databases -The default store format for all new databases is `aligned`. -If you want to change it, you can set a new value for the xref:configuration/configuration-settings.adoc#config_db.format[`db.format`] configuration in the _neo4j.conf_ file. - +In versions previous to Neo4j 5.22, the default store format for all new databases is `aligned`. +From Neo4j 5.22, `block` is the default format for all newly-created databases as long as they do not have the xref:configuration/configuration-settings.adoc#config_db.format[`db.format`] setting specified. + +If you want to change it, you can set a new value for the xref:configuration/configuration-settings.adoc#config_db.format[`db.format`] configuration in the _neo4j.conf_ file. + You can also create a new database on a specific store format by passing the new format as an argument to the command creating the database, for example, xref:tools/neo4j-admin/neo4j-admin-import.adoc#import-tool-full[`neo4j-admin database import full`] or xref:backup-restore/copy-database.adoc[`neo4j-admin database copy`] commands, or by using `storeFormat:` option in the Cypher command `CREATE DATABASE`. The following examples show how to create a new database on the `block` store format. @@ -227,22 +229,25 @@ The following tables show the format and Neo4j version compatibility and the lim .Aligned format and Neo4j version compatibility [options="header"] |=== -| Name | Store format version | Introduced in | Unsupported from +| Name | Store format version | Introduced in | Default in | Unsupported from -| `ALIGNED_V5_0` label:default[Default] +| `ALIGNED_V5_0` | `record-aligned-1.1` | `5.0.0` +| CE, EE < Neo4j 5.22 | | `ALIGNED_V4_3` | `AF4.3.0` | `4.3.0` | `5.0.0` +| | `ALIGNED_V4_1` | `AF4.1.a` | `4.1.0` | `5.0.0` +| |=== @@ -421,12 +426,13 @@ The following tables show the format and Neo4j version compatibility and the lim .Block format and Neo4j version compatibility [options="header"] |=== -| Name | Store format version | Introduced in | GA from +| Name | Store format version | Introduced in | GA from | Default in | `BLOCK_V1` | `block-block-1.1` | `5.14.0` | `5.16.0` +| `5.22.0` |=== diff --git a/modules/ROOT/pages/monitoring/metrics/reference.adoc b/modules/ROOT/pages/monitoring/metrics/reference.adoc index 5dcce59bd..0ae48caeb 100644 --- a/modules/ROOT/pages/monitoring/metrics/reference.adoc +++ b/modules/ROOT/pages/monitoring/metrics/reference.adoc @@ -422,10 +422,10 @@ label:deprecated[Deprecated in 5.15] |.cluster.catchup.tx_pull_requests_received|TX pull requests received from other cluster members. (counter) |=== -[[discovery-metrics]] -=== Discovery metrics +[[discovery-service-V1]] +=== Discovery metrics v1 -.Discovery metrics +.Discovery service V1 [options="header",cols="<3m,<4"] |=== |Name |Description @@ -437,6 +437,18 @@ label:deprecated[Deprecated in 5.15] |.cluster.discovery.restart.failed_count|Discovery restart failed count. (gauge) |=== +[role=label--new-5.22] +[[discovery-service-V2]] +=== Discovery metrics v2 + +.Discovery service V2 +[options="header",cols="<3m,<4"] +|=== +|Name |Description +|.cluster.discovery.memberset.reachable|Number of members in alive or suspected state. (gauge) +|.cluster.discovery.memberset.unreachable|Number of unreachable cluster members. (gauge) +|=== + [[raft-core-metrics]] === Raft core metrics diff --git a/modules/ROOT/pages/reference/procedures.adoc b/modules/ROOT/pages/reference/procedures.adoc index ce7665cab..50961003e 100644 --- a/modules/ROOT/pages/reference/procedures.adoc +++ b/modules/ROOT/pages/reference/procedures.adoc @@ -288,6 +288,16 @@ In 4.2, signature changed to `db.listLocks() :: (mode :: STRING, resourceType :: | label:yes[] | label:admin-only[] +| xref:reference/procedures.adoc#procedure_dbms_cluster_switchdiscoveryserviceversion[`dbms.cluster.switchDiscoveryServiceVersion()`] +| label:no[] +| label:yes[] +| label:admin-only[] label:new[Introduced in 5.22] + +| xref:reference/procedures.adoc#procedure_dbms_cluster_showparalleldiscoverystate[`dbms.cluster.showParallelDiscoveryState()`] +| label:no[] +| label:yes[] +| label:admin-only[] label:new[Introduced in 5.22] + | xref:reference/procedures.adoc#procedure_dbms_components[`dbms.components()`] | label:yes[] | label:yes[] @@ -1810,6 +1820,37 @@ m| dbms.cluster.uncordonServer(server :: STRING) m|WRITE |=== +[[procedure_dbms_cluster_switchdiscoveryserviceversion]] +[role=label--enterprise-edition label--admin-only label--new-5.22] +.dbms.cluster.switchDiscoveryServiceVersion() +[cols="<15s,<85"] +|=== +| Description +a| Allows you to select which discovery service should be started. +Possible values are: + +* `V1_ONLY` -- it runs only discovery service v1. +* `V1_OVER_V2` -- it runs both Discovery Service V1 and Discovery Service V2, where V1 is the main service and V2 runs in the background. +* `V2_OVER_V1` -- it runs both Discovery Service V1 and Discovery Service V2, where V2 is the main service and V1 runs in the background. +* `V2_ONLY` -- it runs only discovery service v2. +| Signature +m| dbms.cluster.switchDiscoveryServiceVersion(mode :: STRING) +| Mode +m|DBMS +|=== + +[[procedure_dbms_cluster_showparalleldiscoverystate]] +[role=label--enterprise-edition label--admin-only label--new-5.22] +.dbms.cluster.showParallelDiscoveryState() +[cols="<15s,<85"] +|=== +| Description +a| Compare the states of Discovery service V1 and Discovery service V2. +| Signature +m| dbms.cluster.showParallelDiscoveryState() :: (mode :: STRING, realServiceName :: STRING, shadowServiceName :: STRING, stateComparison :: STRING) +| Mode +m|DBMS +|=== [[procedure_dbms_components]] .dbms.components() @@ -2289,7 +2330,7 @@ For each element in the given resource LIST this returns: * the original 'resource' element itself, * and the encoded 'vector' | Signature -m|genai.vector.encodeBatch(resources :: LIST, provider :: STRING, configuration = {} :: MAP) :: (index :: INTEGER, resource :: STRING, vector :: ANY) +m|genai.vector.encodeBatch(resources :: LIST, provider :: STRING, configuration = {} :: ANY) :: (index :: INTEGER, resource :: STRING, vector :: ANY) | Mode m|DEFAULT |=== diff --git a/modules/ROOT/pages/tools/cypher-shell.adoc b/modules/ROOT/pages/tools/cypher-shell.adoc index fd12dc332..82e66cd0f 100644 --- a/modules/ROOT/pages/tools/cypher-shell.adoc +++ b/modules/ROOT/pages/tools/cypher-shell.adoc @@ -28,6 +28,7 @@ The syntax for running Cypher Shell is: [-f FILE] [--change-password] [--log [LOG-FILE]] [--history HISTORY-BEHAVIOUR] [--notifications] [--fail-fast | --fail-at-end] + [--idle-timeout IDLE-TIMEOUT] [cypher] ---- @@ -114,6 +115,10 @@ It can also be set using the environmental variable NEO4J_CYPHER_SHELL_HISTORY. |--notifications |Enable query notifications in interactive mode. |false + +|--idle-timeout IDLE-TIMEOUT +|Closes the application after the specified amount of idle time in interactive mode. You can specify the duration using the format `hms`, for example `1h` (1 hour), `1h30m` (1 hour 30 minutes), or `30m` (30 minutes). +|disable |=== == Connection arguments diff --git a/modules/ROOT/pages/tools/index.adoc b/modules/ROOT/pages/tools/index.adoc index ba963e90f..190c98b95 100644 --- a/modules/ROOT/pages/tools/index.adoc +++ b/modules/ROOT/pages/tools/index.adoc @@ -19,5 +19,6 @@ This chapter covers the following topics: * xref:tools/cypher-shell.adoc[Cypher Shell] -- How to use the Cypher Shell. * link:https://neo4j.com/docs/browser-manual/current/[Neo4j Browser] is a tool for developers to interact with the graph. It is the default interface for both Enterprise and Community Editions of the Neo4j database. -Neo4j Browser is bundled with Neo4j DBMS, including both Neo4j Server and xref:installation/neo4j-desktop.adoc[Neo4j Desktop]. +Neo4j Browser is bundled with Neo4j DBMS, including both Neo4j server and xref:installation/neo4j-desktop.adoc[Neo4j Desktop]. + diff --git a/modules/ROOT/pages/tools/neo4j-admin/index.adoc b/modules/ROOT/pages/tools/neo4j-admin/index.adoc index 598632b55..4b3826f88 100644 --- a/modules/ROOT/pages/tools/neo4j-admin/index.adoc +++ b/modules/ROOT/pages/tools/neo4j-admin/index.adoc @@ -334,6 +334,6 @@ The non-zero exit code can contain further information about the error, for exam From 5.4 onwards, Neo4j supports command-line completion. -* For Unix-based systems, the tab completion applies to the `neo4j` and `neo4j-admin` command line interfaces in terminals such as Bash and ZSH. +* For Unix-based systems, the tab completion applies to the `neo4j` and `neo4j-admin` command line interfaces in terminals such as Bash and ZSH. * For RPM and DEB packaged installations, the necessary files are automatically installed in `bash-completion`. * For tarball installations, the files are located in the _bin/completion/_ directory with detailed instructions for manual installation. diff --git a/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc b/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc index 0101f1c94..b36a82fee 100644 --- a/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc +++ b/modules/ROOT/pages/tools/neo4j-admin/migrate-database.adoc @@ -83,7 +83,7 @@ If not specified, the tool migrates the target database to the latest known comb [NOTE] ==== -The block format is introduced in Neo4j 5.14 and is only available in Neo4j Enterprise Edition. +The block format is introduced in Neo4j 5.14 and from Neo4j 5.22, is the default format for all newly-created databases in Enterprise Edition as long as they do not have the xref:configuration/configuration-settings.adoc#config_db.format[`db.format`] setting specified. For more information on the block format, see xref:database-internals/store-formats.adoc[Store formats]. ==== diff --git a/modules/ROOT/pages/tools/neo4j-admin/neo4j-admin-import.adoc b/modules/ROOT/pages/tools/neo4j-admin/neo4j-admin-import.adoc index aa6702a0b..bc4eeb731 100644 --- a/modules/ROOT/pages/tools/neo4j-admin/neo4j-admin-import.adoc +++ b/modules/ROOT/pages/tools/neo4j-admin/neo4j-admin-import.adoc @@ -494,8 +494,6 @@ Incremental import allows you to incorporate large amounts of data in batches in You can run this operation as part of the initial data load when it cannot be completed in a single full import. Besides, you can update your graph by importing data incrementally, which is more performant than transactional insertion of such data. -When the initial data load cannot be completed in a single full import, incremental import allows the operation to be completed as a series of smaller imports. - Incremental import requires the use of `--force` and can be run on an existing database only. You must stop your database, if you want to perform the incremental import within one command. diff --git a/modules/ROOT/pages/tools/neo4j-admin/neo4j-admin-report.adoc b/modules/ROOT/pages/tools/neo4j-admin/neo4j-admin-report.adoc index 5942e10c4..5df9ddfa5 100644 --- a/modules/ROOT/pages/tools/neo4j-admin/neo4j-admin-report.adoc +++ b/modules/ROOT/pages/tools/neo4j-admin/neo4j-admin-report.adoc @@ -1,6 +1,5 @@ :description: This chapter describes the `report` command of Neo4j Admin. -:page-aliases: ROOT:tools/neo4j-admin-report.adoc - +:page-aliases: tools/neo4j-admin-report.adoc [[neo4j-admin-report]] = Neo4j Admin report diff --git a/package.json b/package.json index e75e398da..d9a2ec354 100644 --- a/package.json +++ b/package.json @@ -19,18 +19,23 @@ "author": "Neo4j", "license": "ISC", "dependencies": { - "@antora/cli": "^3.1.1", - "@antora/site-generator-default": "^3.1.1", - "@neo4j-antora/antora-add-notes": "^0.1.6", + "@antora/cli": "^3.1.7", + "@antora/site-generator-default": "^3.1.7", + "@neo4j-antora/antora-add-notes": "^0.3.1", "@neo4j-antora/antora-modify-sitemaps": "^0.4.4", - "@neo4j-antora/antora-page-roles": "^0.3.1", + "@neo4j-antora/antora-page-roles": "^0.3.2", "@neo4j-antora/antora-table-footnotes": "^0.3.2", "@neo4j-antora/antora-unlisted-pages": "^0.1.0", "@neo4j-documentation/macros": "^1.0.2", "@neo4j-documentation/remote-include": "^1.0.0" }, "devDependencies": { - "express": "^4.18.1", - "nodemon": "^2.0.19" + "express": "^4.19.2", + "nodemon": "^3.1.0" + }, + "overrides": { + "@antora/site-generator-default": { + "glob-parent": "6.0.2" + } } }