mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-17 19:33:38 +00:00
[Perf Fix] Use Where clause on change event listing (#15430)
* - Use Where clause on change event listing * - Poll in a minute * - Fix Entity Url - Ignore Query Entity for Change Event Update
This commit is contained in:
parent
110e7a4f4b
commit
7e66756821
@ -1,3 +0,0 @@
|
|||||||
package org.openmetadata.service.apps.bundles.changeEvent;
|
|
||||||
|
|
||||||
public class EventAlertProducer {}
|
|
||||||
@ -63,6 +63,9 @@ public class ChangeEventHandler implements EventHandler {
|
|||||||
getChangeEventFromResponseContext(responseContext, loggedInUserName, method);
|
getChangeEventFromResponseContext(responseContext, loggedInUserName, method);
|
||||||
if (optionalChangeEvent.isPresent()) {
|
if (optionalChangeEvent.isPresent()) {
|
||||||
ChangeEvent changeEvent = optionalChangeEvent.get();
|
ChangeEvent changeEvent = optionalChangeEvent.get();
|
||||||
|
if (changeEvent.getEntityType().equals(Entity.QUERY)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
// Always set the Change Event Username as context Principal, the one creating the CE
|
// Always set the Change Event Username as context Principal, the one creating the CE
|
||||||
changeEvent.setUserName(loggedInUserName);
|
changeEvent.setUserName(loggedInUserName);
|
||||||
LOG.info(
|
LOG.info(
|
||||||
|
|||||||
@ -132,7 +132,7 @@ public class EventSubscriptionScheduler {
|
|||||||
private Trigger trigger(EventSubscription eventSubscription) {
|
private Trigger trigger(EventSubscription eventSubscription) {
|
||||||
return TriggerBuilder.newTrigger()
|
return TriggerBuilder.newTrigger()
|
||||||
.withIdentity(eventSubscription.getId().toString(), ALERT_TRIGGER_GROUP)
|
.withIdentity(eventSubscription.getId().toString(), ALERT_TRIGGER_GROUP)
|
||||||
.withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(3))
|
.withSchedule(SimpleScheduleBuilder.repeatMinutelyForever(1))
|
||||||
.startNow()
|
.startNow()
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -319,6 +319,10 @@ public interface MessageDecorator<T> {
|
|||||||
}
|
}
|
||||||
message.setHeader(headerMessage);
|
message.setHeader(headerMessage);
|
||||||
message.setMessages(attachmentList);
|
message.setMessages(attachmentList);
|
||||||
|
|
||||||
|
MessageParser.EntityLink entityLink = MessageParser.EntityLink.parse(thread.getAbout());
|
||||||
|
EntityInterface entityInterface = Entity.getEntity(entityLink, "", Include.ALL);
|
||||||
|
message.setEntityUrl(buildEntityUrl(entityLink.getEntityFQN(), entityInterface));
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -3222,7 +3222,8 @@ public interface CollectionDAO {
|
|||||||
List<String> listWithoutEntityFilter(
|
List<String> listWithoutEntityFilter(
|
||||||
@Bind("eventType") String eventType, @Bind("timestamp") long timestamp);
|
@Bind("eventType") String eventType, @Bind("timestamp") long timestamp);
|
||||||
|
|
||||||
@SqlQuery("SELECT json FROM change_event ORDER BY eventTime ASC LIMIT :limit OFFSET :offset")
|
@SqlQuery(
|
||||||
|
"SELECT json FROM change_event where offset > :offset ORDER BY eventTime ASC LIMIT :limit")
|
||||||
List<String> list(@Bind("limit") long limit, @Bind("offset") long offset);
|
List<String> list(@Bind("limit") long limit, @Bind("offset") long offset);
|
||||||
|
|
||||||
@SqlQuery("SELECT count(*) FROM change_event")
|
@SqlQuery("SELECT count(*) FROM change_event")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user