You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@iotdb.apache.org by "Xiangdong Huang (Jira)" <ji...@apache.org> on 2021/09/26 01:06:00 UTC
[jira] [Created] (IOTDB-1737) rethink when is the time to print
error logs in IoTDB server backend
Xiangdong Huang created IOTDB-1737:
--------------------------------------
Summary: rethink when is the time to print error logs in IoTDB server backend
Key: IOTDB-1737
URL: https://issues.apache.org/jira/browse/IOTDB-1737
Project: Apache IoTDB
Issue Type: Task
Components: Core/Server
Reporter: Xiangdong Huang
1. In TSServiceImpl.java, `tryCatchNonQueryException(Exception e)` can be optimized:
a) the status code should be printed;
b) codes are ducuplicated (avoid to use so many log.warn() )
2. In IoTDBException.java, there is a field called `isUserException`. However, in some cases the field value is not set correct:
a) org.apache.iotdb.db.integration.IoTDBUDFManagementIT:
{code:java}
WARN [2021-09-26 08:21:32,691] [pool-978-IoTDB-RPC-Client-1] org.apache.iotdb.db.service.TSServiceImpl:2197 - Exception occurred while processing non-query.
org.apache.iotdb.db.exception.UDFRegistrationException: Failed to register UDF UDF(org.apache.iotdb.db.query.udf.example.Adder), because a UDF UDF(org.apache.iotdb.db.query.udf.example.Adder) with the same function name and the class name has already been registered.
at org.apache.iotdb.db.query.udf.service.UDFRegistrationService.checkIfRegistered(UDFRegistrationService.java:135)
at org.apache.iotdb.db.query.udf.service.UDFRegistrationService.register(UDFRegistrationService.java:87)
at org.apache.iotdb.db.qp.executor.PlanExecutor.operateCreateFunction(PlanExecutor.java:401)
at org.apache.iotdb.db.qp.executor.PlanExecutor.processNonQuery(PlanExecutor.java:344)
at org.apache.iotdb.db.service.TSServiceImpl.executeNonQuery(TSServiceImpl.java:2132)
at org.apache.iotdb.db.service.TSServiceImpl.executeNonQueryPlan(TSServiceImpl.java:2114)
at org.apache.iotdb.db.service.TSServiceImpl.executeNonQueryStatement(TSServiceImpl.java:1272)
at org.apache.iotdb.db.service.TSServiceImpl.executeUpdateStatement(TSServiceImpl.java:1265)
at org.apache.iotdb.db.service.TSServiceImpl.executeStatement(TSServiceImpl.java:612)
at org.apache.iotdb.service.rpc.thrift.TSIService$Processor$executeStatement.getResult(TSIService.java:2493)
at org.apache.iotdb.service.rpc.thrift.TSIService$Processor$executeStatement.getResult(TSIService.java:2473)
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)
{code}
b) org.apache.iotdb.db.integration.aggregation.IoTDBAggregationSmallDataIT
{code:java}
WARN [2021-09-26 08:21:30,116] [pool-738-IoTDB-RPC-Client-2] org.apache.iotdb.db.service.TSServiceImpl:2213 - Status code: INTERNAL_SERVER_ERROR, MSG: [INTERNAL_SERVER_ERROR] Exception occurred: "SELECT max_value(d0.s0),max_value(d1.s1),max_value(d0.s3) FROM root.vehicle". executeStatement failed.
org.apache.iotdb.tsfile.exception.filter.StatisticsClassException: Binary statistics does not support: max
at org.apache.iotdb.tsfile.file.metadata.statistics.BinaryStatistics.getMaxValue(BinaryStatistics.java:88)
at org.apache.iotdb.tsfile.file.metadata.statistics.BinaryStatistics.getMaxValue(BinaryStatistics.java:33)
at org.apache.iotdb.db.query.aggregation.impl.MaxValueAggrResult.updateResultFromStatistics(MaxValueAggrResult.java:47)
at org.apache.iotdb.db.query.executor.AggregationExecutor.aggregateStatistics(AggregationExecutor.java:284)
at org.apache.iotdb.db.query.executor.AggregationExecutor.aggregateFromReader(AggregationExecutor.java:240)
at org.apache.iotdb.db.query.executor.AggregationExecutor.aggregateOneSeries(AggregationExecutor.java:210)
at org.apache.iotdb.db.query.executor.AggregationExecutor.aggregateOneSeries(AggregationExecutor.java:157)
at org.apache.iotdb.db.query.executor.AggregationExecutor.executeWithoutValueFilter(AggregationExecutor.java:111)
at org.apache.iotdb.db.query.executor.QueryRouter.aggregate(QueryRouter.java:150)
at org.apache.iotdb.db.qp.executor.PlanExecutor.processDataQuery(PlanExecutor.java:566)
at org.apache.iotdb.db.qp.executor.PlanExecutor.processQuery(PlanExecutor.java:236)
at org.apache.iotdb.db.service.TSServiceImpl.createQueryDataSet(TSServiceImpl.java:1210)
at org.apache.iotdb.db.service.TSServiceImpl.internalExecuteQueryStatement(TSServiceImpl.java:777)
at org.apache.iotdb.db.service.TSServiceImpl.executeStatement(TSServiceImpl.java:603)
at org.apache.iotdb.service.rpc.thrift.TSIService$Processor$executeStatement.getResult(TSIService.java:2493)
at org.apache.iotdb.service.rpc.thrift.TSIService$Processor$executeStatement.getResult(TSIService.java:2473)
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)
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)