Skip to content

Commit e08c604

Browse files
renetapopovaJPryce-AklundhNataliaIvakinaRagnarWloveleif
authored
Publish 2025.02 (#2157)
Co-authored-by: Jens Pryce-Åklundh <[email protected]> Co-authored-by: NataliaIvakina <[email protected]> Co-authored-by: Ragnar Wernersson <[email protected]> Co-authored-by: Love Kristofer Leifland <[email protected]> Co-authored-by: Neil Dewhurst <[email protected]> Co-authored-by: David Pond <[email protected]>
1 parent 33a4712 commit e08c604

File tree

9 files changed

+101
-72
lines changed

9 files changed

+101
-72
lines changed

antora.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
name: operations-manual
22
title: Operations Manual
3-
version: '2025.01'
3+
version: '2025.02'
44
current: true
55
start_page: ROOT:index.adoc
66
nav:
77
- modules/ROOT/content-nav.adoc
88
asciidoc:
99
attributes:
10-
neo4j-version: '2025.01'
11-
neo4j-version-minor: '2025.01'
12-
neo4j-version-exact: '2025.01.0'
13-
neo4j-buildnumber: '2025.01'
14-
neo4j-debian-package-version: '1:5.22.0@'
10+
neo4j-version: '2025.02'
11+
neo4j-version-minor: '2025.02'
12+
neo4j-version-exact: '2025.02.0'
13+
neo4j-buildnumber: '2025.02'
14+
neo4j-debian-package-version: '1:2025.02.0@'

modules/ROOT/pages/backup-restore/restore-backup.adoc

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,11 @@ This recovery operation is resource-intensive and can be decoupled from the rest
3636

3737
[source,role=noheader]
3838
----
39-
neo4j-admin database restore [-h] [--expand-commands]
40-
[--verbose] [--overwrite-destination[=true|false]]
41-
[--additional-config=<file>]
42-
--from-path=<path>[,<path>...]
39+
neo4j-admin database restore [-h] [--expand-commands] [--verbose] [--overwrite-destination
40+
[=true|false]] [--source-database[=source-database-name]]
41+
[--additional-config=<file>] --from-path=<path> [,<path>...]
4342
[--restore-until=<recovery-criteria>] [--temp-path=<path>]
44-
[--to-path-data=<path>] [--to-path-txn=<path>]
45-
[<database>]
43+
[--to-path-data=<path>] [--to-path-txn=<path>] [<database>]
4644
----
4745

4846
=== Parameters
@@ -77,9 +75,7 @@ neo4j-admin database restore [-h] [--expand-commands]
7775
|
7876

7977
|--from-path=<path>[,<path>...]
80-
|A single path or a comma-separated list of paths pointing to a backup artifact file.
81-
An artifact file can be 1) a full backup, in which case it is restored directly or, 2) a differential backup, in which case the command tries first to find in the folder a backup chain ending at that specific differential backup and then restores that chain.
82-
It is possible to restore backups from AWS S3 buckets, Google Cloud storage buckets, and Azure buckets using the appropriate URI as the path.
78+
|The path can point to an individual backup artifact, a folder that contains artifacts, or a comma-separated list of backup artifact files. An artifact file can be 1) a full backup, in which case it is restored directly or, 2) a differential backup, in which case the command tries first to find in the folder a backup chain ending at that specific differential backup and then restores that chain. It is possible to restore backups from AWS S3 buckets, Google Cloud storage buckets, and Azure buckets using the appropriate URI as the path.
8379
|
8480

8581
|-h, --help
@@ -104,6 +100,10 @@ The restore recovers transaction logs up to, but not including, the transaction
104100
The restore recovers transactions that were committed before the provided timestamp.
105101
|
106102

103+
| --source-database[=source-database-name]
104+
|label:new[Introduced in 2025.02] A source database name. If the `--from-path` points to a folder containing backups for multiple databases, you must specify the database name to filter the artifacts.
105+
|
106+
107107
| --to-path-data=<path>
108108
|Base directory for databases.
109109
Usage of this option is only allowed if the `--from-path` parameter points to exactly one directory.

