Browse Source

Improve EventsDeletionTaskProcessor to delete only non-debug types

pull/14631/head
Andrii Landiak 8 months ago
parent
commit
1baaed8279
  1. 22
      application/src/main/java/org/thingsboard/server/service/housekeeper/processor/EventsDeletionTaskProcessor.java

22
application/src/main/java/org/thingsboard/server/service/housekeeper/processor/EventsDeletionTaskProcessor.java

@ -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

Loading…
Cancel
Save