Skip to content

Commit

Permalink
Fix desc batchdata count bug (#2186)
Browse files Browse the repository at this point in the history
remove Serializable interface on BatchData
Co-authored-by: LebronAl <[email protected]>
  • Loading branch information
Alima777 authored Dec 5, 2020
1 parent a521f7f commit 12fe408
Show file tree
Hide file tree
Showing 18 changed files with 469 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public MemPageReader(IPointReader timeValuePairIterator, ChunkMetadata chunkMeta
@Override
public BatchData getAllSatisfiedPageData(boolean ascending) throws IOException {
BatchData batchData = BatchDataFactory
.createBatchData(chunkMetadata.getDataType(), ascending);
.createBatchData(chunkMetadata.getDataType(), ascending, false);
while (timeValuePairIterator.hasNextTimeValuePair()) {
TimeValuePair timeValuePair = timeValuePairIterator.nextTimeValuePair();
if (valueFilter == null || valueFilter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -578,7 +578,8 @@ private boolean hasNextOverlappedPage() throws IOException {

if (mergeReader.hasNextTimeValuePair()) {

cachedBatchData = BatchDataFactory.createBatchData(dataType);
cachedBatchData = BatchDataFactory
.createBatchData(dataType, orderUtils.getAscending(), true);
long currentPageEndPointTime = mergeReader.getCurrentReadStopTime();
if (firstPageReader != null) {
currentPageEndPointTime = orderUtils
Expand Down Expand Up @@ -653,6 +654,7 @@ private boolean hasNextOverlappedPage() throws IOException {
timeValuePair.getTimestamp(), timeValuePair.getValue().getValue());
}
}
cachedBatchData.flip();
hasCachedNextOverlappedPage = cachedBatchData.hasCurrent();
/*
* if current overlapped page has valid data, return, otherwise read next overlapped page
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
package org.apache.iotdb.db.integration;

import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.compaction.CompactionStrategy;
import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.jdbc.Config;
import org.junit.After;
Expand Down Expand Up @@ -104,6 +105,8 @@ public class IOTDBGroupByIT {
public void setUp() throws Exception {
EnvironmentUtils.closeStatMonitor();
prevPartitionInterval = IoTDBDescriptor.getInstance().getConfig().getPartitionInterval();
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.NO_COMPACTION);
IoTDBDescriptor.getInstance().getConfig().setPartitionInterval(1000);
EnvironmentUtils.envSetUp();
Class.forName(Config.JDBC_DRIVER_NAME);
Expand All @@ -114,6 +117,8 @@ public void setUp() throws Exception {
public void tearDown() throws Exception {
EnvironmentUtils.cleanEnv();
IoTDBDescriptor.getInstance().getConfig().setPartitionInterval(prevPartitionInterval);
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.LEVEL_COMPACTION);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
import java.sql.Statement;
import java.util.Locale;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.compaction.CompactionStrategy;
import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.jdbc.Config;
import org.junit.After;
Expand Down Expand Up @@ -101,6 +102,8 @@ public void setUp() throws Exception {
EnvironmentUtils.closeStatMonitor();
prevPartitionInterval = IoTDBDescriptor.getInstance().getConfig().getPartitionInterval();
IoTDBDescriptor.getInstance().getConfig().setPartitionInterval(1000);
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.NO_COMPACTION);
EnvironmentUtils.envSetUp();
Class.forName(Config.JDBC_DRIVER_NAME);
prepareData();
Expand All @@ -110,6 +113,8 @@ public void setUp() throws Exception {
public void tearDown() throws Exception {
EnvironmentUtils.cleanEnv();
IoTDBDescriptor.getInstance().getConfig().setPartitionInterval(prevPartitionInterval);
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.LEVEL_COMPACTION);
}

//add test for part of points in page don't satisfy filter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.compaction.CompactionStrategy;
import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.jdbc.Config;
import org.junit.After;
Expand Down Expand Up @@ -117,13 +118,17 @@ public class IoTDBAggregationLargeDataIT {
public void setUp() throws Exception {
EnvironmentUtils.closeStatMonitor();
prevPartitionInterval = IoTDBDescriptor.getInstance().getConfig().getPartitionInterval();
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.NO_COMPACTION);
EnvironmentUtils.envSetUp();
}

@After
public void tearDown() throws Exception {
EnvironmentUtils.cleanEnv();
IoTDBDescriptor.getInstance().getConfig().setPartitionInterval(prevPartitionInterval);
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.LEVEL_COMPACTION);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.compaction.CompactionStrategy;
import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.jdbc.Config;
import org.apache.iotdb.jdbc.IoTDBSQLException;
Expand Down Expand Up @@ -123,14 +125,17 @@ public class IoTDBAggregationSmallDataIT {
public void setUp() throws Exception {
EnvironmentUtils.closeStatMonitor();
EnvironmentUtils.envSetUp();

IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.NO_COMPACTION);
//Thread.sleep(5000);
insertSQL();
}

@After
public void tearDown() throws Exception {
EnvironmentUtils.cleanEnv();
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.LEVEL_COMPACTION);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.compaction.CompactionStrategy;
import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.jdbc.Config;
import org.junit.AfterClass;
Expand Down Expand Up @@ -108,14 +110,17 @@ public class IoTDBAlignByDeviceIT {
public static void setUp() throws Exception {
EnvironmentUtils.closeStatMonitor();
EnvironmentUtils.envSetUp();

IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.NO_COMPACTION);
insertData();

}

@AfterClass
public static void tearDown() throws Exception {
EnvironmentUtils.cleanEnv();
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.LEVEL_COMPACTION);
}

private static void insertData() throws ClassNotFoundException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
import org.apache.iotdb.db.conf.IoTDBConstant;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.constant.TestConstant;
import org.apache.iotdb.db.engine.compaction.CompactionStrategy;
import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.jdbc.Config;
import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
Expand All @@ -54,6 +55,8 @@ public class IoTDBLargeDataIT {
public static void setUp() throws Exception {

EnvironmentUtils.closeStatMonitor();
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.NO_COMPACTION);

// use small page setting
// origin value
Expand All @@ -80,6 +83,8 @@ public static void tearDown() throws Exception {
tsFileConfig.setPageSizeInByte(pageSizeInByte);
tsFileConfig.setGroupSizeInByte(groupSizeInByte);
IoTDBDescriptor.getInstance().getConfig().setMemtableSizeThreshold(groupSizeInByte);
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.LEVEL_COMPACTION);

EnvironmentUtils.cleanEnv();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
import java.sql.ResultSet;
import java.sql.Statement;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.compaction.CompactionStrategy;
import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.jdbc.Config;
import org.junit.AfterClass;
Expand All @@ -45,6 +46,8 @@ public class IoTDBMultiOverlappedChunkInUnseqIT {
@BeforeClass
public static void setUp() throws Exception {
EnvironmentUtils.closeStatMonitor();
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.NO_COMPACTION);
beforeMemtableSizeThreshold = IoTDBDescriptor.getInstance().getConfig().getMemtableSizeThreshold();
IoTDBDescriptor.getInstance().getConfig().setMemtableSizeThreshold(1024);
EnvironmentUtils.envSetUp();
Expand All @@ -57,6 +60,8 @@ public static void tearDown() throws Exception {
// recovery value
EnvironmentUtils.cleanEnv();
IoTDBDescriptor.getInstance().getConfig().setMemtableSizeThreshold(beforeMemtableSizeThreshold);
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.LEVEL_COMPACTION);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import java.sql.ResultSet;
import java.sql.Statement;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.compaction.CompactionStrategy;
import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.jdbc.Config;
import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
Expand All @@ -48,6 +49,8 @@ public class IoTDBMultiOverlappedPageIT {
@BeforeClass
public static void setUp() throws Exception {
EnvironmentUtils.closeStatMonitor();
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.NO_COMPACTION);
beforeMemtableSizeThreshold = IoTDBDescriptor.getInstance().getConfig().getMemtableSizeThreshold();
IoTDBDescriptor.getInstance().getConfig().setMemtableSizeThreshold(1024 * 16);
// max_number_of_points_in_page = 10
Expand All @@ -64,6 +67,8 @@ public static void tearDown() throws Exception {
TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(beforeMaxNumberOfPointsInPage);
EnvironmentUtils.cleanEnv();
IoTDBDescriptor.getInstance().getConfig().setMemtableSizeThreshold(beforeMemtableSizeThreshold);
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.LEVEL_COMPACTION);
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@
import org.apache.iotdb.db.conf.IoTDBConstant;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.constant.TestConstant;
import org.apache.iotdb.db.engine.compaction.CompactionStrategy;
import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.jdbc.Config;
import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
Expand Down Expand Up @@ -57,6 +58,8 @@ public class IoTDBMultiSeriesIT {
public static void setUp() throws Exception {

EnvironmentUtils.closeStatMonitor();
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.NO_COMPACTION);

// use small page setting
// origin value
Expand Down Expand Up @@ -88,6 +91,8 @@ public static void tearDown() throws Exception {
IoTDBDescriptor.getInstance().getConfig().setPartitionInterval(prevPartitionInterval);
IoTDBDescriptor.getInstance().getConfig().setMemtableSizeThreshold(groupSizeInByte);
TSFileDescriptor.getInstance().getConfig().setCompressor("SNAPPY");
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.LEVEL_COMPACTION);
}

private static void insertData()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import java.sql.Statement;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.constant.TestConstant;
import org.apache.iotdb.db.engine.compaction.CompactionStrategy;
import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.jdbc.Config;
import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
Expand All @@ -51,6 +52,8 @@ public class IoTDBMultiStatementsIT {
public static void setUp() throws Exception {

EnvironmentUtils.closeStatMonitor();
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.NO_COMPACTION);

// use small page setting
// origin value
Expand All @@ -76,6 +79,8 @@ public static void tearDown() throws Exception {
tsFileConfig.setPageSizeInByte(pageSizeInByte);
tsFileConfig.setGroupSizeInByte(groupSizeInByte);
IoTDBDescriptor.getInstance().getConfig().setMemtableSizeThreshold(groupSizeInByte);
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.LEVEL_COMPACTION);
EnvironmentUtils.cleanEnv();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
package org.apache.iotdb.db.integration;

import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.engine.compaction.CompactionStrategy;
import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.jdbc.Config;
import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
Expand Down Expand Up @@ -48,6 +49,8 @@ public class IoTDBOverlappedPageIT {
@BeforeClass
public static void setUp() throws Exception {
EnvironmentUtils.closeStatMonitor();
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.NO_COMPACTION);
beforeMemtableSizeThreshold = IoTDBDescriptor.getInstance().getConfig().getMemtableSizeThreshold();
IoTDBDescriptor.getInstance().getConfig().setMemtableSizeThreshold(1024 * 16);
// max_number_of_points_in_page = 10
Expand All @@ -64,6 +67,8 @@ public static void tearDown() throws Exception {
TSFileDescriptor.getInstance().getConfig().setMaxNumberOfPointsInPage(beforeMaxNumberOfPointsInPage);
EnvironmentUtils.cleanEnv();
IoTDBDescriptor.getInstance().getConfig().setMemtableSizeThreshold(beforeMemtableSizeThreshold);
IoTDBDescriptor.getInstance().getConfig()
.setCompactionStrategy(CompactionStrategy.LEVEL_COMPACTION);
}

@Test
Expand Down
Loading

0 comments on commit 12fe408

Please sign in to comment.