From 6ab111e94f71fa5b2d63c45df62cc9006dde3ef6 Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Thu, 6 Feb 2014 15:22:01 +0900 Subject: [PATCH] Handle exceptions during reindexing If an exception is thrown from within the change indexer, the reindex program shows a stack trace. In the case of an error when using the Solr index, it does not exit and continues running, while showing debug messages "Got ping response for sessionid", but not doing anything else. Catch exceptions in the indexer and exit with a fatal error message. Change-Id: Ief41eccc0d3fe9c5592782b51afa66c0c3150886 --- .../main/java/com/google/gerrit/pgm/Reindex.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Reindex.java b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Reindex.java index 5b59a25060..b629617999 100644 --- a/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Reindex.java +++ b/gerrit-pgm/src/main/java/com/google/gerrit/pgm/Reindex.java @@ -143,11 +143,15 @@ public class Reindex extends SiteProgram { sysManager.start(); index = sysInjector.getInstance(IndexCollection.class).getSearchIndex(); - index.markReady(false); - index.deleteAll(); - int result = indexAll(); - index.markReady(true); - + int result = 0; + try { + index.markReady(false); + index.deleteAll(); + result = indexAll(); + index.markReady(true); + } catch (Exception e) { + throw die(e.getMessage()); + } sysManager.stop(); dbManager.stop(); return result;