eedalong / apache-iotdb-client-csharp Goto Github PK
View Code? Open in Web Editor NEWC# client for Apache IoTDB
Home Page: http://iotdb.apache.org/
License: Apache License 2.0
C# client for Apache IoTDB
Home Page: http://iotdb.apache.org/
License: Apache License 2.0
没有考虑时区
比如IOTDB里返回的时间:1618988400000 转换后应该是 2021-4-21 15:00:00 (见 转换参考)
目前默认返回的时间是UTC时间: 2021-4-21 07:00:00
建议转成本地时间,改成:
DateTimeOffset.FromUnixTimeMilliseconds(Timestamp).DateTime.ToLocalTime();
does this package support C# windows programe? it stucks in "session.open(false);" and I can't go on further. do you know why ?
var status = await sessionPool.InsertRecordAsync
这个插入单条记录的方法,插入成功以后返回值为-1,查看数据库确实是已经插入成功。
另外InsertRecordsAsync方法批量插入相同的记录,返回值就是返回0
如果我在客户端运行时候,重启iotdb,这将导致客户端卡死,请问有什么好办法解决这个问题。
安装最新的IoTDB1.0后,单机模式和集群模式插入记录后返回值均为-1,服务器无报错,记录能插入成功。
另外运行你们 lz-1.0 分支的测试代码,也是返回-1
这是之前提的问题:
#84 (comment)
https://github.com/eedalong/iotdb-client-csharp/blob/bb4745fa5ce5c3973cb222c20280fad68f807915/client/utils/SessionDataSet.cs#L7
SessionDataSet
类 中很多地方都直接在控制台里打印Console.WriteLine
,不利于性能
项目中既然已经用了NLog
,建议改为log.debug info warn error...
打印
As I understand your package mostly aimed for enterprise app. It's good point to keep client libs based on .net standard framework instead of .net core framework
Hope to add highly concurrent session connection pooling.
Refer to Java SessionPool
insert_records_of_one_device / insert_records_of_one_device_sorted
测试数据 400列 86400行,无法写入,等待数十分钟无返回结果
csv数据,去掉时间列,文件大约220MB
改进建议:如果一次性不能支持这个量级,希望能在接口内部分批次发送,比如3600行发送一次,而不是让使用者分批次调用接口
测试结果:每3600行(1小时)数据,调用一次insert_records_of_one_device_sorted可以正常执行。
Currently, all csproj and sln files are presented in gitignore file. It's caused problems for contributors to work with your project.
rt
该issue下会进行客户端的更新预告与记录,敬请关注!
suggest use a logging facade (e.g. Common.Logging or other lib.....) to avoid direct dependencies
so users can select any log library(NLog, Log4Net ... ) which they like.
RT
RT
items.AsParallel().ForAll(x=>{})
execute_non_query_statement 并行时引发
Thrift.Transport.TTransportException : Maximum frame size exceeded (1970562389 bytes)
希望支持并行操作
我们需要建立对不同的数据库版本的客户端
Exception thrown: 'Thrift.Transport.TTransportException' in Thrift.dll
nodename nor servname provided, or not known
调用Session.open函数时,如果host指定为非localhost,则引发上述异常。
var session_local = new Session("127.0.0.1",6667); // iotdb数据库服务与测试同机,正常
var session_remote= new Session("192.168.0.29",6667); // iotdb数据库服务与测试不同机,异常
SessionDataset的fetchsize需要被初始化,否则会引起只读取前K个数据的问题
目前看是因为0.12版本更新了RPC导致不兼容的问题
算数运算符 从0.13版本开始支持。但是我发现同样的语句如SELECT A * 2 as A FROM root.texUquUa.A75NLL20m.A752bXW7
,在iotdb的cli客户端下正常执行,但是是用该项目客户端执行异常报错。
感谢这个项目,也十分感谢项目成员
似乎为了追求与其它语言Client接口保持一致,因此导致Client封装不符合C#使用习惯
以下是基于rpc.thrift,参考本项目中相关数据序列化的方式,改造了部分实现
Session使用ByteBuffer示例
public async Task<TSStatus> InsertRecord(string device, List<string> measurements, List<dynamic> values, DateTime timestamp)
{
var status = await client.insertRecordAsync(new TSInsertRecordReq(sessionId, device, measurements, ByteBuffer.GetBytes(values, false), GetUtcTime(timestamp)));
return status;
}
public async Task<TSStatus> InsertTable(string device, Table data)
{
var timestamps = data.Timestamps;
var measurements = data.Measurements;
var byte_values = new List<byte>();
var byte_times = ByteBuffer.GetBytes(timestamps.Select(GetUtcTime).ToList(), true);
var lst_types = ds.DataTypes.Select(x => x.Value.ToUpper()).Select(ByteBuffer.ToTSDataType).ToList();
foreach (var field in measurements)
{
byte_values.AddRange(ByteBuffer.GetBytes(data.GetValue(field), true));
}
var status = await client.insertTabletAsync(new TSInsertTabletReq(sessionId, device, measurements, byte_values.ToArray(), byte_times, lst_types, timestamps.Count));
return status;
}
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TSDB.Core
{
public class Table
{
private List<string> fields;
private List<DateTime> times;
private Dictionary<string, List<dynamic>> data;
public Dictionary<string, List<dynamic>> Values => data;
public Dictionary<string, string> DataTypes { get; }
public List<string> Measurements => fields;
public List<DateTime> Timestamps => times;
public Table(List<DateTime> times, Dictionary<string, List<dynamic>> data)
{
this.times = times;
this.data = data;
this.fields = this.data.Keys.ToList();
this.DataTypes = this.fields.ToDictionary(x => x, x => ((object)data[x].FirstOrDefault(y => y != null))?.GetType().Name ?? "None");
}
public Table(Dictionary<string, List<(DateTime Time, dynamic Value)>> data) : this(data.FirstOrDefault().Value.Select(x => x.Time).ToList(), data.ToDictionary(x => x.Key, x => x.Value.Select(y => y.Value).ToList()))
{ }
/// <summary>
/// 获取数据
/// </summary>
/// <param name="row">Timestamp index</param>
/// <param name="column">Measurement index</param>
public dynamic GetData(int row, int column) => data[fields[column]][row];
public dynamic GetData(DateTime time, string field) => data[field].ElementAtOrDefault(times.IndexOf(time));
private string GetKey(string field)
{
return data.ContainsKey(field) ? field : fields.FirstOrDefault(x => string.Equals(x, field, StringComparison.OrdinalIgnoreCase));
}
public List<T> GetValue<T>(string field)
{
var key = GetKey(field);
if (data.ContainsKey(key))
{
if (DataTypes[key] == "None") return new List<T>();
var type = typeof(T).Name;
if (type == DataTypes[key]) return data[key].OfType<T>().ToList();
List<T> items = null;
if (DataTypes[key] == "String" && type != "String")
{
switch (type)
{
case "Boolean":
items = data[key].OfType<string>().Select(x => bool.TryParse(x, out var b) && b).ToList() as List<T>;
break;
case "Int32":
items = data[key].OfType<string>().Select(x => int.TryParse(x, out var val) ? val : 0).ToList() as List<T>;
break;
case "Int64":
items = data[key].OfType<string>().Select(x => long.TryParse(x, out var val) ? val : 0L).ToList() as List<T>;
break;
case "Single":
items = data[key].OfType<string>().Select(x => float.TryParse(x, out var val) ? val : float.NaN).ToList() as List<T>;
break;
case "Double":
items = data[key].OfType<string>().Select(x => double.TryParse(x, out var val) ? val : double.NaN).ToList() as List<T>;
break;
}
}
else
{
switch (type)
{
case "Boolean":
items = data[key].Select(x => $"{x}").Select(x => double.TryParse(x, out var val) && val != 0).ToList() as List<T>;
break;
case "Int32":
items = data[key].Select(x => $"{x}").Select(x => double.TryParse(x, out var val) ? (int)val : 0).ToList() as List<T>;
break;
case "Int64":
items = data[key].Select(x => $"{x}").Select(x => double.TryParse(x, out var val) ? (long)val : 0L).ToList() as List<T>;
break;
case "Single":
items = data[key].Select(x => $"{x}").Select(x => double.TryParse(x, out var val) ? (float)val : float.NaN).ToList() as List<T>;
break;
case "Double":
items = data[key].Select(x => $"{x}").Select(x => double.TryParse(x, out var val) ? val : double.NaN).ToList() as List<T>;
break;
}
}
return items;
}
return new List<T>(); ;
}
public List<dynamic> GetValue(string field)
{
var key = GetKey(field);
return data.ContainsKey(key) ? data[key] : null;
}
public List<(DateTime Time, dynamic Value)> GetTimeValue(string field)
{
var values = GetValue(field);
if (values != null)
{
return times.Select((t, j) => (t, values[j])).OfType<(DateTime Time, dynamic Value)>().Where(x => x.Value != null).ToList();
}
return null;
}
public Dictionary<string, List<(DateTime Time, dynamic Value)>> GetAllTimeValue(params string[] except)
{
if (except == null)
{
return data.ToDictionary(kv => kv.Key, kv => times.Select((t, j) => (t, data[kv.Key][j])).OfType<(DateTime Time, dynamic Value)>().Where(x => x.Value != null).ToList());
}
else
{
return fields.Where(x => except.All(e => !string.Equals(x, e, StringComparison.OrdinalIgnoreCase))).ToDictionary(kv => kv, kv => times.Select((t, j) => (t, data[kv][j])).OfType<(DateTime Time, dynamic Value)>().Where(x => x.Value != null).ToList());
}
}
public Dictionary<string, List<dynamic>> GetAllValue(params string[] except)
{
if (except == null)
{
return fields.Select((f, i) => new { f, v = times.Select((t, j) => data[f][j]).ToList() }).ToDictionary(kv => kv.f, kv => kv.v);
}
else
{
return fields.Where(f => except.All(e => !string.Equals(f, e, StringComparison.OrdinalIgnoreCase))).Select((f, i) => new { f, v = times.Select((t, j) => data[f][j]).ToList() }).ToDictionary(kv => kv.f, kv => kv.v);
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TSDB.Core
{
internal class ByteBuffer
{
private const int FLAG = 0x80;
//与TSDataType对应,只是把FLOAT改为了SINGLE, 同时将枚举值对应到byte
private readonly static Dictionary<string, byte> DataType = new() { ["BOOLEAN"] = 0, ["INT32"] = 1, ["INT64"] = 2, ["SINGLE"] = 3, ["DOUBLE"] = 4, ["STRING"] = 5, ["NONE"] = 6 };
/// <summary>
/// C#的类型名转换为TSDataType
/// </summary>
public static int ToTSDataType(string typeName)
{
return DataType.ContainsKey(typeName) ? DataType[typeName] : -1;
}
/// <summary>
/// C#的类型名转换为TSDataType
/// </summary>
public static int GetTSDataType(object value)
{
return ToTSDataType(value?.GetType().Name.ToUpper() ?? "");
}
public static long[] GetUtcTime(byte[] timestamps)
{
var _time_buffer = timestamps;
var _time_buffer_pos = 0;
var _time_cout = _time_buffer.Length / 8;
var times = Enumerable.Range(0, _time_cout).Select(i => BitConverter.ToInt64(!BitConverter.IsLittleEndian ? _time_buffer[_time_buffer_pos..(_time_buffer_pos += 8)] : _time_buffer[_time_buffer_pos..(_time_buffer_pos += 8)].Reverse().ToArray())).ToArray();
return times;
}
private static byte[] GetBytes(dynamic value, string typeName)
{
byte[] val_bytes = null;
switch (typeName)
{
case "DOUBLE":
val_bytes = !BitConverter.IsLittleEndian ? BitConverter.GetBytes((double)value) : BitConverter.GetBytes((double)value).Reverse().ToArray();
break;
case "SINGLE"://FLOAT
val_bytes = !BitConverter.IsLittleEndian ? BitConverter.GetBytes((float)value) : BitConverter.GetBytes((float)value).Reverse().ToArray();
break;
case "INT32":
val_bytes = !BitConverter.IsLittleEndian ? BitConverter.GetBytes((int)value) : BitConverter.GetBytes((int)value).Reverse().ToArray();
break;
case "INT64":
val_bytes = !BitConverter.IsLittleEndian ? BitConverter.GetBytes((long)value) : BitConverter.GetBytes((long)value).Reverse().ToArray();
break;
case "BOOLEAN":
val_bytes = !BitConverter.IsLittleEndian ? BitConverter.GetBytes((bool)value) : BitConverter.GetBytes((bool)value).Reverse().ToArray();
break;
case "STRING"://TEXT
var len_bytes = !BitConverter.IsLittleEndian ? BitConverter.GetBytes(((string)value).Length) : BitConverter.GetBytes(((string)value).Length).Reverse().ToArray();
val_bytes = new byte[Encoding.UTF8.GetByteCount((string)value) + len_bytes.Length];
len_bytes.CopyTo(val_bytes, 0);//字符类型时需要长度
Encoding.UTF8.GetBytes((string)value).CopyTo(val_bytes, len_bytes.Length);
break;
case "NONE":
break;
default:
throw new NotSupportedException($"Bad data type:{typeName}");
}
return val_bytes;
}
public static byte[] GetBytes<T>(List<T> values, bool sameDataType = true)
{
// sameDataType => true 时 tablet 列数据序列化,无需数据类型1字节
// sameDataType => false 时 insertRecord 的各测点同一时间戳的数据序列化,此时需要明确数据类型1字节
var typeName = sameDataType ? values.FirstOrDefault(x => x != null).GetType().Name.ToUpper() : string.Empty;
var capacity = 0;
if (typeName != "STRING")
{
if (typeName == "INT64" || typeName == "DOUBLE") capacity = 8 * values.Count;
if (typeName == "INT32" || typeName == "SINGLE") capacity = 4 * values.Count;
if (typeName == "BOOLEAN") capacity = values.Count;
}
else if (typeName == "STRING")
{
capacity = values.OfType<string>().Sum(x => Encoding.UTF8.GetByteCount(x) + 4);
}
var buffer = new List<byte>(capacity);//使用List<byte>和MemoryStream性能基本一致
if (!sameDataType)
{
for (var i = 0; i < values.Count; i++)
{
dynamic value = values[i];
typeName = value?.GetType().Name.ToUpper() ?? "NONE";
buffer.Add(DataType[typeName]);// 类型 => 1 字节
buffer.AddRange(GetBytes(value, typeName));//数据=>字节数组
}
}
else
{
for (var i = 0; i < values.Count; i++)
{
buffer.AddRange(GetBytes(values[i], typeName));//数据=>字节数组
}
}
return buffer.ToArray();
}
public static List<dynamic> ToValues(byte[] values, byte[] bitmaps, TSDataType type, int total)
{
var ln = values;
var lb = bitmaps;
var items = new List<dynamic>(total);
var pos = 0;
var row = 0;
switch (type)
{
case TSDataType.BOOLEAN:
while (pos < ln.Length)
{
if (((FLAG >> (row % 8)) & lb[row / 8]) != 0) items.Add(BitConverter.ToBoolean(!BitConverter.IsLittleEndian ? ln[pos..(pos += 1)] : ln[pos..(pos += 1)].Reverse().ToArray()));
row++;
}
break;
case TSDataType.INT32:
while (pos < ln.Length)
{
if (((FLAG >> (row % 8)) & lb[row / 8]) != 0) items.Add(BitConverter.ToInt32(!BitConverter.IsLittleEndian ? ln[pos..(pos += 4)] : ln[pos..(pos += 4)].Reverse().ToArray()));
row++;
}
break;
case TSDataType.INT64:
while (pos < ln.Length)
{
if (((FLAG >> (row % 8)) & lb[row / 8]) != 0) items.Add(BitConverter.ToInt64(!BitConverter.IsLittleEndian ? ln[pos..(pos += 8)] : ln[pos..(pos += 8)].Reverse().ToArray()));
row++;
}
break;
case TSDataType.FLOAT:
while (pos < ln.Length)
{
if (((FLAG >> (row % 8)) & lb[row / 8]) != 0) items.Add(BitConverter.ToSingle(!BitConverter.IsLittleEndian ? ln[pos..(pos += 4)] : ln[pos..(pos += 4)].Reverse().ToArray()));
row++;
}
break;
case TSDataType.DOUBLE:
while (pos < ln.Length)
{
if (((FLAG >> (row % 8)) & lb[row / 8]) != 0) items.Add(BitConverter.ToDouble(!BitConverter.IsLittleEndian ? ln[pos..(pos += 8)] : ln[pos..(pos += 8)].Reverse().ToArray()));
row++;
}
break;
case TSDataType.TEXT:
while (pos < ln.Length)
{
if (((FLAG >> (row % 8)) & lb[row / 8]) != 0)
{
var len = BitConverter.ToInt32(!BitConverter.IsLittleEndian ? ln[pos..(pos += 4)] : ln[pos..(pos += 4)].Reverse().ToArray());
items.Add(Encoding.UTF8.GetString(ln[pos..(pos += len)]));
}
row++;
}
break;
}
return items;
}
public static int EstimateSize(List<dynamic> values, List<TSDataType> types)
{
/* C# 比较忌讳频繁频繁操作数组扩容,要么一次性初始化 */
/* 相对精准的估算字节长度 */
/* 泛型 values 的使用 string, 对 C# 而言并不友好(会反复装箱拆箱), 使用 dynamic 性能应该有所提升, 而且不再依赖 TSDataType */
var size = 0;
if (values.Count == types.Count)
{
size = Enumerable.Range(0, values.Count).Select(i =>
{
var len = 1; // tablet 不需要添加数据类型字节
switch (types[i])
{
case TSDataType.BOOLEAN:
len += 1;
break;
case TSDataType.INT32:
case TSDataType.FLOAT:
len += 4;
break;
case TSDataType.INT64:
case TSDataType.DOUBLE:
len += 8;
break;
case TSDataType.TEXT:
len += 4;
len += Encoding.UTF8.GetByteCount((string)values[i]);
break;
}
return len;
}).Sum(x => x);
}
return size;
}
private readonly byte[] values;
private readonly byte[] bitmaps;
private readonly TSDataType type;
private readonly int total;
private int pos;
private int row;
public ByteBuffer(byte[] values, byte[] bitmaps, TSDataType type, int total)
{
this.values = values;
this.bitmaps = bitmaps;
this.type = type;
this.total = total;
}
public void Reset()
{
pos = 0;
row = 0;
}
public bool Next() => row < total;
public dynamic Read()
{
var ln = values;
var lb = bitmaps;
dynamic value = default;
switch (type)
{
case TSDataType.BOOLEAN:
if (((FLAG >> (row % 8)) & lb[row / 8]) != 0) value = BitConverter.ToBoolean(!BitConverter.IsLittleEndian ? ln[pos..(pos += 1)] : ln[pos..(pos += 1)].Reverse().ToArray());
break;
case TSDataType.INT32:
if (((FLAG >> (row % 8)) & lb[row / 8]) != 0) value = BitConverter.ToInt32(!BitConverter.IsLittleEndian ? ln[pos..(pos += 4)] : ln[pos..(pos += 4)].Reverse().ToArray());
break;
case TSDataType.INT64:
if (((FLAG >> (row % 8)) & lb[row / 8]) != 0) value = BitConverter.ToInt64(!BitConverter.IsLittleEndian ? ln[pos..(pos += 8)] : ln[pos..(pos += 8)].Reverse().ToArray());
break;
case TSDataType.FLOAT:
pos += row * 4;
if (((FLAG >> (row % 8)) & lb[row / 8]) != 0) value = BitConverter.ToSingle(!BitConverter.IsLittleEndian ? ln[pos..(pos += 4)] : ln[pos..(pos += 4)].Reverse().ToArray());
break;
case TSDataType.DOUBLE:
if (((FLAG >> (row % 8)) & lb[row / 8]) != 0) value = BitConverter.ToDouble(!BitConverter.IsLittleEndian ? ln[pos..(pos += 8)] : ln[pos..(pos += 8)].Reverse().ToArray());
break;
case TSDataType.TEXT:
if (((FLAG >> (row % 8)) & lb[row / 8]) != 0)
{
var len = BitConverter.ToInt32(!BitConverter.IsLittleEndian ? ln[pos..(pos += 4)] : ln[pos..(pos += 4)].Reverse().ToArray());
value = Encoding.UTF8.GetString(ln[pos..(pos += len)]);
}
break;
}
row++;
return value;
}
}
}
Hello. You have a good start point for such library. But you missed some "enterprise"-specific things. Let me provide some tips for your lib.
If you need some help with development - feel free to PM me :)
我插入如下带中文的内容:
var measures = new List { "ts1", "ts2", "ts3", "ts4" };
var values = new List { "我是中文S1111", "我是中文S2222", true, (int)123 };
var timestamp = 1;
var rowRecord = new RowRecord(timestamp, values, measures);
await session_pool.InsertRecordAsync("root.test_group.test_device", rowRecord);
数据库报错:
2022-11-09 16:50:24,614 [pool-44-IoTDB-Cluster-RPC-Client-15] WARN o.a.i.d.u.ErrorHandlingUtils:61 - Status code: EXECUTE_STATEMENT_ERROR(400), operation: insertRecord failed
java.lang.ArrayIndexOutOfBoundsException: -26
at org.apache.iotdb.db.qp.physical.crud.InsertRowPlan.fillValues(InsertRowPlan.java:463)
at org.apache.iotdb.db.qp.physical.crud.InsertRowPlan.(InsertRowPlan.java:112)
at org.apache.iotdb.db.service.thrift.impl.TSServiceImpl.insertRecord(TSServiceImpl.java:1525)
at org.apache.iotdb.service.rpc.thrift.TSIService$Processor$insertRecord.getResult(TSIService.java:3551)
at org.apache.iotdb.service.rpc.thrift.TSIService$Processor$insertRecord.getResult(TSIService.java:3531)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:38)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:38)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
数据库版本:0.13.3
Field建议1:
private object value 或 private dynamic value;
// 代替 long_value, int_value,str_value...
// 因为long ,int, float, bool 都是值类型,即便没有set 也会有默认值,建议用一个变量存储
Field建议2:
public double get_double() => type == TSDataType.TEXT ? double.Parse(value) : (double)value;
// 内部增加类型兼容转换,
// 即便是TSDataType是INT32, 也能让外部调用通过double读取
// 最好方式是让 get() 方法能够类型兼容转换T
// TSDataType.TEXT 的存在本身就是缺陷,从而导致了 select last 都成了TEXT,
// 而每个Field允许有独立的TSDataType,却不能把select last 转为对应的数据类型
RowRecord建议3:
缺少对field_lst的访问能力
public Field this[int index]=>this.field_lst[index];
// 增加索引访问,如果能支持name索引就更好了
// RowRecord.FieldNames,在初始化是传入SessionDataSet.column_name_lst是同一个内存引用,不会造成多少额外开销
RowRecord建议4:
public DateTime Timestamp => new DateTime(1970, 1, 1, 8, 0, 0).AddMilliseconds(timestamp);
// 增加日期类型的timestamp访问,timezone最好能够使用Session.zoneId
2021-11-12 13:24:08,578 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (1195725856) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:24:08,708 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (1330664521) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:24:08,836 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (1330664521) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:24:08,963 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Read a negative frame size (-2147483608)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:117)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:24:19,136 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (1212501072) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:24:34,291 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.protocol.TProtocolException: Bad version in readMessageBegin
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:248)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:24:34,423 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (1811942144) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:24:34,551 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (1195725856) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:24:39,687 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (813957120) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:24:39,816 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (806093313) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:24:39,942 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (1330664521) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:24:40,069 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (1414417744) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:24:45,206 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (1148019796) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:24:45,333 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (973078528) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:24:45,460 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (1246907721) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:25:00,628 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (1195986768) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:26:23,914 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (1195725856) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 13:26:30,942 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Read a negative frame size (-2147483608)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:117)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 14:06:00,721 [pool-14-IoTDB-RPC-Client-15] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: Frame size (1195725856) larger than protect max size (536870912)!
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:123)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
2021-11-12 18:32:24,412 [pool-16-IoTDB-RPC-Client-5] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: java.net.SocketException: Connection reset
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:178)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:112)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:176)
... 12 common frames omitted
2021-11-12 18:32:24,412 [pool-16-IoTDB-RPC-Client-4] ERROR o.a.t.s.TThreadPoolServer$WorkerProcess:258 - Thrift Error occurred during processing of message.
org.apache.thrift.transport.TTransportException: java.net.SocketException: Connection reset
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:178)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.iotdb.rpc.TElasticFramedTransport.readFrame(TElasticFramedTransport.java:112)
at org.apache.iotdb.rpc.TElasticFramedTransport.read(TElasticFramedTransport.java:107)
at org.apache.thrift.transport.TTransport.readAll(TTransport.java:109)
at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:463)
at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:361)
at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:244)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:27)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:248)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)
at java.io.BufferedInputStream.read(BufferedInputStream.java:345)
at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:176)
... 12 common frames omitted
麻烦能不能降一下.NETStandard 版本,这样.NET Framework应用也能够集成
比如三个都在等客户端释放获取,结果一个客户端释放回来时候,三个都认为已经有空余的客户端,结果一个人抢到了,其他人抢不到 导致提前超时错误了。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.