modules/ROOT/pages/changes-deprecations-removals.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,9 @@ Replaced by: xref:procedures.adoc#procedure_dbms_cluster_secondaryreplicationdis
494494
| Name
495495
| Comment
496496
497+
|xref:monitoring/metrics/reference.adoc#raft-metrics[`<prefix>.cluster.raft.tx_retries`] label:deprecated[Deprecated in 2025.02]
498+
|The metric will be removed in a future release.
499+
497500
2+| xref:monitoring/metrics/reference.adoc#db-data-metrics[Database data metrics] label:deprecated[Deprecated in 5.15]
498501
|`<prefix>.ids_in_use.relationship_type`|
499502
|`<prefix>.ids_in_use.property`|

modules/ROOT/pages/configuration/configuration-settings.adoc

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,21 @@ a|A comma-separated list where each element is a string.
450450
m|++++++
451451
|===
452452

453+
[role=label--enterprise-edition label--new-2025.02]
454+
[[config_dbms.cluster.raft.async_channel_acquisition_enabled]]
455+
=== `dbms.cluster.raft.async_channel_acquisition_enabled`
456+
457+
.dbms.cluster.raft.async_channel_acquisition_enabled
458+
[frame="topbot", stripes=odd, grid="cols", cols="<1s,<4"]
459+
|===
460+
|Description
461+
a|Enable async acquisition of raft sender channels. If set to `false`, the leader will wait for a connection to a follower before shipping it entries. This may cause latencies in replication if one or more members are slow at establishing connections.
462+
|Valid values
463+
a|A boolean.
464+
|Default value
465+
m|+++true+++
466+
|===
467+
453468

454469
[role=label--enterprise-edition]
455470
[[config_dbms.cluster.raft.binding_timeout]]

modules/ROOT/pages/monitoring/metrics/reference.adoc

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -441,7 +441,7 @@ label:deprecated[Deprecated in 5.15]
441441
|<prefix>.cluster.raft.applied_index|The applied index of the Raft log. Represents the application of the committed Raft log entries to the database and internal state. The applied index should always be less than or equal to the commit index. The difference between this and the commit index can be used to monitor how up-to-date the follower database is. (gauge)
442442
|<prefix>.cluster.raft.prune_index |The head index of the Raft log. Represents the oldest Raft index that exists in the log. A prune event will increase this value. This can be used to track how much history of Raft logs the member has. (gauge)
443443
|<prefix>.cluster.raft.term|The Raft Term of this server. It increases monotonically if you do not unbind the cluster state. (gauge)
444-
|<prefix>.cluster.raft.tx_retries|Transaction retries. (counter)
444+
|<prefix>.cluster.raft.tx_retries|label:deprecated[Deprecated in 2025.02] Transaction retries. (counter)
445445
|<prefix>.cluster.raft.is_leader|Is this server the leader? Track this for each rafted primary database in the cluster. It reports `0` if it is not the leader and `1` if it is the leader. The sum of all of these should always be `1`. However, there are transient periods in which the sum can be more than `1` because more than one member thinks it is the leader. Action may be needed if the metric shows `0` for more than 30 seconds. (gauge)
446446
|<prefix>.cluster.raft.in_flight_cache.total_bytes|In-flight cache total bytes. (gauge)
447447
|<prefix>.cluster.raft.in_flight_cache.max_bytes|In-flight cache max bytes. (gauge)
@@ -466,6 +466,11 @@ label:deprecated[Deprecated in 5.15]
466466
|<prefix>.cluster.raft.snapshot_attempt|label:new[Introduced in 2025.01] Total number of attempts to download Raft snapshots triggered. (counter)
467467
|<prefix>.cluster.raft.snapshot_success|label:new[Introduced in 2025.01] Total number of successfully downloaded Raft snapshots. (counter)
468468
|<prefix>.cluster.raft.snapshot_fail|label:new[Introduced in 2025.01] Total number of failed Raft snapshot download attempts. (counter)
469+
|<prefix>.cluster.raft.inbound_queue_offered|label:new[Introduced in 2025.02] Total number of inbound messages offered to the queue. (counter)
470+
|<prefix>.cluster.raft.inbound_queue_accepted|label:new[Introduced in 2025.02] Total number of inbound messages accepted by the queue. (counter)
471+
|<prefix>.cluster.raft.inbound_queue_rejected|label:new[Introduced in 2025.02] Total number of inbound messages rejected by the queue. (counter)
472+
|<prefix>.cluster.raft.pre_elections_triggered|label:new[Introduced in 2025.02] Total number of pre-elections triggered by this member. (counter)
473+
|<prefix>.cluster.raft.elections_triggered|label:new[Introduced in 2025.02] Total number of elections triggered by this member. (counter)
469474
|===
470475

