This is an automated email from the ASF dual-hosted git repository.

rnewson pushed a commit to branch enhance-index-health-check
in repository https://gitbox.apache.org/repos/asf/couchdb.git


The following commit(s) were added to refs/heads/enhance-index-health-check by 
this push:
     new 9b8d1db9a enhance nouveau index health check
9b8d1db9a is described below

commit 9b8d1db9aaaed00b206e23d9de4febea91d57a50
Author: Robert Newson <[email protected]>
AuthorDate: Fri Jan 5 18:14:04 2024 +0000

    enhance nouveau index health check
---
 .../apache/couchdb/nouveau/health/IndexHealthCheck.java  | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git 
a/nouveau/src/main/java/org/apache/couchdb/nouveau/health/IndexHealthCheck.java 
b/nouveau/src/main/java/org/apache/couchdb/nouveau/health/IndexHealthCheck.java
index b66bbcde5..fa4431fb3 100644
--- 
a/nouveau/src/main/java/org/apache/couchdb/nouveau/health/IndexHealthCheck.java
+++ 
b/nouveau/src/main/java/org/apache/couchdb/nouveau/health/IndexHealthCheck.java
@@ -31,7 +31,7 @@ public final class IndexHealthCheck extends HealthCheck {
     }
 
     @Override
-    protected Result check() throws Exception {
+    protected Result check() {
         final String name = "___test9";
         try {
             indexResource.deletePath(name, null);
@@ -39,8 +39,8 @@ public final class IndexHealthCheck extends HealthCheck {
             // Ignored, index might not exist yet.
         }
 
-        indexResource.createIndex(name, new IndexDefinition("standard", null));
         try {
+            indexResource.createIndex(name, new IndexDefinition("standard", 
null));
             final DocumentUpdateRequest documentUpdateRequest =
                     new DocumentUpdateRequest(0, 1, null, 
Collections.emptyList());
             indexResource.updateDoc(name, "foo", documentUpdateRequest);
@@ -51,10 +51,18 @@ public final class IndexHealthCheck extends HealthCheck {
             final SearchResults searchResults = 
indexResource.searchIndex(name, searchRequest);
             if (searchResults.getTotalHits() == 1) {
                 return Result.healthy();
+            } else {
+                return Result.unhealthy(
+                        "Wrong number of search results, expected 1, got %d", 
searchResults.getTotalHits());
             }
+        } catch (final Exception e) {
+            return Result.unhealthy(e);
         } finally {
-            indexResource.deletePath(name, null);
+            try {
+                indexResource.deletePath(name, null);
+            } catch (final IOException e) {
+                return Result.unhealthy(e);
+            }
         }
-        return Result.unhealthy(name);
     }
 }

Reply via email to