From e43be77beae2e7791a96d95af489b792269e21a6 Mon Sep 17 00:00:00 2001 From: Natalia Ivakina Date: Mon, 26 May 2025 14:51:45 +0200 Subject: [PATCH 1/4] Clarify database health status --- .../pages/clustering/monitoring/endpoints.adoc | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/clustering/monitoring/endpoints.adoc b/modules/ROOT/pages/clustering/monitoring/endpoints.adoc index 15122e98a..90975260b 100644 --- a/modules/ROOT/pages/clustering/monitoring/endpoints.adoc +++ b/modules/ROOT/pages/clustering/monitoring/endpoints.adoc @@ -145,8 +145,9 @@ Therefore, details such as `leader` and `raftCommandsPerSecond` are database-spe -------------- ==== +[[status-endpoint-descriptions]] .Status endpoint descriptions -[options="header", cols="2,1,1,2,4"] +[options="header", cols="2,1,1,2,4a"] |=== | Field | Type |Optional| Example | Description | `core` | boolean | no | `true` | Used to distinguish between if the server is hosting the database in primary (core) or secondary mode. @@ -158,7 +159,15 @@ Therefore, details such as `leader` and `raftCommandsPerSecond` are database-spe | `votingMembers` | string[] | no | `[]` | A member is considered a voting member when the leader has been receiving communication with it. List of member's `memberId` that are considered part of the voting set by this primary. -| `isHealthy` | boolean | no | `true` | Reflects that the local database of this member has not encountered a critical error preventing it from writing locally. +| `isHealthy` | boolean | no | `true` | Indicates that the local database for this cluster member has not encountered a critical error that would prevent local writes. + +[CAUTION] +==== +The `isHealthy` status applies only to this member's local database. +It does not reflect the overall health of the cluster. + +A cluster member may still report `"isHealthy": true` even if its local database currently has no leader. +==== | `memberId` | string | no | `30edc1c4-519c-4030-8348-7cb7af44f591` | Every member in a cluster has it's own unique member id to identify it. Use `memberId` to distinguish between primary and secondary servers. | `leader` | string | yes | `80a7fb7b-c966-4ee7-88a9-35db8b4d68fe` | Follows the same format as `memberId`, but if it is null or missing, then the leader is unknown. @@ -171,6 +180,8 @@ It is recommended to use the metric `.clustering.core.commit_index` on e After an instance has been switched on, the status endpoint can be accessed in order to make sure all the guarantees listed in the table below are met. + + To get the most accurate view of a cluster it is strongly recommended to access the _status endpoint_ on all primary members and compare the result. The following table explains how results can be compared. From aeaac5381597a835b504b09e56b5b2b86711066f Mon Sep 17 00:00:00 2001 From: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Mon, 26 May 2025 15:12:51 +0200 Subject: [PATCH 2/4] Update modules/ROOT/pages/clustering/monitoring/endpoints.adoc --- modules/ROOT/pages/clustering/monitoring/endpoints.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/clustering/monitoring/endpoints.adoc b/modules/ROOT/pages/clustering/monitoring/endpoints.adoc index 90975260b..6350ed00f 100644 --- a/modules/ROOT/pages/clustering/monitoring/endpoints.adoc +++ b/modules/ROOT/pages/clustering/monitoring/endpoints.adoc @@ -159,7 +159,7 @@ Therefore, details such as `leader` and `raftCommandsPerSecond` are database-spe | `votingMembers` | string[] | no | `[]` | A member is considered a voting member when the leader has been receiving communication with it. List of member's `memberId` that are considered part of the voting set by this primary. -| `isHealthy` | boolean | no | `true` | Indicates that the local database for this cluster member has not encountered a critical error that would prevent local writes. +| `isHealthy` | boolean | no | `true` | Indicates that the local database on this cluster member has not encountered a critical error that would prevent local writes. [CAUTION] ==== From f7090c9df80ff893a398743082998458144f7b8d Mon Sep 17 00:00:00 2001 From: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Wed, 28 May 2025 10:10:11 +0200 Subject: [PATCH 3/4] Apply suggestions from code review Co-authored-by: Nick Giles <100630647+nick-giles-neo@users.noreply.github.com> --- modules/ROOT/pages/clustering/monitoring/endpoints.adoc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/ROOT/pages/clustering/monitoring/endpoints.adoc b/modules/ROOT/pages/clustering/monitoring/endpoints.adoc index 6350ed00f..2d5ec29d1 100644 --- a/modules/ROOT/pages/clustering/monitoring/endpoints.adoc +++ b/modules/ROOT/pages/clustering/monitoring/endpoints.adoc @@ -164,9 +164,9 @@ Therefore, details such as `leader` and `raftCommandsPerSecond` are database-spe [CAUTION] ==== The `isHealthy` status applies only to this member's local database. -It does not reflect the overall health of the cluster. +It does not reflect the overall health of the database if it is clustered. -A cluster member may still report `"isHealthy": true` even if its local database currently has no leader. +A cluster member may still report `"isHealthy": true` even if the database currently has no leader and so cannot accept write transactions. ==== | `memberId` | string | no | `30edc1c4-519c-4030-8348-7cb7af44f591` | Every member in a cluster has it's own unique member id to identify it. Use `memberId` to distinguish between primary and secondary servers. From 8e5a33c22d9b3b0543680fe1ba31f62b6e8963c5 Mon Sep 17 00:00:00 2001 From: NataliaIvakina <82437520+NataliaIvakina@users.noreply.github.com> Date: Fri, 30 May 2025 13:23:55 +0200 Subject: [PATCH 4/4] Update modules/ROOT/pages/clustering/monitoring/endpoints.adoc --- modules/ROOT/pages/clustering/monitoring/endpoints.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ROOT/pages/clustering/monitoring/endpoints.adoc b/modules/ROOT/pages/clustering/monitoring/endpoints.adoc index 2d5ec29d1..5312d37e0 100644 --- a/modules/ROOT/pages/clustering/monitoring/endpoints.adoc +++ b/modules/ROOT/pages/clustering/monitoring/endpoints.adoc @@ -159,7 +159,7 @@ Therefore, details such as `leader` and `raftCommandsPerSecond` are database-spe | `votingMembers` | string[] | no | `[]` | A member is considered a voting member when the leader has been receiving communication with it. List of member's `memberId` that are considered part of the voting set by this primary. -| `isHealthy` | boolean | no | `true` | Indicates that the local database on this cluster member has not encountered a critical error that would prevent local writes. +| `isHealthy` | boolean | no | `true` | Indicates that the local database on this cluster member has not encountered a critical error that can block database operation. [CAUTION] ====