Skip to content

Commit 2bc1761

Browse files
committed
Treat empty TsBlocks like null in tests
1 parent 6eac5cf commit 2bc1761

10 files changed

Lines changed: 127 additions & 12 deletions

iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AlignedSeriesAggregationScanOperatorTest.java

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,9 @@ public void testAggregationWithoutTimeFilter() throws Exception {
124124
int count = 0;
125125
while (seriesAggregationScanOperator.hasNext()) {
126126
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
127+
if (resultTsBlock == null) {
128+
continue;
129+
}
127130
for (int i = 0; i < measurementSchemas.size(); i++) {
128131
assertEquals(500, resultTsBlock.getColumn(i).getLong(0));
129132
}
@@ -155,6 +158,9 @@ public void testAggregationWithoutTimeFilterOrderByTimeDesc() throws Exception {
155158
int count = 0;
156159
while (seriesAggregationScanOperator.hasNext()) {
157160
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
161+
if (resultTsBlock == null) {
162+
continue;
163+
}
158164
for (int i = 0; i < measurementSchemas.size(); i++) {
159165
assertEquals(500, resultTsBlock.getColumn(i).getLong(0));
160166
}
@@ -191,6 +197,9 @@ public void testMultiAggregationFuncWithoutTimeFilter1() throws Exception {
191197
int count = 0;
192198
while (seriesAggregationScanOperator.hasNext()) {
193199
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
200+
if (resultTsBlock == null) {
201+
continue;
202+
}
194203
assertEquals(500, resultTsBlock.getColumn(0).getLong(0));
195204
assertEquals(6524750.0, resultTsBlock.getColumn(1).getDouble(0), 0.0001);
196205
count++;
@@ -229,6 +238,9 @@ public void testMultiAggregationFuncWithoutTimeFilter2() throws Exception {
229238
int count = 0;
230239
while (seriesAggregationScanOperator.hasNext()) {
231240
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
241+
if (resultTsBlock == null) {
242+
continue;
243+
}
232244
assertTrue(resultTsBlock.getColumn(0).getBoolean(0));
233245
assertEquals(10499, resultTsBlock.getColumn(1).getInt(0));
234246
assertEquals(20199, resultTsBlock.getColumn(2).getLong(0));
@@ -271,6 +283,9 @@ public void testMultiAggregationFuncWithoutTimeFilterOrderByTimeDesc() throws Ex
271283
int count = 0;
272284
while (seriesAggregationScanOperator.hasNext()) {
273285
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
286+
if (resultTsBlock == null) {
287+
continue;
288+
}
274289
assertTrue(resultTsBlock.getColumn(0).getBoolean(0));
275290
assertEquals(10499, resultTsBlock.getColumn(1).getInt(0));
276291
assertEquals(20199, resultTsBlock.getColumn(2).getLong(0));
@@ -306,6 +321,9 @@ public void testAggregationWithTimeFilter1() throws Exception {
306321
int count = 0;
307322
while (seriesAggregationScanOperator.hasNext()) {
308323
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
324+
if (resultTsBlock == null) {
325+
continue;
326+
}
309327
for (int i = 0; i < measurementSchemas.size(); i++) {
310328
assertEquals(resultTsBlock.getColumn(i).getLong(0), 380);
311329
}
@@ -339,6 +357,9 @@ public void testAggregationWithTimeFilter2() throws Exception {
339357
int count = 0;
340358
while (seriesAggregationScanOperator.hasNext()) {
341359
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
360+
if (resultTsBlock == null) {
361+
continue;
362+
}
342363
for (int i = 0; i < measurementSchemas.size(); i++) {
343364
assertEquals(resultTsBlock.getColumn(i).getLong(0), 380);
344365
}
@@ -372,6 +393,9 @@ public void testAggregationWithTimeFilter3() throws Exception {
372393
int count = 0;
373394
while (seriesAggregationScanOperator.hasNext()) {
374395
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
396+
if (resultTsBlock == null) {
397+
continue;
398+
}
375399
for (int i = 0; i < measurementSchemas.size(); i++) {
376400
assertEquals(resultTsBlock.getColumn(i).getLong(0), 300);
377401
}
@@ -412,6 +436,9 @@ public void testMultiAggregationWithTimeFilter() throws Exception {
412436
int count = 0;
413437
while (seriesAggregationScanOperator.hasNext()) {
414438
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
439+
if (resultTsBlock == null) {
440+
continue;
441+
}
415442
assertTrue(resultTsBlock.getColumn(0).getBoolean(0));
416443
assertEquals(399, resultTsBlock.getColumn(1).getInt(0));
417444
assertEquals(20199, resultTsBlock.getColumn(2).getLong(0));
@@ -450,6 +477,9 @@ public void testGroupByWithoutGlobalTimeFilter() throws Exception {
450477
int count = 0;
451478
while (seriesAggregationScanOperator.hasNext()) {
452479
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
480+
if (resultTsBlock == null) {
481+
continue;
482+
}
453483
int positionCount = resultTsBlock.getPositionCount();
454484
for (int pos = 0; pos < positionCount; pos++) {
455485
assertEquals(100 * count, resultTsBlock.getTimeColumn().getLong(pos));
@@ -491,6 +521,9 @@ public void testGroupByWithGlobalTimeFilter() throws Exception {
491521
int count = 0;
492522
while (seriesAggregationScanOperator.hasNext()) {
493523
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
524+
if (resultTsBlock == null) {
525+
continue;
526+
}
494527
int positionCount = resultTsBlock.getPositionCount();
495528
for (int pos = 0; pos < positionCount; pos++) {
496529
assertEquals(100 * count, resultTsBlock.getTimeColumn().getLong(pos));
@@ -536,6 +569,9 @@ public void testGroupByWithMultiFunction() throws Exception {
536569
int count = 0;
537570
while (seriesAggregationScanOperator.hasNext()) {
538571
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
572+
if (resultTsBlock == null) {
573+
continue;
574+
}
539575
int positionCount = resultTsBlock.getPositionCount();
540576
for (int pos = 0; pos < positionCount; pos++) {
541577
assertEquals(100 * count, resultTsBlock.getTimeColumn().getLong(pos));
@@ -582,6 +618,9 @@ public void testGroupByWithMultiFunctionOrderByTimeDesc() throws Exception {
582618
int count = 0;
583619
while (seriesAggregationScanOperator.hasNext()) {
584620
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
621+
if (resultTsBlock == null) {
622+
continue;
623+
}
585624
int positionCount = resultTsBlock.getPositionCount();
586625
for (int pos = 0; pos < positionCount; pos++) {
587626
assertEquals(100 * (3 - count), resultTsBlock.getTimeColumn().getLong(pos));
@@ -618,6 +657,9 @@ public void testGroupBySlidingTimeWindow() throws Exception {
618657
int count = 0;
619658
while (seriesAggregationScanOperator.hasNext()) {
620659
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
660+
if (resultTsBlock == null) {
661+
continue;
662+
}
621663
int positionCount = resultTsBlock.getPositionCount();
622664
for (int pos = 0; pos < positionCount; pos++) {
623665
assertEquals(50 * count, resultTsBlock.getTimeColumn().getLong(pos));
@@ -651,6 +693,9 @@ public void testGroupBySlidingTimeWindow2() throws Exception {
651693
int count = 0;
652694
while (seriesAggregationScanOperator.hasNext()) {
653695
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
696+
if (resultTsBlock == null) {
697+
continue;
698+
}
654699
int positionCount = resultTsBlock.getPositionCount();
655700
for (int pos = 0; pos < positionCount; pos++) {
656701
assertEquals(timeColumn[count], resultTsBlock.getTimeColumn().getLong(pos));
@@ -695,6 +740,9 @@ public void testGroupBySlidingWindowWithMultiFunction() throws Exception {
695740
int count = 0;
696741
while (seriesAggregationScanOperator.hasNext()) {
697742
TsBlock resultTsBlock = nextNonEmpty(seriesAggregationScanOperator);
743+
if (resultTsBlock == null) {
744+
continue;
745+
}
698746
int positionCount = resultTsBlock.getPositionCount();
699747
for (int pos = 0; pos < positionCount; pos++) {
700748
assertEquals(timeColumn[count], resultTsBlock.getTimeColumn().getLong(pos));

iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/FillOperatorTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,9 @@ public long ramBytesUsed() {
212212
};
213213
while (fillOperator.hasNext()) {
214214
TsBlock block = nextNonEmpty(fillOperator);
215+
if (block == null) {
216+
continue;
217+
}
215218
for (int i = 0; i < block.getPositionCount(); i++) {
216219
long expectedTime = i + 1 + count * 10000L;
217220
assertEquals(expectedTime, block.getTimeByIndex(i));
@@ -385,6 +388,9 @@ public long ramBytesUsed() {
385388
};
386389
while (fillOperator.hasNext()) {
387390
TsBlock block = nextNonEmpty(fillOperator);
391+
if (block == null) {
392+
continue;
393+
}
388394
for (int i = 0; i < block.getPositionCount(); i++) {
389395
long expectedTime = i + 1 + count * 10000L;
390396
assertEquals(expectedTime, block.getTimeByIndex(i));
@@ -562,6 +568,9 @@ public long ramBytesUsed() {
562568
};
563569
while (fillOperator.hasNext()) {
564570
TsBlock block = nextNonEmpty(fillOperator);
571+
if (block == null) {
572+
continue;
573+
}
565574
for (int i = 0; i < block.getPositionCount(); i++) {
566575
long expectedTime = i + 1 + count * 10000L;
567576
assertEquals(expectedTime, block.getTimeByIndex(i));

iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/HorizontallyConcatOperatorTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,9 @@ public void batchTest1() throws Exception {
205205
while (horizontallyConcatOperator.isBlocked().isDone()
206206
&& horizontallyConcatOperator.hasNext()) {
207207
TsBlock tsBlock = nextNonEmpty(horizontallyConcatOperator);
208+
if (tsBlock == null) {
209+
continue;
210+
}
208211
assertEquals(6, tsBlock.getValueColumnCount());
209212
for (int i = 0; i < tsBlock.getPositionCount(); i++, count++) {
210213
assertEquals(count, tsBlock.getTimeByIndex(i));

iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeTreeSortOperatorTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1796,6 +1796,9 @@ public void mergeSortTest() throws Exception {
17961796
int index = 0;
17971797
while (treeMergeSortOperator.isBlocked().isDone() && treeMergeSortOperator.hasNext()) {
17981798
TsBlock result = nextNonEmpty(treeMergeSortOperator);
1799+
if (result == null) {
1800+
continue;
1801+
}
17991802
for (int i = 0; i < result.getPositionCount(); i++) {
18001803
long time = result.getTimeByIndex(i);
18011804
assertEquals(time, ans[index++]);

iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/OffsetOperatorTest.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@
6666

6767
import static org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext.createFragmentInstanceContext;
6868
import static org.apache.iotdb.db.queryengine.execution.operator.OperatorTestUtils.nextNonEmpty;
69-
import static org.apache.iotdb.db.queryengine.execution.operator.OperatorTestUtils.nextNonEmptyOrNull;
7069
import static org.junit.Assert.assertEquals;
7170
import static org.junit.Assert.assertTrue;
7271
import static org.junit.Assert.fail;
@@ -171,6 +170,9 @@ public void batchTest1() throws Exception {
171170
int count = 100;
172171
while (limitOperator.isBlocked().isDone() && limitOperator.hasNext()) {
173172
TsBlock tsBlock = nextNonEmpty(limitOperator);
173+
if (tsBlock == null) {
174+
continue;
175+
}
174176
assertEquals(2, tsBlock.getValueColumnCount());
175177
assertTrue(tsBlock.getColumn(0) instanceof IntColumn);
176178
assertTrue(tsBlock.getColumn(1) instanceof IntColumn);
@@ -279,6 +281,9 @@ public void batchTest2() throws Exception {
279281
int count = 0;
280282
while (offsetOperator.isBlocked().isDone() && offsetOperator.hasNext()) {
281283
TsBlock tsBlock = nextNonEmpty(offsetOperator);
284+
if (tsBlock == null) {
285+
continue;
286+
}
282287
assertEquals(2, tsBlock.getValueColumnCount());
283288
assertTrue(tsBlock.getColumn(0) instanceof IntColumn);
284289
assertTrue(tsBlock.getColumn(1) instanceof IntColumn);
@@ -384,7 +389,7 @@ public void batchTest3() throws Exception {
384389
new OffsetOperator(driverContext.getOperatorContexts().get(3), 500, timeJoinOperator);
385390

386391
while (offsetOperator.isBlocked().isDone() && offsetOperator.hasNext()) {
387-
TsBlock tsBlock = nextNonEmptyOrNull(offsetOperator);
392+
TsBlock tsBlock = nextNonEmpty(offsetOperator);
388393
if (tsBlock == null) {
389394
continue;
390395
}
@@ -476,7 +481,7 @@ public void batchTest4() throws Exception {
476481
driverContext.getOperatorContexts().get(3), 98_784_247_808L, timeJoinOperator);
477482

478483
while (offsetOperator.isBlocked().isDone() && offsetOperator.hasNext()) {
479-
TsBlock tsBlock = nextNonEmptyOrNull(offsetOperator);
484+
TsBlock tsBlock = nextNonEmpty(offsetOperator);
480485
if (tsBlock == null) {
481486
continue;
482487
}

iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/OperatorTestUtils.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,6 @@ private OperatorTestUtils() {
2929
}
3030

3131
public static TsBlock nextNonEmpty(Operator operator) throws Exception {
32-
TsBlock result = nextNonEmptyOrNull(operator);
33-
if (result != null) {
34-
return result;
35-
}
36-
throw new AssertionError("Expected a non-empty TsBlock from operator");
37-
}
38-
39-
public static TsBlock nextNonEmptyOrNull(Operator operator) throws Exception {
4032
while (operator.hasNext()) {
4133
TsBlock result = operator.next();
4234
if (!isNullOrEmpty(result)) {

0 commit comments

Comments
 (0)