-
Notifications
You must be signed in to change notification settings - Fork 25.8k
Closed
Labels
:Analytics/ES|QLAKA ESQLAKA ESQL>bugTeam:AnalyticsMeta label for analytical engine team (ESQL/Aggs/Geo)Meta label for analytical engine team (ESQL/Aggs/Geo)medium-riskAn open issue or test failure that is a medium risk to future releasesAn open issue or test failure that is a medium risk to future releases
Description
java.lang.NullPointerException: Cannot invoke \"Object.toString()\" because the return value of \"org.elasticsearch.xpack.esql.parser.QueryParam.value()\" is null
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitDoubleParam(ExpressionBuilder.java:1321)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitInputNamedOrPositionalDoubleParams(ExpressionBuilder.java:1303)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitInputNamedOrPositionalDoubleParams(ExpressionBuilder.java:105)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$InputNamedOrPositionalDoubleParamsContext.accept(EsqlBaseParser.java:2764)
at org.elasticsearch.xpack.esql.parser.ParserUtils.typedParsing(ParserUtils.java:72)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.expression(ExpressionBuilder.java:183)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitIdentifierOrParameter(ExpressionBuilder.java:791)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitIdentifierOrParameter(ExpressionBuilder.java:105)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$IdentifierOrParameterContext.accept(EsqlBaseParser.java:2833)
at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visit(AbstractParseTreeVisitor.java:18)
at org.elasticsearch.xpack.esql.parser.AbstractBuilder.lambda$visit$0(AbstractBuilder.java:18)
at org.elasticsearch.xpack.esql.parser.ParserUtils.visit(ParserUtils.java:53)
at org.elasticsearch.xpack.esql.parser.AbstractBuilder.visit(AbstractBuilder.java:18)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visit(ExpressionBuilder.java:105)
at org.elasticsearch.xpack.esql.parser.ParserUtils.visitList(ParserUtils.java:65)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitFieldName(ExpressionBuilder.java:329)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitQualifiedName(ExpressionBuilder.java:321)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitQualifiedName(ExpressionBuilder.java:313)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitDereference(ExpressionBuilder.java:696)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitDereference(ExpressionBuilder.java:105)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$DereferenceContext.accept(EsqlBaseParser.java:6663)
at org.elasticsearch.xpack.esql.parser.ParserUtils.typedParsing(ParserUtils.java:72)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.expression(ExpressionBuilder.java:183)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitOperatorExpressionDefault(ExpressionBuilder.java:691)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitOperatorExpressionDefault(ExpressionBuilder.java:105)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$OperatorExpressionDefaultContext.accept(EsqlBaseParser.java:6445)
at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:46)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParserBaseVisitor.visitValueExpressionDefault(EsqlBaseParserBaseVisitor.java:666)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$ValueExpressionDefaultContext.accept(EsqlBaseParser.java:6340)
at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:46)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParserBaseVisitor.visitBooleanDefault(EsqlBaseParserBaseVisitor.java:596)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$BooleanDefaultContext.accept(EsqlBaseParser.java:5655)
at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visit(AbstractParseTreeVisitor.java:18)
at org.elasticsearch.xpack.esql.parser.AbstractBuilder.lambda$visit$0(AbstractBuilder.java:18)
at org.elasticsearch.xpack.esql.parser.ParserUtils.visit(ParserUtils.java:53)
at org.elasticsearch.xpack.esql.parser.AbstractBuilder.visit(AbstractBuilder.java:18)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visit(ExpressionBuilder.java:105)
at org.elasticsearch.xpack.esql.parser.ParserUtils.visitList(ParserUtils.java:65)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.expressions(ExpressionBuilder.java:190)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitFunctionExpression(ExpressionBuilder.java:702)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitFunctionExpression(ExpressionBuilder.java:105)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$FunctionExpressionContext.accept(EsqlBaseParser.java:6892)
at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:46)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParserBaseVisitor.visitFunction(EsqlBaseParserBaseVisitor.java:729)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$FunctionContext.accept(EsqlBaseParser.java:6753)
at org.elasticsearch.xpack.esql.parser.ParserUtils.typedParsing(ParserUtils.java:72)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.expression(ExpressionBuilder.java:183)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitOperatorExpressionDefault(ExpressionBuilder.java:691)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitOperatorExpressionDefault(ExpressionBuilder.java:105)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$OperatorExpressionDefaultContext.accept(EsqlBaseParser.java:6445)
at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:46)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParserBaseVisitor.visitValueExpressionDefault(EsqlBaseParserBaseVisitor.java:666)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$ValueExpressionDefaultContext.accept(EsqlBaseParser.java:6340)
at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:46)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParserBaseVisitor.visitBooleanDefault(EsqlBaseParserBaseVisitor.java:596)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$BooleanDefaultContext.accept(EsqlBaseParser.java:5655)
at org.elasticsearch.xpack.esql.parser.ParserUtils.typedParsing(ParserUtils.java:72)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.expression(ExpressionBuilder.java:183)
at org.elasticsearch.xpack.esql.parser.ExpressionBuilder.visitGrouping(ExpressionBuilder.java:1150)
at org.elasticsearch.xpack.esql.parser.LogicalPlanBuilder.stats(LogicalPlanBuilder.java:488)
at org.elasticsearch.xpack.esql.parser.LogicalPlanBuilder.visitStatsCommand(LogicalPlanBuilder.java:466)
at org.elasticsearch.xpack.esql.parser.LogicalPlanBuilder.visitStatsCommand(LogicalPlanBuilder.java:122)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$StatsCommandContext.accept(EsqlBaseParser.java:1909)
at org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visitChildren(AbstractParseTreeVisitor.java:46)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParserBaseVisitor.visitProcessingCommand(EsqlBaseParserBaseVisitor.java:64)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$ProcessingCommandContext.accept(EsqlBaseParser.java:672)
at org.elasticsearch.xpack.esql.parser.ParserUtils.typedParsing(ParserUtils.java:72)
at org.elasticsearch.xpack.esql.parser.LogicalPlanBuilder.visitCompositeQuery(LogicalPlanBuilder.java:214)
at org.elasticsearch.xpack.esql.parser.LogicalPlanBuilder.visitCompositeQuery(LogicalPlanBuilder.java:122)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$CompositeQueryContext.accept(EsqlBaseParser.java:395)
at org.elasticsearch.xpack.esql.parser.ParserUtils.typedParsing(ParserUtils.java:72)
at org.elasticsearch.xpack.esql.parser.LogicalPlanBuilder.plan(LogicalPlanBuilder.java:144)
at org.elasticsearch.xpack.esql.parser.LogicalPlanBuilder.visitCompositeQuery(LogicalPlanBuilder.java:212)
at org.elasticsearch.xpack.esql.parser.LogicalPlanBuilder.visitCompositeQuery(LogicalPlanBuilder.java:122)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$CompositeQueryContext.accept(EsqlBaseParser.java:395)
at org.elasticsearch.xpack.esql.parser.ParserUtils.typedParsing(ParserUtils.java:72)
at org.elasticsearch.xpack.esql.parser.LogicalPlanBuilder.plan(LogicalPlanBuilder.java:144)
at org.elasticsearch.xpack.esql.parser.LogicalPlanBuilder.visitSingleStatement(LogicalPlanBuilder.java:177)
at org.elasticsearch.xpack.esql.parser.LogicalPlanBuilder.visitStatements(LogicalPlanBuilder.java:167)
at org.elasticsearch.xpack.esql.parser.LogicalPlanBuilder.visitStatements(LogicalPlanBuilder.java:122)
at org.elasticsearch.xpack.esql.parser.EsqlBaseParser$StatementsContext.accept(EsqlBaseParser.java:266)
at org.elasticsearch.xpack.esql.parser.ParserUtils.typedParsing(ParserUtils.java:72)
at org.elasticsearch.xpack.esql.parser.LogicalPlanBuilder.statement(LogicalPlanBuilder.java:139)
at org.elasticsearch.xpack.esql.parser.EsqlParser.invokeParser(EsqlParser.java:237)
at org.elasticsearch.xpack.esql.parser.EsqlParser.createStatement(EsqlParser.java:195)
at org.elasticsearch.xpack.esql.parser.EsqlParser.parse(EsqlParser.java:155)
at org.elasticsearch.xpack.esql.session.EsqlSession.parse(EsqlSession.java:582)
at org.elasticsearch.xpack.esql.session.EsqlSession.execute(EsqlSession.java:229)
at org.elasticsearch.xpack.esql.execution.PlanExecutor.lambda$esql$2(PlanExecutor.java:110)
at org.elasticsearch.server@9.4.0/org.elasticsearch.action.ActionListener.run(ActionListener.java:465)
at org.elasticsearch.xpack.esql.execution.PlanExecutor.esql(PlanExecutor.java:110)
I had no chance to test it, but I guess we are just not considering that a parameter value can be null https://github.com/elastic/elasticsearch/blob/main/x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/parser/ExpressionBuilder.java#L1321
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
:Analytics/ES|QLAKA ESQLAKA ESQL>bugTeam:AnalyticsMeta label for analytical engine team (ESQL/Aggs/Geo)Meta label for analytical engine team (ESQL/Aggs/Geo)medium-riskAn open issue or test failure that is a medium risk to future releasesAn open issue or test failure that is a medium risk to future releases