From f592af2949d175ca6bc7e3d745cf8c0b29b19909 Mon Sep 17 00:00:00 2001 From: Larissa Pereira <LPereira14@slb.com> Date: Mon, 24 Jul 2023 15:08:39 -0500 Subject: [PATCH] capture inner httpResponse when Partition Exception is thrown --- .../osdu/indexer/api/RecordIndexerApi.java | 27 +++++++++++-------- .../util/BooleanFeatureFlagClient.java | 2 +- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/api/RecordIndexerApi.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/api/RecordIndexerApi.java index bb28d7869..4f08bbc54 100644 --- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/api/RecordIndexerApi.java +++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/api/RecordIndexerApi.java @@ -69,19 +69,11 @@ public class RecordIndexerApi { public ResponseEntity<JobStatus> indexWorker( @NotNull(message = SwaggerDoc.REQUEST_VALIDATION_NOT_NULL_BODY) @Valid @RequestBody RecordChangedMessages recordChangedMessages) throws Exception { - if (recordChangedMessages == null) { - log.info("record change messages is null"); - return new ResponseEntity(HttpStatus.OK); - } - if (recordChangedMessages.hasCorrelationId()) { - this.requestInfo.getHeaders().put(DpsHeaders.CORRELATION_ID, recordChangedMessages.getCorrelationId()); - } + populateCorrelationIdIfExist(recordChangedMessages); + + verifyDataPartitionId(recordChangedMessages); - if (recordChangedMessages.missingAccountId()) { - throw new AppException(org.apache.http.HttpStatus.SC_BAD_REQUEST, "Invalid tenant", - String.format("Required header: '%s' not found", DpsHeaders.DATA_PARTITION_ID)); - } try { Type listType = new TypeToken<List<RecordInfo>>() {}.getType(); List<RecordInfo> recordInfos = new Gson().fromJson(recordChangedMessages.getData(), listType); @@ -101,6 +93,19 @@ public class RecordIndexerApi { } } + private void verifyDataPartitionId(RecordChangedMessages recordChangedMessages) { + if (recordChangedMessages.missingAccountId()) { + throw new AppException(org.apache.http.HttpStatus.SC_BAD_REQUEST, "Invalid tenant", + String.format("Required header: '%s' not found", DpsHeaders.DATA_PARTITION_ID)); + } + } + + private void populateCorrelationIdIfExist(RecordChangedMessages recordChangedMessages) { + if (recordChangedMessages.hasCorrelationId()) { + this.requestInfo.getHeaders().put(DpsHeaders.CORRELATION_ID, recordChangedMessages.getCorrelationId()); + } + } + // THIS IS AN INTERNAL USE API ONLY // THAT MEANS WE DON'T DOCUMENT IT IN SWAGGER, ACCESS IS LIMITED TO CLOUD TASK QUEUE CALLS ONLY @PostMapping("/reindex-worker") diff --git a/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/BooleanFeatureFlagClient.java b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/BooleanFeatureFlagClient.java index f21e0968d..42a075e69 100644 --- a/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/BooleanFeatureFlagClient.java +++ b/indexer-core/src/main/java/org/opengroup/osdu/indexer/util/BooleanFeatureFlagClient.java @@ -55,7 +55,7 @@ public class BooleanFeatureFlagClient { PartitionInfo partitionInfo = partitionProvider.get(dataPartitionId); return partitionInfo; } catch (PartitionException e) { - logger.error(String.format("Error getting partition info for data-partition: %s", dataPartitionId), e); + logger.error(String.format("Error getting partition info for data-partition: %s. Message: %s. ResponseCode: %s.", dataPartitionId, e.getResponse().getBody(), e.getResponse().getResponseCode()), e); throw e; } } -- GitLab