mirror of
https://github.com/open-metadata/OpenMetadata.git
synced 2025-11-02 03:29:03 +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);
|
||||
if (optionalChangeEvent.isPresent()) {
|
||||
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
|
||||
changeEvent.setUserName(loggedInUserName);
|
||||
LOG.info(
|
||||
|
||||
@ -132,7 +132,7 @@ public class EventSubscriptionScheduler {
|
||||
private Trigger trigger(EventSubscription eventSubscription) {
|
||||
return TriggerBuilder.newTrigger()
|
||||
.withIdentity(eventSubscription.getId().toString(), ALERT_TRIGGER_GROUP)
|
||||
.withSchedule(SimpleScheduleBuilder.repeatSecondlyForever(3))
|
||||
.withSchedule(SimpleScheduleBuilder.repeatMinutelyForever(1))
|
||||
.startNow()
|
||||
.build();
|
||||
}
|
||||
|
||||
@ -319,6 +319,10 @@ public interface MessageDecorator<T> {
|
||||
}
|
||||
message.setHeader(headerMessage);
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
@ -3222,7 +3222,8 @@ public interface CollectionDAO {
|
||||
List<String> listWithoutEntityFilter(
|
||||
@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);
|
||||
|
||||
@SqlQuery("SELECT count(*) FROM change_event")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user