471476

@@ -479,6 +484,9 @@ label:deprecated[Deprecated in 5.15]
479484
|<prefix>.cluster.store_copy.pull_updates|The total number of pull requests made by this instance. (counter)
480485
|<prefix>.cluster.store_copy.pull_update_highest_tx_id_requested|The highest transaction id requested in a pull update by this instance. (counter)
481486
|<prefix>.cluster.store_copy.pull_update_highest_tx_id_received|The highest transaction id that has been pulled in the last pull updates by this instance. (counter)
487+
|<prefix>.cluster.store_copy.store_file_download_attempt|label:new[Introduced in 2025.02] Total number of store file download attempts. (counter)
488+
|<prefix>.cluster.store_copy.store_file_download_fail |label:new[Introduced in 2025.02] Total number of failed store file downloads. (counter)
489+
|<prefix>.cluster.store_copy.store_file_download_success |label:new[Introduced in 2025.02] Total number of successful store file downloads. (counter)
482490
|===
483491

484492

modules/ROOT/pages/tools/neo4j-admin/neo4j-admin-import.adoc

Lines changed: 59 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ These are some things you need to keep in mind when creating your input files:
6868
Indexes and constraints are not created during the import.
6969
Instead, you have to add these afterward (see link:{neo4j-docs-base-uri}/cypher-manual/current/indexes-for-full-text-search[Cypher Manual -> Indexes]).
7070
71-
You can use the `--schema` option to create indexes and contraints during the import process.
71+
You can use the `--schema` option to create and populate indexes and constraints during the import process.
7272
The option is available in the Enterprise Edition and works only for the block format.
7373
See <<indexes-constraints-import, Provide indexes and constraints during import>> for more information.
7474
====
@@ -130,7 +130,7 @@ For more information, please contact Neo4j Professional Services.
130130

131131
`neo4j-admin import` also supports the Parquet file format.
132132
You can use the parameter `--input-type=csv|parquet` to explicitly specify whether to use CSV or Parquet for the importer.
133-
If not defined, the default value is CSV.
133+
If not defined, it defaults to CSV.
134134
The xref:tools/neo4j-admin/neo4j-admin-import.adoc#import-tool-examples[examples] for CSV can also be used with Parquet.
135135

136136
[[full-import-options-table]]
@@ -227,7 +227,7 @@ Possible values are:
227227

228228
|--input-type=csv\|parquet
229229
|File type to import from. Can be csv or parquet. Defaults to csv.
230-
|csv
230+
|
231231

232232
|--legacy-style-quoting[=true\|false]
233233
|Whether or not a backslash-escaped quote e.g. \" is interpreted as an inner quote.
@@ -322,15 +322,15 @@ This is done by using the `--verbose` option.
322322
|--skip-bad-relationships[=true\|false]
323323
|Whether or not to skip importing relationships that refer to missing node IDs, i.e. either start or end node ID/group referring to a node that was not specified by the node input data.
324324

325-
Skipped relationships will be logged, containing at most the number of entities specified by `--bad-tolerance`, unless otherwise specified by the `--skip-bad-entries-logging` option.
325+
Skipped relationships will be logged if they are within the limit of entities specified by `--bad-tolerance` and the `--skip-bad-entries-logging` option is disabled.
326326
|false
327327

328328
|--skip-duplicate-nodes[=true\|false]
329329
|Whether or not to skip importing nodes that have the same ID/group.
330330

331331
In the event of multiple nodes within the same group having the same ID, the first encountered will be imported, whereas consecutive such nodes will be skipped.
332332

333-
Skipped nodes will be logged, containing at most the number of entities specified by `--bad-tolerance`, unless otherwise specified by the `--skip-bad-entries-logging` option.
333+
Skipped nodes will be logged if they are within the limit of entities specified by `--bad-tolerance` and the `--skip-bad-entries-logging` option is disabled.
334334
|false
335335

