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_partitioning: "${TS_KV_PARTITIONING:MONTHS}"
|
||||||
ts_key_value_ttl: "${TS_KV_TTL:0}"
|
ts_key_value_ttl: "${TS_KV_TTL:0}"
|
||||||
events_ttl: "${TS_EVENTS_TTL:0}"
|
events_ttl: "${TS_EVENTS_TTL:0}"
|
||||||
|
debug_events_ttl: "${DEBUG_EVENTS_TTL:WEEK}"
|
||||||
buffer_size: "${CASSANDRA_QUERY_BUFFER_SIZE:200000}"
|
buffer_size: "${CASSANDRA_QUERY_BUFFER_SIZE:200000}"
|
||||||
concurrent_limit: "${CASSANDRA_QUERY_CONCURRENT_LIMIT:1000}"
|
concurrent_limit: "${CASSANDRA_QUERY_CONCURRENT_LIMIT:1000}"
|
||||||
permit_max_wait_time: "${PERMIT_MAX_WAIT_TIME:120000}"
|
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.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Component;
|
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.Event;
|
||||||
import org.thingsboard.server.common.data.id.EntityId;
|
import org.thingsboard.server.common.data.id.EntityId;
|
||||||
import org.thingsboard.server.common.data.id.EventId;
|
import org.thingsboard.server.common.data.id.EventId;
|
||||||
@ -69,6 +70,9 @@ public class CassandraBaseEventDao extends CassandraAbstractSearchTimeDao<EventE
|
|||||||
@Value("${cassandra.query.events_ttl:0}")
|
@Value("${cassandra.query.events_ttl:0}")
|
||||||
private int eventsTtl;
|
private int eventsTtl;
|
||||||
|
|
||||||
|
@Value("${cassandra.query.debug_events_ttl}")
|
||||||
|
private String debugEventsTtl;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Event save(TenantId tenantId, Event event) {
|
public Event save(TenantId tenantId, Event event) {
|
||||||
try {
|
try {
|
||||||
@ -188,11 +192,15 @@ public class CassandraBaseEventDao extends CassandraAbstractSearchTimeDao<EventE
|
|||||||
.value(ModelConstants.EVENT_TYPE_PROPERTY, entity.getEventType())
|
.value(ModelConstants.EVENT_TYPE_PROPERTY, entity.getEventType())
|
||||||
.value(ModelConstants.EVENT_UID_PROPERTY, entity.getEventUid())
|
.value(ModelConstants.EVENT_UID_PROPERTY, entity.getEventUid())
|
||||||
.value(ModelConstants.EVENT_BODY_PROPERTY, entity.getBody());
|
.value(ModelConstants.EVENT_BODY_PROPERTY, entity.getBody());
|
||||||
|
|
||||||
if (ifNotExists) {
|
if (ifNotExists) {
|
||||||
insert = insert.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);
|
ResultSetFuture resultSetFuture = executeAsyncWrite(tenantId, insert);
|
||||||
return Futures.transform(resultSetFuture, rs -> {
|
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