Skip to content

Commit fadc510

Browse files
author
Frannie-Ludmilla
committed
Add new unquarantine procedure + deprecate quarantine
1 parent 5a69402 commit fadc510

File tree

1 file changed

+45
-1
lines changed

1 file changed

+45
-1
lines changed

modules/ROOT/pages/procedures.adoc

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1105,7 +1105,7 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/{page-ver
11051105
| *Mode* 3+| WRITE
11061106
|===
11071107

1108-
[role=label--enterprise-edition label--admin-only]
1108+
[role=label--enterprise-edition label--admin-only label--deprecated-2025.01]
11091109
[[procedure_dbms_quarantineDatabase]]
11101110
=== dbms.quarantineDatabase()
11111111

@@ -1125,6 +1125,38 @@ For more information, see the link:{neo4j-docs-base-uri}/cypher-manual/{page-ver
11251125
| *Mode* 3+| DBMS
11261126
|===
11271127

1128+
1129+
[role=label--enterprise-edition label--admin-only]
1130+
[[procedure_dbms_unquarantineDatabase]]
1131+
=== dbms.unquarantineDatabase()
1132+
1133+
1134+
.Details
1135+
|===
1136+
| *Syntax* 3+m| dbms.unquarantineDatabase(server, databaseName, operation) :: ()
1137+
| *Description* 3+a| Remove the quarantine status from a database in a server performing a cleanup `operation`.
1138+
The possible values for the cleanup operation are:
1139+
1140+
* `keepStateKeepStore` -- do nothing, leave store and cluster state as it is,
1141+
* `replaceStateKeepStore` -- join as a new member clearing the current cluster state but keeping the store
1142+
* `replaceStateReplaceStore` -- join as a new member clearing both the current cluster state and the store
1143+
.4+| *Input arguments* | *Name* | *Type* | *Description*
1144+
| `server` | `STRING` | The name or the id of the server where there is the quarantined database.
1145+
| `databaseName` | `STRING` | The name of the database whose quarantine status must be removed.
1146+
| `operation` | `STRING` | Select a cleanup operation to perform while removing the quarantine.
1147+
| *Mode* 3+| DBMS
1148+
|===
1149+
1150+
[NOTE]
1151+
====
1152+
If you choose to clear the current cluster state, the server will try to join as a new member,
1153+
but this joining can succeed if and only if there is a majority of old members "letting" the
1154+
new members in. Let's assume our cluster has a topology with three primaries. If there is only one server
1155+
in `QUARANTINED` mode, then it is safe to choose `replaceStateKeepStore` or `replaceStateReplaceStore`.
1156+
If there are two servers in `QUARANTINED` mode, then you should not use concurrently `replaceStateKeepStore` or
1157+
`replaceStateReplaceStore` for both servers because there would be no majority to let them in.
1158+
====
1159+
11281160
[role=label--admin-only label--deprecated-5.9]
11291161
[[procedure_dbms_upgrade]]
11301162
=== dbms.upgrade()
@@ -1974,6 +2006,18 @@ Replaced by: xref:procedures.adoc#procedure_dbms_routing_getroutingtable[`dbms.r
19742006
Before Neo4j 5.23, the procedure can be run only with the `Admin` privileges. +
19752007
Replaced by xref:clustering/server-syntax.adoc#server-management-syntax[`ENABLE SERVER`].
19762008
2009+
// New in v6
2010+
| xref:procedures.adoc#procedure_dbms_quarantineDatabase[`dbms.quarantineDatabase()`]
2011+
| label:no[]
2012+
| label:yes[]
2013+
| label:admin-only[] label:deprecated[Deprecated in 2025.01] +
2014+
Replaced by procedures.adoc#procedure_dbms_unquarantineDatabase[`dbms.unquarantineDatabase()`]
2015+
2016+
| xref:procedures.adoc#procedure_dbms_unquarantineDatabase[`dbms.unquarantineDatabase()`]
2017+
| label:no[]
2018+
| label:yes[]
2019+
| label:admin-only[] label:new[Introduced in 2025.01]
2020+
19772021
| xref:procedures.adoc#procedure_dbms_setDatabaseAllocator[`dbms.setDatabaseAllocator()`]
19782022
| label:no[]
19792023
| label:yes[]

0 commit comments

Comments
 (0)