Browse Source

Merge pull request #1653 from ViktorBasanets/master

Added debug events ttl
pull/1728/head
Andrew Shvayka 7 years ago
committed by GitHub
parent
commit
6b78ecb1bb
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      application/src/main/resources/thingsboard.yml
  2. 12
      dao/src/main/java/org/thingsboard/server/dao/event/CassandraBaseEventDao.java
  3. 2
      dao/src/test/resources/cassandra-test.properties

2
application/src/main/resources/thingsboard.yml

@ -166,6 +166,8 @@ 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}"
# Specify TTL of debug log in seconds. The current value corresponds to one week
debug_events_ttl: "${DEBUG_EVENTS_TTL:604800}"
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}"

12
dao/src/main/java/org/thingsboard/server/dao/event/CassandraBaseEventDao.java

@ -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 int 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().equals(DataConstants.DEBUG_RULE_NODE) ? 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 -> {

2
dao/src/test/resources/cassandra-test.properties

@ -48,6 +48,8 @@ cassandra.query.ts_key_value_partitioning=HOURS
cassandra.query.ts_key_value_ttl=0 cassandra.query.ts_key_value_ttl=0
cassandra.query.debug_events_ttl=604800
cassandra.query.max_limit_per_request=1000 cassandra.query.max_limit_per_request=1000
cassandra.query.buffer_size=100000 cassandra.query.buffer_size=100000
cassandra.query.concurrent_limit=1000 cassandra.query.concurrent_limit=1000

Loading…
Cancel
Save