diff --git a/components/mediation/data-publishers/org.wso2.micro.integrator.analytics.messageflow.data.publisher/src/main/java/org/wso2/micro/integrator/analytics/messageflow/data/publisher/services/MessageFlowReporterThread.java b/components/mediation/data-publishers/org.wso2.micro.integrator.analytics.messageflow.data.publisher/src/main/java/org/wso2/micro/integrator/analytics/messageflow/data/publisher/services/MessageFlowReporterThread.java index 4e93b447dd..cfe1008934 100644 --- a/components/mediation/data-publishers/org.wso2.micro.integrator.analytics.messageflow.data.publisher/src/main/java/org/wso2/micro/integrator/analytics/messageflow/data/publisher/services/MessageFlowReporterThread.java +++ b/components/mediation/data-publishers/org.wso2.micro.integrator.analytics.messageflow.data.publisher/src/main/java/org/wso2/micro/integrator/analytics/messageflow/data/publisher/services/MessageFlowReporterThread.java @@ -178,7 +178,7 @@ private void processAndPublishEventList(StatisticsReportingEventHolder statistic break; case FAULT_EVENT: BasicStatisticDataUnit basicDataUnit = event.getDataUnit(); - addFaultsToParents(messageFlowLogs, basicDataUnit.getCurrentIndex()); + addFaultsToParents(messageFlowLogs, basicDataUnit, basicDataUnit.getCurrentIndex()); break; case PARENT_REOPEN_EVENT: BasicStatisticDataUnit parentReopenDataUnit = event.getDataUnit(); @@ -262,11 +262,15 @@ private void openFlowContinuableMediators(List messageFlowLogs, i } } - void addFaultsToParents(List messageFlowLogs, int index) { + void addFaultsToParents(List messageFlowLogs, BasicStatisticDataUnit dataUnit, int index) { while (index > -1) { StatisticsLog updatingLog = messageFlowLogs.get(index); updatingLog.incrementNoOfFaults(); index = updatingLog.getParentIndex(); + + if (dataUnit.getElasticMetadata() != null) { + updatingLog.setElasticMetadata(dataUnit.getElasticMetadata()); + } } }