【发布时间】:2021-11-13 03:11:41
【问题描述】:
操作系统:Ubuntu 20.04 TDengine 版本:2.2.1.1 taos-driver 版本:2.0.34
错误描述 使用长连接执行循环插入,当断网再恢复时,程序会卡住很长时间(持续时间不确定)。此时,查看线程信息如下。
"main" #1 prio=5 os_prio=0 tid=0x00007f529c00f000 nid=0x1c28a1 runnable [0x00007f52a0c30000]
java.lang.Thread.State: RUNNABLE
at com.taosdata.jdbc.TSDBJNIConnector.executeQueryImp(Native Method)
at com.taosdata.jdbc.TSDBJNIConnector.executeQuery(TSDBJNIConnector.java:98)
at com.taosdata.jdbc.TSDBStatement.executeUpdate(TSDBStatement.java:59)
程序打印执行时间如下,其中第二次为断开再恢复
1, 2021-11-10T16:51:39.087, insert :1, used:62.248532 ms
2, 2021-11-10T17:08:53.628, insert :1, used:1034040.293917 ms
3, 2021-11-10T17:08:54.209, insert :1, used:81.080271 ms
示例代码:
public static void main(String[] args) throws Exception {
Class.forName("com.taosdata.jdbc.TSDBDriver");
Connection connection = DriverManager.getConnection("jdbc:TAOS://:/data",
"user",
"pass");
while (true) {
String sql = " a insert sql";
try (Statement statement = connection.createStatement()) {
long start = System.nanoTime();
int result = statement.executeUpdate(sql);
System.out.println(LocalDateTime.now()
+ ", insert :" + result + ", used:"
+ (System.nanoTime()- start)/ 1000000.0 + " ms");
}
TimeUnit.MILLISECONDS.sleep(500L);
}
}
【问题讨论】:
-
您问题中的“错误描述”表明您正在尝试提交错误报告。 Stack Overflow 不适合那样做。错误报告需要向 TDengine 的作者提交。如果您想提出问题,请确保您实际上是在提出问题。
-
@MarkRotteveel 感谢您的建议。我曾经也将我的问题发布到 StackOverflow 上,希望如果它比作者的响应更快,是否有人可以帮助我解决问题。
标签: java jdbc time-series tdengine