336336
|--strict[=true\|false]
@@ -444,41 +444,6 @@ bin/neo4j-admin database import full --nodes import/movies_header.csv,import/mov
444444
--relationships import/roles_header.csv,import/roles.csv
445445
----
446446

447-
[role=label--enterprise-edition]
448-
[[indexes-constraints-import]]
449-
==== Provide indexes and constraints during import
450-
451-
You can use the `--schema` option to create indexes/constraints during the initial import process.
452-
It currently only works for the block format and full import.
453-
454-
You should have a Cypher script containing only `CREATE INDEX|CONSTRAINT` commands to be parsed and executed.
455-
This file uses ';' as the separator.
456-
457-
For example:
458-
459-
[source, cypher, role=nocopy]
460-
----
461-
CREATE INDEX PersonNameIndex FOR (i:Person) ON (i.name);
462-
CREATE CONSTRAINT PersonAgeConstraint FOR (c:Person) REQUIRE c.age IS :: INTEGER
463-
----
464-
465-
List of supported indexes and constraints that can be created by the import tool:
466-
467-
* RANGE
468-
* LOOKUP
469-
* POINT
470-
* TEXT
471-
* FULL-TEXT
472-
* VECTOR
473-
474-
For example:
475-
476-
[source, shell, role=noplay]
477-
----
478-
bin/neo4j-admin database import full neo4j --nodes=import/movies.csv --nodes=import/actors.csv --relationships=import/roles.csv --schema=import/schema.cypher
479-
----
480-
481-
482447
[[import-tool-multiple-input-files-regex-example]]
483448
==== Import data from CSV files using regular expression
484449

@@ -758,7 +723,7 @@ Possible values are:
758723

759724
|--input-type=csv\|parquet
760725
|File type to import from. Can be csv or parquet. Defaults to csv.
761-
|csv
726+
|
762727

763728
|--legacy-style-quoting[=true\|false]
764729
|Whether or not a backslash-escaped quote e.g. \" is interpreted as an inner quote.
@@ -838,7 +803,7 @@ If you need to debug the import, it might be useful to collect the stack trace.
838803
This is done by using the `--verbose` option.
839804
|import.report
840805

841-
|--schema=<path>footnote:[The `--schema` option is available in this version but not yet supported. It will be functional in a future release.]
806+
|--schema=<path> label:new[Available from 2025.02]
842807
|Path to the file containing the Cypher commands for creating indexes and constraints during data import.
843808
|
844809

@@ -849,15 +814,15 @@ This is done by using the `--verbose` option.
849814
|--skip-bad-relationships[=true\|false]
850815
|Whether or not to skip importing relationships that refer to missing node IDs, i.e. either start or end node ID/group referring to a node that was not specified by the node input data.
851816

852-
Skipped relationships will be logged, containing at most the number of entities specified by `--bad-tolerance`, unless otherwise specified by the `--skip-bad-entries-logging` option.
817+
Skipped relationships will be logged if they are within the limit of entities specified by `--bad-tolerance` and the `--skip-bad-entries-logging` option is disabled.
853818
|false
854819

855820
|--skip-duplicate-nodes[=true\|false]
856821
|Whether or not to skip importing nodes that have the same ID/group.
857822

858823
In the event of multiple nodes within the same group having the same ID, the first encountered will be imported, whereas consecutive such nodes will be skipped.
859824

860-
Skipped nodes will be logged, containing at most the number of entities specified by `--bad-tolerance`, unless otherwise specified by the `--skip-bad-entries-logging` option.
825+
Skipped nodes will be logged if they are within the limit of entities specified by `--bad-tolerance` and the `--skip-bad-entries-logging` option is disabled.
861826
|false
862827

863828

@@ -876,16 +841,15 @@ If enabled all those relationships will be found but at the cost of lower perfor
876841
|false label:changed[Changed in 5.8]
877842

878843
|--threads=<num>
879-
| (advanced) Max number of worker threads used by the importer. Defaults to the number of available processors reported by the JVM. There is a certain amount of minimum threads needed so for that reason there is no lower bound for this value. For optimal
880-
performance, this value should not be greater than the number of available processors.
844+
| (advanced) Max number of worker threads used by the importer. Defaults to the number of available processors reported by the JVM. There is a certain amount of minimum threads needed so for that reason there is no lower bound for this value. For optimal performance, this value should not be greater than the number of available processors.
881845
|20
882846

