Commit 6b78ecb1bbc383ff4622579a604b69b799ba0df1

Authored by Andrew Shvayka
Committed by GitHub
2 parents 27254419 b1ff6367

Merge pull request #1653 from ViktorBasanets/master

Added debug events ttl
@@ -166,6 +166,8 @@ cassandra: @@ -166,6 +166,8 @@ cassandra:
166 ts_key_value_partitioning: "${TS_KV_PARTITIONING:MONTHS}" 166 ts_key_value_partitioning: "${TS_KV_PARTITIONING:MONTHS}"
167 ts_key_value_ttl: "${TS_KV_TTL:0}" 167 ts_key_value_ttl: "${TS_KV_TTL:0}"
168 events_ttl: "${TS_EVENTS_TTL:0}" 168 events_ttl: "${TS_EVENTS_TTL:0}"
  169 + # Specify TTL of debug log in seconds. The current value corresponds to one week
  170 + debug_events_ttl: "${DEBUG_EVENTS_TTL:604800}"
169 buffer_size: "${CASSANDRA_QUERY_BUFFER_SIZE:200000}" 171 buffer_size: "${CASSANDRA_QUERY_BUFFER_SIZE:200000}"
170 concurrent_limit: "${CASSANDRA_QUERY_CONCURRENT_LIMIT:1000}" 172 concurrent_limit: "${CASSANDRA_QUERY_CONCURRENT_LIMIT:1000}"
171 permit_max_wait_time: "${PERMIT_MAX_WAIT_TIME:120000}" 173 permit_max_wait_time: "${PERMIT_MAX_WAIT_TIME:120000}"
@@ -26,6 +26,7 @@ import lombok.extern.slf4j.Slf4j; @@ -26,6 +26,7 @@ import lombok.extern.slf4j.Slf4j;
26 import org.apache.commons.lang3.StringUtils; 26 import org.apache.commons.lang3.StringUtils;
27 import org.springframework.beans.factory.annotation.Value; 27 import org.springframework.beans.factory.annotation.Value;
28 import org.springframework.stereotype.Component; 28 import org.springframework.stereotype.Component;
  29 +import org.thingsboard.server.common.data.DataConstants;
29 import org.thingsboard.server.common.data.Event; 30 import org.thingsboard.server.common.data.Event;
30 import org.thingsboard.server.common.data.id.EntityId; 31 import org.thingsboard.server.common.data.id.EntityId;
31 import org.thingsboard.server.common.data.id.EventId; 32 import org.thingsboard.server.common.data.id.EventId;
@@ -69,6 +70,9 @@ public class CassandraBaseEventDao extends CassandraAbstractSearchTimeDao<EventE @@ -69,6 +70,9 @@ public class CassandraBaseEventDao extends CassandraAbstractSearchTimeDao<EventE
69 @Value("${cassandra.query.events_ttl:0}") 70 @Value("${cassandra.query.events_ttl:0}")
70 private int eventsTtl; 71 private int eventsTtl;
71 72
  73 + @Value("${cassandra.query.debug_events_ttl}")
  74 + private int debugEventsTtl;
  75 +
72 @Override 76 @Override
73 public Event save(TenantId tenantId, Event event) { 77 public Event save(TenantId tenantId, Event event) {
74 try { 78 try {
@@ -188,11 +192,15 @@ public class CassandraBaseEventDao extends CassandraAbstractSearchTimeDao<EventE @@ -188,11 +192,15 @@ public class CassandraBaseEventDao extends CassandraAbstractSearchTimeDao<EventE
188 .value(ModelConstants.EVENT_TYPE_PROPERTY, entity.getEventType()) 192 .value(ModelConstants.EVENT_TYPE_PROPERTY, entity.getEventType())
189 .value(ModelConstants.EVENT_UID_PROPERTY, entity.getEventUid()) 193 .value(ModelConstants.EVENT_UID_PROPERTY, entity.getEventUid())
190 .value(ModelConstants.EVENT_BODY_PROPERTY, entity.getBody()); 194 .value(ModelConstants.EVENT_BODY_PROPERTY, entity.getBody());
  195 +
191 if (ifNotExists) { 196 if (ifNotExists) {
192 insert = insert.ifNotExists(); 197 insert = insert.ifNotExists();
193 } 198 }
194 - if(ttl > 0){  
195 - insert.using(ttl(ttl)); 199 +
  200 + int selectedTtl = entity.getEventType().equals(DataConstants.DEBUG_RULE_NODE) ? debugEventsTtl : ttl;
  201 +
  202 + if(selectedTtl > 0){
  203 + insert.using(ttl(selectedTtl));
196 } 204 }
197 ResultSetFuture resultSetFuture = executeAsyncWrite(tenantId, insert); 205 ResultSetFuture resultSetFuture = executeAsyncWrite(tenantId, insert);
198 return Futures.transform(resultSetFuture, rs -> { 206 return Futures.transform(resultSetFuture, rs -> {
@@ -48,6 +48,8 @@ cassandra.query.ts_key_value_partitioning=HOURS @@ -48,6 +48,8 @@ cassandra.query.ts_key_value_partitioning=HOURS
48 48
49 cassandra.query.ts_key_value_ttl=0 49 cassandra.query.ts_key_value_ttl=0
50 50
  51 +cassandra.query.debug_events_ttl=604800
  52 +
51 cassandra.query.max_limit_per_request=1000 53 cassandra.query.max_limit_per_request=1000
52 cassandra.query.buffer_size=100000 54 cassandra.query.buffer_size=100000
53 cassandra.query.concurrent_limit=1000 55 cassandra.query.concurrent_limit=1000