[ 
https://issues.apache.org/jira/browse/IOTDB-4221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17604767#comment-17604767
 ] 

liaolanyu commented on IOTDB-4221:
----------------------------------

In 0.13, when parsing a string that represents a real number, we will treat it 
as a double value. But in 0.14, the property float_string_infer_type will 
decide the type(float/double) that we use to parse it and the default type is 
float. So the result of SQL in this issue is expected.

>  In 0.14.0-SNAPSHOT newServer, where clause cannot obtain a Double value
> ------------------------------------------------------------------------
>
>                 Key: IOTDB-4221
>                 URL: https://issues.apache.org/jira/browse/IOTDB-4221
>             Project: Apache IoTDB
>          Issue Type: Bug
>    Affects Versions: 0.14.0-SNAPSHOT
>         Environment: Windows 10
>            Reporter: Tao Yi
>            Assignee: liaolanyu
>            Priority: Minor
>         Attachments: image-2022-08-27-17-10-07-881.png, 
> image-2022-09-09-22-46-08-063.png, screenshot-1.png
>
>
> I try 2 same insert and query in both 0.13.2 and 0.14.0,
> the statements are:
> create timeseries root.sg0.t0 with datatype=double, encoding=plain
> insert into root.sg0(timestamp, t0) values(1, 3.5E38)
> select t0 from root.sg0 where t0 > 3.49E38
>  
> result in IoTDB 0.13.2:
> !image-2022-08-27-17-10-07-881.png|width=600,height=396!
> result int IoTDB 0.14.0:
> !image-2022-09-09-22-46-08-063.png|width=809,height=290!
>  So I guess that the problem is 0.14.0 where clause cannot obtain a Double 
> value, I think this is a bug needs fixing.
>  
> This is the error log of IoTDB-server:
> 2022-09-09 22:45:35,440 [20220909_144535_00002_0.1.0-44] ERROR 
> o.a.i.d.m.e.f.FragmentInstanceManager:130 - error when create 
> FragmentInstanceExecution.
> java.lang.UnsupportedOperationException: 
> org.apache.iotdb.db.exception.query.QueryProcessException: The input float 
> value is Infinity
>         at 
> org.apache.iotdb.db.mpp.transformation.dag.util.TransformUtils.transformConstantOperandToColumn(TransformUtils.java:100)
>         at 
> org.apache.iotdb.db.mpp.plan.expression.visitor.ColumnTransformerVisitor.lambda$visitConstantOperand$5(ColumnTransformerVisitor.java:301)
>         at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1134)
>         at 
> org.apache.iotdb.db.mpp.plan.expression.visitor.ColumnTransformerVisitor.visitConstantOperand(ColumnTransformerVisitor.java:295)
>         at 
> org.apache.iotdb.db.mpp.plan.expression.visitor.ColumnTransformerVisitor.visitConstantOperand(ColumnTransformerVisitor.java:74)
>         at 
> org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand.accept(ConstantOperand.java:59)
>         at 
> org.apache.iotdb.db.mpp.plan.expression.visitor.ExpressionVisitor.process(ExpressionVisitor.java:52)
>         at 
> org.apache.iotdb.db.mpp.plan.expression.visitor.ColumnTransformerVisitor.visitBinaryExpression(ColumnTransformerVisitor.java:135)
>         at 
> org.apache.iotdb.db.mpp.plan.expression.visitor.ColumnTransformerVisitor.visitBinaryExpression(ColumnTransformerVisitor.java:74)
>         at 
> org.apache.iotdb.db.mpp.plan.expression.visitor.ExpressionVisitor.visitCompareBinaryExpression(ExpressionVisitor.java:100)
>         at 
> org.apache.iotdb.db.mpp.plan.expression.binary.CompareBinaryExpression.accept(CompareBinaryExpression.java:44)
>         at 
> org.apache.iotdb.db.mpp.plan.expression.visitor.ExpressionVisitor.process(ExpressionVisitor.java:52)
>         at 
> org.apache.iotdb.db.mpp.plan.planner.OperatorTreeGenerator.visitFilter(OperatorTreeGenerator.java:969)
>         at 
> org.apache.iotdb.db.mpp.plan.planner.OperatorTreeGenerator.visitFilter(OperatorTreeGenerator.java:199)
>         at 
> org.apache.iotdb.db.mpp.plan.planner.plan.node.process.FilterNode.accept(FilterNode.java:64)
>         at 
> org.apache.iotdb.db.mpp.plan.planner.OperatorTreeGenerator.visitFragmentSink(OperatorTreeGenerator.java:1362)
>         at 
> org.apache.iotdb.db.mpp.plan.planner.OperatorTreeGenerator.visitFragmentSink(OperatorTreeGenerator.java:199)
>         at 
> org.apache.iotdb.db.mpp.plan.planner.plan.node.sink.FragmentSinkNode.accept(FragmentSinkNode.java:75)
>         at 
> org.apache.iotdb.db.mpp.plan.planner.LocalExecutionPlanner.plan(LocalExecutionPlanner.java:68)
>         at 
> org.apache.iotdb.db.mpp.execution.fragment.FragmentInstanceManager.lambda$execDataQueryFragmentInstance$1(FragmentInstanceManager.java:115)
>         at 
> java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
>         at 
> org.apache.iotdb.db.mpp.execution.fragment.FragmentInstanceManager.execDataQueryFragmentInstance(FragmentInstanceManager.java:101)
>         at 
> org.apache.iotdb.db.mpp.plan.scheduler.StandaloneScheduler.start(StandaloneScheduler.java:107)
>         at 
> org.apache.iotdb.db.mpp.plan.execution.QueryExecution.schedule(QueryExecution.java:255)
>         at 
> org.apache.iotdb.db.mpp.plan.execution.QueryExecution.start(QueryExecution.java:182)
>         at 
> org.apache.iotdb.db.mpp.plan.Coordinator.execute(Coordinator.java:146)
>         at 
> org.apache.iotdb.db.service.thrift.impl.ClientRPCServiceImpl.executeStatement(ClientRPCServiceImpl.java:563)
>         at 
> org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatement.getResult(IClientRPCService.java:3037)
>         at 
> org.apache.iotdb.service.rpc.thrift.IClientRPCService$Processor$executeStatement.getResult(IClientRPCService.java:3017)
>         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.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>         at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>         at java.base/java.lang.Thread.run(Thread.java:834)
> Caused by: org.apache.iotdb.db.exception.query.QueryProcessException: The 
> input float value is Infinity
>         at 
> org.apache.iotdb.db.utils.CommonUtils.parseValue(CommonUtils.java:107)
>         at 
> org.apache.iotdb.db.mpp.transformation.dag.util.TransformUtils.transformConstantOperandToColumn(TransformUtils.java:71)
>         ... 34 common frames omitted



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to