883847
|--trim-strings[=true\|false]footnote:ingnoredByParquet2[]
884848
|Whether or not strings should be trimmed for whitespaces.
885849
|false
886850

887851
|--update-all-matching-relationships
888-
|label:new[Introduced in 2025.01] If one relationship data entry matches multiple existing relationships, this decides whether to update all matching, or to instead log as error.
852+
|label:new[Introduced in 2025.01] Whether or not to update all existing relationships that match a relationship data entry. If disabled, the relationship data entry will be logged if it is within the limit of entities specified by `--bad-tolerance` and the `--skip-bad-entries-logging` option is disabled.
889853
|false
890854

891855
|--verbose
@@ -1570,6 +1534,54 @@ bin/neo4j-admin database import --nodes import/movies-header.csv,import/movies.c
15701534
----
15711535
====
15721536

1537+
[role=label--enterprise-edition]
1538+
[[indexes-constraints-import]]
1539+
== Provide indexes and constraints during import
1540+
1541+
You can use the `--schema` option to create and populate indexes/constraints during the import process.
1542+
It works for the block format and both full and incremental import.
1543+
For incremental import, this functionality is available from 2025.02.
1544+
1545+
You should have a Cypher script containing only `CREATE INDEX|CONSTRAINT` commands to be parsed and executed.
1546+
This file uses ';' as the separator.
1547+
1548+
For example:
1549+
1550+
[source, cypher, role=nocopy]
1551+
----
1552+
CREATE INDEX PersonNameIndex FOR (i:Person) ON (i.name);
1553+
CREATE CONSTRAINT PersonAgeConstraint FOR (c:Person) REQUIRE c.age IS :: INTEGER
1554+
----
1555+
1556+
List of supported indexes and constraints that can be created by the import tool:
1557+
1558+
* RANGE
1559+
* LOOKUP
1560+
* POINT
1561+
* TEXT
1562+
* FULL-TEXT
1563+
* VECTOR
1564+
1565+
For example:
1566+
1567+
.Create indexes and constraints during full import
1568+
[source, shell, role=noplay]
1569+
----
1570+
bin/neo4j-admin database import full neo4j --nodes=import/movies.csv --nodes=import/actors.csv --relationships=import/roles.csv --schema=import/schema.cypher
1571+
----
1572+
1573+
.Create indexes and constraints during incremental import
1574+
[source, shell, role=noplay]
1575+
----
1576+
bin/neo4j-admin database import incremental --stage=all --nodes=import/movies.csv --nodes=import/actors.csv --relationships=import/roles.csv --schema=import/schema.cypher
1577+
----
1578+
1579+
[NOTE]
1580+
====
1581+
You must stop your database, if you want to perform the incremental import within one command.
1582+
If you cannot afford a full downtime of your database, split the operation into several stages.
1583+
For details, see <<incremental-import-stages>>.
1584+
====
15731585

15741586
[role=label--enterprise-edition]
15751587
[[import-tool-resume]]

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
"@antora/cli": "^3.1.7",
2323
"@antora/site-generator-default": "^3.1.7",
2424
"@neo4j-antora/antora-add-notes": "^0.3.1",
25-
"@neo4j-antora/antora-modify-sitemaps": "^0.6.1",
2625
"@neo4j-antora/antora-page-roles": "^0.3.2",
2726
"@neo4j-antora/antora-table-footnotes": "^0.3.2",
2827
"@neo4j-antora/antora-unlisted-pages": "^0.1.0",

preview.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@ urls:
2424

2525
antora:
2626
extensions:
27-
- require: "@neo4j-antora/antora-modify-sitemaps"
28-
sitemap_version: '2025.01'
29-
sitemap_loc_version: 'current'
30-
move_sitemaps_to_components: true
3127
- require: "@neo4j-antora/antora-unlisted-pages"
3228

3329
asciidoc:

publish.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,6 @@ urls:
2525

2626
antora:
2727
extensions:
28-
- require: "@neo4j-antora/antora-modify-sitemaps"
29-
sitemap_version: '2025.01'
30-
sitemap_loc_version: 'current'
31-
move_sitemaps_to_components: true
3228
- require: "@neo4j-antora/antora-unlisted-pages"
3329

3430
asciidoc:

0 commit comments

Comments
 (0)