diff --git a/core-services/egov-indexer/src/main/java/org/egov/infra/indexer/bulkindexer/BulkIndexer.java b/core-services/egov-indexer/src/main/java/org/egov/infra/indexer/bulkindexer/BulkIndexer.java index f51da64022d..35bb6c3b902 100644 --- a/core-services/egov-indexer/src/main/java/org/egov/infra/indexer/bulkindexer/BulkIndexer.java +++ b/core-services/egov-indexer/src/main/java/org/egov/infra/indexer/bulkindexer/BulkIndexer.java @@ -46,15 +46,19 @@ public void indexJsonOntoES(String url, String indexJson, Index index) throws Ex Object response = restTemplate.postForObject(url.toString(), entity, Map.class); if (url.contains("_bulk")) { if (JsonPath.read(mapper.writeValueAsString(response), "$.errors").equals(true)) { - log.info("Indexing FAILED!!!!"); - log.info("Response from ES: " + response); + log.error("Indexing FAILED!!!! Response from ES: {}", response); + throw new RuntimeException("ES bulk indexing returned errors for URL: " + url + ", response: " + response); } } } catch (final ResourceAccessException e) { log.error("ES is DOWN, Pausing kafka listener......."); indexerUtils.orchestrateListenerOnESHealth(); + throw new RuntimeException("ES is DOWN, indexing failed for URL: " + url, e); + } catch (RuntimeException e) { + throw e; } catch (Exception e) { log.error("Exception while trying to index to ES. Note: ES is not Down.", e); + throw new RuntimeException("Exception while indexing to ES for URL: " + url, e); } } diff --git a/core-services/egov-indexer/src/main/java/org/egov/infra/indexer/service/DataTransformationService.java b/core-services/egov-indexer/src/main/java/org/egov/infra/indexer/service/DataTransformationService.java index 78d0f7e9d7b..6c0914a70d0 100644 --- a/core-services/egov-indexer/src/main/java/org/egov/infra/indexer/service/DataTransformationService.java +++ b/core-services/egov-indexer/src/main/java/org/egov/infra/indexer/service/DataTransformationService.java @@ -112,6 +112,7 @@ public String buildJsonForIndex(Index index, String kafkaJson, boolean isBulk, b result = jsonTobeIndexed.toString(); } catch (Exception e) { log.error("Error while building jsonstring for indexing", e); + throw new RuntimeException("Failed to build JSON for indexing on index: " + index.getName(), e); } return result; diff --git a/core-services/egov-indexer/src/main/java/org/egov/infra/indexer/service/IndexerService.java b/core-services/egov-indexer/src/main/java/org/egov/infra/indexer/service/IndexerService.java index ac3d9691ce9..a0b4087c733 100644 --- a/core-services/egov-indexer/src/main/java/org/egov/infra/indexer/service/IndexerService.java +++ b/core-services/egov-indexer/src/main/java/org/egov/infra/indexer/service/IndexerService.java @@ -177,8 +177,9 @@ public void validateAndIndex(String finalJson, String url, Index index) throws E else indexWithESId(index, finalJson); } else { - log.error("Indexing will not be done, please modify the data and retry."); - log.error("Object: " + finalJson); + log.error("Indexing will not be done, finalJson is empty. Index: {}", index.getName()); + throw new IndexerException("Empty JSON produced for index: " + index.getName() + " - please modify the data and retry", + new RuntimeException("Empty/null JSON for index: " + index.getName())); } }