diff --git a/dao/src/main/java/org/thingsboard/server/dao/sql/query/DefaultEntityQueryRepository.java b/dao/src/main/java/org/thingsboard/server/dao/sql/query/DefaultEntityQueryRepository.java index dd1b4278d7..36ae779edd 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/sql/query/DefaultEntityQueryRepository.java +++ b/dao/src/main/java/org/thingsboard/server/dao/sql/query/DefaultEntityQueryRepository.java @@ -663,7 +663,7 @@ public class DefaultEntityQueryRepository implements EntityQueryRepository { .append("nr.").append(fromOrTo).append("_id").append(" = re.").append(toOrFrom).append("_id") .append(" and ") .append("nr.").append(fromOrTo).append("_type").append(" = re.").append(toOrFrom).append("_type"); - + notExistsPart.append(" and nr.relation_type_group = 'COMMON'"); // hit the index, the same condition are on the recursive query notExistsPart.append(")"); whereFilter += " and ( r_int.lvl = " + entityFilter.getMaxLevel() + " OR " + notExistsPart.toString() + ")"; } @@ -755,7 +755,7 @@ public class DefaultEntityQueryRepository implements EntityQueryRepository { .append("nr.").append(fromOrTo).append("_type").append(" = re.").append(toOrFrom).append("_type") .append(" and ") .append(whereFilter.toString().replaceAll("re\\.", "nr\\.")); - + notExistsPart.append(" and nr.relation_type_group = 'COMMON'"); // hit the index, the same condition are on the recursive query notExistsPart.append(")"); whereFilter.append(" and ( r_int.lvl = ").append(entityFilter.getMaxLevel()).append(" OR ").append(notExistsPart.toString()).append(")"); } diff --git a/dao/src/test/java/org/thingsboard/server/dao/service/timeseries/sql/LatestTimeseriesPerformanceTest.java b/dao/src/test/java/org/thingsboard/server/dao/service/timeseries/sql/LatestTimeseriesPerformanceTest.java index d81eea997c..a2abfc28b6 100644 --- a/dao/src/test/java/org/thingsboard/server/dao/service/timeseries/sql/LatestTimeseriesPerformanceTest.java +++ b/dao/src/test/java/org/thingsboard/server/dao/service/timeseries/sql/LatestTimeseriesPerformanceTest.java @@ -56,7 +56,8 @@ public class LatestTimeseriesPerformanceTest extends AbstractServiceTest { private static final String LONG_KEY = "longKey"; private static final String DOUBLE_KEY = "doubleKey"; private static final String BOOLEAN_KEY = "booleanKey"; - public static final int AMOUNT_OF_UNIQ_KEY = 10000; + private static final int AMOUNT_OF_UNIQ_KEY = 10000; + private static final int TIMEOUT = 100; private final Random random = new Random(); @@ -102,7 +103,7 @@ public class LatestTimeseriesPerformanceTest extends AbstractServiceTest { futures.add(save(generateDblEntry(getRandomKey()))); futures.add(save(generateBoolEntry(getRandomKey()))); } - Futures.allAsList(futures).get(60, TimeUnit.SECONDS); + Futures.allAsList(futures).get(TIMEOUT, TimeUnit.SECONDS); long endTime = System.currentTimeMillis(); long totalTime = endTime - startTime; @@ -120,7 +121,7 @@ public class LatestTimeseriesPerformanceTest extends AbstractServiceTest { futures.add(save(generateDblEntry(i))); futures.add(save(generateBoolEntry(i))); } - Futures.allAsList(futures).get(60, TimeUnit.SECONDS); + Futures.allAsList(futures).get(TIMEOUT, TimeUnit.SECONDS); } private ListenableFuture save(TsKvEntry tsKvEntry) {