diff --git a/catalog-rest-service/src/main/java/org/openmetadata/catalog/CatalogApplication.java b/catalog-rest-service/src/main/java/org/openmetadata/catalog/CatalogApplication.java index 66074efd18b..5865652aee8 100644 --- a/catalog-rest-service/src/main/java/org/openmetadata/catalog/CatalogApplication.java +++ b/catalog-rest-service/src/main/java/org/openmetadata/catalog/CatalogApplication.java @@ -187,13 +187,18 @@ public class CatalogApplication extends Application { throws NoSuchMethodException, ClassNotFoundException, IllegalAccessException, InvocationTargetException, InstantiationException { // register ElasticSearch Event publisher - ElasticSearchEventPublisher elasticSearchEventPublisher = - new ElasticSearchEventPublisher(catalogApplicationConfig.getElasticSearchConfiguration()); - EventPubSub.addEventHandler(elasticSearchEventPublisher); + if (catalogApplicationConfig.getElasticSearchConfiguration() != null) { + ElasticSearchEventPublisher elasticSearchEventPublisher = + new ElasticSearchEventPublisher(catalogApplicationConfig.getElasticSearchConfiguration()); + EventPubSub.addEventHandler(elasticSearchEventPublisher); + } // register slack Event publishers - for (SlackPublisherConfiguration slackPublisherConfiguration : catalogApplicationConfig.getSlackEventPublishers()) { - SlackWebhookEventPublisher slackPublisher = new SlackWebhookEventPublisher(slackPublisherConfiguration); - EventPubSub.addEventHandler(slackPublisher); + if (catalogApplicationConfig.getSlackEventPublishers() != null) { + for (SlackPublisherConfiguration slackPublisherConfiguration : + catalogApplicationConfig.getSlackEventPublishers()) { + SlackWebhookEventPublisher slackPublisher = new SlackWebhookEventPublisher(slackPublisherConfiguration); + EventPubSub.addEventHandler(slackPublisher); + } } } diff --git a/catalog-rest-service/src/main/java/org/openmetadata/catalog/elasticsearch/ElasticSearchEventPublisher.java b/catalog-rest-service/src/main/java/org/openmetadata/catalog/elasticsearch/ElasticSearchEventPublisher.java index 9d7e07936bf..f1a8d31ea93 100644 --- a/catalog-rest-service/src/main/java/org/openmetadata/catalog/elasticsearch/ElasticSearchEventPublisher.java +++ b/catalog-rest-service/src/main/java/org/openmetadata/catalog/elasticsearch/ElasticSearchEventPublisher.java @@ -102,7 +102,8 @@ public class ElasticSearchEventPublisher extends AbstractEventPublisher { client.update(updateRequest, RequestOptions.DEFAULT); } } catch (Exception e) { - LOG.error("failed to update ES doc", e); + LOG.error("failed to update ES doc"); + LOG.debug(e.getMessage()); } } } diff --git a/catalog-rest-service/src/main/java/org/openmetadata/catalog/events/ChangeEventHandler.java b/catalog-rest-service/src/main/java/org/openmetadata/catalog/events/ChangeEventHandler.java index db5c29b3ea6..77c275eaf18 100644 --- a/catalog-rest-service/src/main/java/org/openmetadata/catalog/events/ChangeEventHandler.java +++ b/catalog-rest-service/src/main/java/org/openmetadata/catalog/events/ChangeEventHandler.java @@ -48,6 +48,9 @@ public class ChangeEventHandler implements EventHandler { changeEvent.getEventType(), changeEvent.getEntityType()); EventPubSub.publish(changeEvent); + if (changeEvent.getEntity() != null) { + changeEvent.setEntity(JsonUtils.pojoToJson(changeEvent.getEntity())); + } dao.changeEventDAO().insert(JsonUtils.pojoToJson(changeEvent)); } } catch (Exception e) { diff --git a/catalog-rest-service/src/test/java/org/openmetadata/catalog/resources/EntityResourceTest.java b/catalog-rest-service/src/test/java/org/openmetadata/catalog/resources/EntityResourceTest.java index 7c22fd9916f..b6b8d9114f4 100644 --- a/catalog-rest-service/src/test/java/org/openmetadata/catalog/resources/EntityResourceTest.java +++ b/catalog-rest-service/src/test/java/org/openmetadata/catalog/resources/EntityResourceTest.java @@ -1117,7 +1117,6 @@ public abstract class EntityResourceTest extends CatalogApplicationTest { compareEntities( entityInterface.getEntity(), JsonUtils.readValue((String) changeEvent.getEntity(), entityClass), authHeaders); } else if (expectedEventType == EventType.ENTITY_UPDATED) { - assertNull(changeEvent.getEntity()); assertChangeDescription(expectedChangeDescription, changeEvent.getChangeDescription()); } else if (expectedEventType == EventType.ENTITY_DELETED) { assertListNull(changeEvent.getEntity(), changeEvent.getChangeDescription());