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)