Added debug event ttl
This commit is contained in:
parent
12280f817a
commit
16a18638f2
@ -166,6 +166,7 @@ cassandra:
|
||||
ts_key_value_partitioning: "${TS_KV_PARTITIONING:MONTHS}"
|
||||
ts_key_value_ttl: "${TS_KV_TTL:0}"
|
||||
events_ttl: "${TS_EVENTS_TTL:0}"
|
||||
debug_events_ttl: "${DEBUG_EVENTS_TTL:WEEK}"
|
||||
buffer_size: "${CASSANDRA_QUERY_BUFFER_SIZE:200000}"
|
||||
concurrent_limit: "${CASSANDRA_QUERY_CONCURRENT_LIMIT:1000}"
|
||||
permit_max_wait_time: "${PERMIT_MAX_WAIT_TIME:120000}"
|
||||
|
||||
@ -26,6 +26,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.thingsboard.server.common.data.DataConstants;
|
||||
import org.thingsboard.server.common.data.Event;
|
||||
import org.thingsboard.server.common.data.id.EntityId;
|
||||
import org.thingsboard.server.common.data.id.EventId;
|
||||
@ -69,6 +70,9 @@ public class CassandraBaseEventDao extends CassandraAbstractSearchTimeDao<EventE
|
||||
@Value("${cassandra.query.events_ttl:0}")
|
||||
private int eventsTtl;
|
||||
|
||||
@Value("${cassandra.query.debug_events_ttl}")
|
||||
private String debugEventsTtl;
|
||||
|
||||
@Override
|
||||
public Event save(TenantId tenantId, Event event) {
|
||||
try {
|
||||
@ -188,11 +192,15 @@ public class CassandraBaseEventDao extends CassandraAbstractSearchTimeDao<EventE
|
||||
.value(ModelConstants.EVENT_TYPE_PROPERTY, entity.getEventType())
|
||||
.value(ModelConstants.EVENT_UID_PROPERTY, entity.getEventUid())
|
||||
.value(ModelConstants.EVENT_BODY_PROPERTY, entity.getBody());
|
||||
|
||||
if (ifNotExists) {
|
||||
insert = insert.ifNotExists();
|
||||
}
|
||||
if(ttl > 0){
|
||||
insert.using(ttl(ttl));
|
||||
|
||||
int selectedTtl = entity.getEventType().matches(DataConstants.DEBUG_RULE_NODE) ? toMillis(debugEventsTtl) : ttl;
|
||||
|
||||
if(selectedTtl > 0){
|
||||
insert.using(ttl(selectedTtl));
|
||||
}
|
||||
ResultSetFuture resultSetFuture = executeAsyncWrite(tenantId, insert);
|
||||
return Futures.transform(resultSetFuture, rs -> {
|
||||
@ -203,4 +211,14 @@ public class CassandraBaseEventDao extends CassandraAbstractSearchTimeDao<EventE
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private int toMillis(String timeInterval) {
|
||||
switch (timeInterval) {
|
||||
case "DAY":
|
||||
return 24 * 3600 * 1000;
|
||||
case "WEEK":
|
||||
return 7 * 24 * 3600 * 1000;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user