Merge branch 'develop/3.4' of github.com:thingsboard/thingsboard into develop/3.4
This commit is contained in:
		
						commit
						33e736d4ca
					
				@ -74,6 +74,7 @@ import org.thingsboard.server.gen.edge.v1.UserCredentialsRequestMsg;
 | 
			
		||||
import org.thingsboard.server.gen.edge.v1.WidgetBundleTypesRequestMsg;
 | 
			
		||||
import org.thingsboard.server.service.entitiy.entityview.TbEntityViewService;
 | 
			
		||||
import org.thingsboard.server.service.executors.DbCallbackExecutorService;
 | 
			
		||||
import org.thingsboard.server.service.state.DefaultDeviceStateService;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
@ -162,6 +163,9 @@ public class DefaultEdgeRequestsService implements EdgeRequestsService {
 | 
			
		||||
                    Map<String, Object> entityData = new HashMap<>();
 | 
			
		||||
                    ObjectNode attributes = mapper.createObjectNode();
 | 
			
		||||
                    for (AttributeKvEntry attr : ssAttributes) {
 | 
			
		||||
                        if (DefaultDeviceStateService.PERSISTENT_ATTRIBUTES.contains(attr.getKey())) {
 | 
			
		||||
                            continue;
 | 
			
		||||
                        }
 | 
			
		||||
                        if (attr.getDataType() == DataType.BOOLEAN && attr.getBooleanValue().isPresent()) {
 | 
			
		||||
                            attributes.put(attr.getKey(), attr.getBooleanValue().get());
 | 
			
		||||
                        } else if (attr.getDataType() == DataType.DOUBLE && attr.getDoubleValue().isPresent()) {
 | 
			
		||||
 | 
			
		||||
@ -266,7 +266,6 @@ sql:
 | 
			
		||||
    batch_size: "${SQL_EDGE_EVENTS_BATCH_SIZE:1000}"
 | 
			
		||||
    batch_max_delay: "${SQL_EDGE_EVENTS_BATCH_MAX_DELAY_MS:100}"
 | 
			
		||||
    stats_print_interval_ms: "${SQL_EDGE_EVENTS_BATCH_STATS_PRINT_MS:10000}"
 | 
			
		||||
    batch_threads: "${SQL_EDGE_EVENTS_BATCH_THREADS:3}" # batch thread count have to be a prime number like 3 or 5 to gain perfect hash distribution
 | 
			
		||||
  # Specify whether to sort entities before batch update. Should be enabled for cluster mode to avoid deadlocks
 | 
			
		||||
  batch_sort: "${SQL_BATCH_SORT:false}"
 | 
			
		||||
  # Specify whether to remove null characters from strValue of attributes and timeseries before insert
 | 
			
		||||
 | 
			
		||||
@ -72,9 +72,6 @@ public class JpaBaseEdgeEventDao extends JpaAbstractSearchTextDao<EdgeEventEntit
 | 
			
		||||
    @Value("${sql.edge_events.stats_print_interval_ms:10000}")
 | 
			
		||||
    private long statsPrintIntervalMs;
 | 
			
		||||
 | 
			
		||||
    @Value("${sql.edge_events.batch_threads:3}")
 | 
			
		||||
    private int batchThreads;
 | 
			
		||||
 | 
			
		||||
    private TbSqlBlockingQueueWrapper<EdgeEventEntity> queue;
 | 
			
		||||
 | 
			
		||||
    @Autowired
 | 
			
		||||
@ -110,7 +107,7 @@ public class JpaBaseEdgeEventDao extends JpaAbstractSearchTextDao<EdgeEventEntit
 | 
			
		||||
                return NULL_UUID.hashCode();
 | 
			
		||||
            }
 | 
			
		||||
        };
 | 
			
		||||
        queue = new TbSqlBlockingQueueWrapper<>(params, hashcodeFunction, batchThreads, statsFactory);
 | 
			
		||||
        queue = new TbSqlBlockingQueueWrapper<>(params, hashcodeFunction, 1, statsFactory);
 | 
			
		||||
        queue.init(logExecutor, v -> edgeEventInsertRepository.save(v),
 | 
			
		||||
                Comparator.comparing(EdgeEventEntity::getTs)
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user