You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2019/08/29 08:52:29 UTC
[incubator-iotdb] 02/02: fix create timeseries rpc lack compressor
bug
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch f_fix_createTSRPC_lack_compressor
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit c9cdd8b8129df6866ffc06585de2d515d8877720
Author: qiaojialin <64...@qq.com>
AuthorDate: Thu Aug 29 16:52:10 2019 +0800
fix create timeseries rpc lack compressor bug
---
example/session/src/main/java/org/apache/iotdb/SessionExample.java | 7 ++++---
.../java/org/apache/iotdb/db/qp/physical/sys/MetadataPlan.java | 3 ++-
.../src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java | 7 +++++--
service-rpc/src/main/thrift/rpc.thrift | 1 +
session/src/main/java/org/apache/iotdb/session/Session.java | 4 +++-
5 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/example/session/src/main/java/org/apache/iotdb/SessionExample.java b/example/session/src/main/java/org/apache/iotdb/SessionExample.java
index 0becd79..d6bc905 100644
--- a/example/session/src/main/java/org/apache/iotdb/SessionExample.java
+++ b/example/session/src/main/java/org/apache/iotdb/SessionExample.java
@@ -20,6 +20,7 @@ package org.apache.iotdb;
import org.apache.iotdb.session.IoTDBSessionException;
import org.apache.iotdb.session.Session;
+import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
import org.apache.iotdb.tsfile.write.record.RowBatch;
@@ -33,9 +34,9 @@ public class SessionExample {
session.open();
session.setStorageGroup("root.sg1");
- session.createTimeseries("root.sg1.d1.s1", TSDataType.INT64, TSEncoding.RLE);
- session.createTimeseries("root.sg1.d1.s2", TSDataType.INT64, TSEncoding.RLE);
- session.createTimeseries("root.sg1.d1.s3", TSDataType.INT64, TSEncoding.RLE);
+ session.createTimeseries("root.sg1.d1.s1", TSDataType.INT64, TSEncoding.RLE, CompressionType.SNAPPY);
+ session.createTimeseries("root.sg1.d1.s2", TSDataType.INT64, TSEncoding.RLE, CompressionType.SNAPPY);
+ session.createTimeseries("root.sg1.d1.s3", TSDataType.INT64, TSEncoding.RLE, CompressionType.SNAPPY);
Schema schema = new Schema();
schema.registerMeasurement(new MeasurementSchema("s1", TSDataType.INT64, TSEncoding.RLE));
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MetadataPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MetadataPlan.java
index cae6f63..ae8f8b4 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MetadataPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/sys/MetadataPlan.java
@@ -59,12 +59,13 @@ public class MetadataPlan extends PhysicalPlan {
}
public MetadataPlan(MetadataOperator.NamespaceType namespaceType, Path path, TSDataType dataType,
- TSEncoding encoding) {
+ TSEncoding encoding, CompressionType compressor) {
super(false, Operator.OperatorType.METADATA);
this.namespaceType = namespaceType;
this.path = path;
this.dataType = dataType;
this.encoding = encoding;
+ this.compressor = compressor;
setOperatorType(namespaceType);
}
diff --git a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
index 9856e8a..493331c 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java
@@ -51,6 +51,7 @@ import org.apache.iotdb.rpc.TSStatusType;
import org.apache.iotdb.service.rpc.thrift.*;
import org.apache.iotdb.tsfile.common.constant.StatisticConstant;
import org.apache.iotdb.tsfile.exception.filter.QueryFilterOptimizationException;
+import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
import org.apache.iotdb.tsfile.read.common.Path;
@@ -1027,8 +1028,10 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext {
logger.info(INFO_NOT_LOGIN, IoTDBConstant.GLOBAL_DB_NAME);
return new TSRPCResp(getStatus(TSStatusType.NOT_LOGIN_ERROR));
}
- MetadataPlan plan = new MetadataPlan(MetadataOperator.NamespaceType.ADD_PATH, new Path(req.getPath()),
- TSDataType.values()[req.getDataType()], TSEncoding.values()[req.getEncoding()]);
+ MetadataPlan plan = new MetadataPlan(MetadataOperator.NamespaceType.ADD_PATH,
+ new Path(req.getPath()),
+ TSDataType.values()[req.getDataType()], TSEncoding.values()[req.getEncoding()],
+ CompressionType.values()[req.compressor]);
TS_Status status = checkAuthority(plan);
if (status != null) {
return new TSRPCResp(status);
diff --git a/service-rpc/src/main/thrift/rpc.thrift b/service-rpc/src/main/thrift/rpc.thrift
index 6eee9c1..ec05a27 100644
--- a/service-rpc/src/main/thrift/rpc.thrift
+++ b/service-rpc/src/main/thrift/rpc.thrift
@@ -248,6 +248,7 @@ struct TSCreateTimeseriesReq {
1: required string path
2: required i32 dataType
3: required i32 encoding
+ 4: required i32 compressor
}
struct ServerProperties {
diff --git a/session/src/main/java/org/apache/iotdb/session/Session.java b/session/src/main/java/org/apache/iotdb/session/Session.java
index 0b13c58..771b2d1 100644
--- a/session/src/main/java/org/apache/iotdb/session/Session.java
+++ b/session/src/main/java/org/apache/iotdb/session/Session.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.session;
import org.apache.iotdb.rpc.IoTDBRPCException;
import org.apache.iotdb.rpc.RpcUtils;
import org.apache.iotdb.service.rpc.thrift.*;
+import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.file.metadata.enums.TSEncoding;
import org.apache.iotdb.tsfile.write.record.RowBatch;
@@ -166,11 +167,12 @@ public class Session {
}
}
- public TSRPCResp createTimeseries(String path, TSDataType dataType, TSEncoding encoding) throws IoTDBSessionException {
+ public TSRPCResp createTimeseries(String path, TSDataType dataType, TSEncoding encoding, CompressionType compressor) throws IoTDBSessionException {
TSCreateTimeseriesReq request = new TSCreateTimeseriesReq();
request.setPath(path);
request.setDataType(dataType.ordinal());
request.setEncoding(encoding.ordinal());
+ request.setCompressor(compressor.ordinal());
try {
return client.createTimeseries(request);