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 <[email protected]> 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);
