Merge branch 'master' of github.com:thingsboard/thingsboard
This commit is contained in:
		
						commit
						8a30b99d18
					
				@ -147,6 +147,11 @@ public class DefaultTbApiUsageStateService implements TbApiUsageStateService {
 | 
			
		||||
    public void process(TbProtoQueueMsg<ToUsageStatsServiceMsg> msg, TbCallback callback) {
 | 
			
		||||
        ToUsageStatsServiceMsg statsMsg = msg.getValue();
 | 
			
		||||
        TenantId tenantId = new TenantId(new UUID(statsMsg.getTenantIdMSB(), statsMsg.getTenantIdLSB()));
 | 
			
		||||
 | 
			
		||||
        if (tenantProfileCache.get(tenantId) == null) {
 | 
			
		||||
            return;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        TenantApiUsageState tenantState;
 | 
			
		||||
        List<TsKvEntry> updatedEntries;
 | 
			
		||||
        Map<ApiFeature, ApiUsageStateValue> result;
 | 
			
		||||
@ -343,7 +348,15 @@ public class DefaultTbApiUsageStateService implements TbApiUsageStateService {
 | 
			
		||||
            long now = System.currentTimeMillis();
 | 
			
		||||
            myTenantStates.values().forEach(state -> {
 | 
			
		||||
                if ((state.getNextCycleTs() > now) && (state.getNextCycleTs() - now < TimeUnit.HOURS.toMillis(1))) {
 | 
			
		||||
                    TenantId tenantId = state.getTenantId();
 | 
			
		||||
                    state.setCycles(state.getNextCycleTs(), SchedulerUtils.getStartOfNextNextMonth());
 | 
			
		||||
                    ToUsageStatsServiceMsg.Builder msg = ToUsageStatsServiceMsg.newBuilder();
 | 
			
		||||
                    msg.setTenantIdMSB(tenantId.getId().getMostSignificantBits());
 | 
			
		||||
                    msg.setTenantIdLSB(tenantId.getId().getLeastSignificantBits());
 | 
			
		||||
                    for (ApiUsageRecordKey key : ApiUsageRecordKey.values()) {
 | 
			
		||||
                        msg.addValues(UsageStatsKVProto.newBuilder().setKey(key.name()).setValue(0).build());
 | 
			
		||||
                    }
 | 
			
		||||
                    process(new TbProtoQueueMsg<>(UUID.randomUUID(), msg.build()), TbCallback.EMPTY);
 | 
			
		||||
                }
 | 
			
		||||
            });
 | 
			
		||||
        } finally {
 | 
			
		||||
 | 
			
		||||
@ -297,7 +297,7 @@ public class DefaultTbCoreConsumerService extends AbstractConsumerService<ToCore
 | 
			
		||||
                        try {
 | 
			
		||||
                            handleUsageStats(msg, callback);
 | 
			
		||||
                        } catch (Throwable e) {
 | 
			
		||||
                            log.warn("[{}] Failed to process usge stats: {}", id, msg, e);
 | 
			
		||||
                            log.warn("[{}] Failed to process usage stats: {}", id, msg, e);
 | 
			
		||||
                            callback.onFailure(e);
 | 
			
		||||
                        }
 | 
			
		||||
                    });
 | 
			
		||||
 | 
			
		||||
@ -195,9 +195,11 @@ public class HashPartitionService implements PartitionService {
 | 
			
		||||
        if (current.getServiceTypesList().contains(serviceType.name())) {
 | 
			
		||||
            result.add(current.getServiceId());
 | 
			
		||||
        }
 | 
			
		||||
        for (ServiceInfo serviceInfo : currentOtherServices) {
 | 
			
		||||
            if (serviceInfo.getServiceTypesList().contains(serviceType.name())) {
 | 
			
		||||
                result.add(serviceInfo.getServiceId());
 | 
			
		||||
        if (currentOtherServices != null) {
 | 
			
		||||
            for (ServiceInfo serviceInfo : currentOtherServices) {
 | 
			
		||||
                if (serviceInfo.getServiceTypesList().contains(serviceType.name())) {
 | 
			
		||||
                    result.add(serviceInfo.getServiceId());
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        return result;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user