|
|
|
@ -17,6 +17,11 @@ package org.thingsboard.server.service.housekeeper.processor; |
|
|
|
|
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
import org.thingsboard.server.common.data.event.ErrorEventFilter; |
|
|
|
import org.thingsboard.server.common.data.event.EventFilter; |
|
|
|
import org.thingsboard.server.common.data.event.EventType; |
|
|
|
import org.thingsboard.server.common.data.event.LifeCycleEventFilter; |
|
|
|
import org.thingsboard.server.common.data.event.StatisticsEventFilter; |
|
|
|
import org.thingsboard.server.common.data.housekeeper.HousekeeperTask; |
|
|
|
import org.thingsboard.server.common.data.housekeeper.HousekeeperTaskType; |
|
|
|
import org.thingsboard.server.dao.event.EventService; |
|
|
|
@ -29,7 +34,22 @@ public class EventsDeletionTaskProcessor extends HousekeeperTaskProcessor<Housek |
|
|
|
|
|
|
|
@Override |
|
|
|
public void process(HousekeeperTask task) throws Exception { |
|
|
|
eventService.removeEvents(task.getTenantId(), task.getEntityId(), null, 0L, System.currentTimeMillis()); |
|
|
|
// Only delete non-debug events for deleted entities.
|
|
|
|
for (EventType eventType : EventType.values()) { |
|
|
|
if (!eventType.isDebug()) { |
|
|
|
EventFilter filter = createFilterForEventType(eventType); |
|
|
|
eventService.removeEvents(task.getTenantId(), task.getEntityId(), filter, 0L, System.currentTimeMillis()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private EventFilter createFilterForEventType(EventType eventType) { |
|
|
|
return switch (eventType) { |
|
|
|
case ERROR -> new ErrorEventFilter(); |
|
|
|
case LC_EVENT -> new LifeCycleEventFilter(); |
|
|
|
case STATS -> new StatisticsEventFilter(); |
|
|
|
default -> throw new IllegalArgumentException("Unexpected non-debug event type: " + eventType); |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
|