@@ -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,13 @@ Replaced by: xref:procedures.adoc#procedure_dbms_routing_getroutingtable[`dbms.r
19742006Before Neo4j 5.23, the procedure can be run only with the `Admin` privileges. +
19752007Replaced 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+
19772016| xref:procedures.adoc#procedure_dbms_setDatabaseAllocator[`dbms.setDatabaseAllocator()`]
19782017| label:no[]
19792018| label:yes[]
0 commit comments