]
Tibor Zimányi updated DROOLS-1669:
----------------------------------
Story Points: 5
NullPointerException in FlatQueryResults.<init> ("left
join" query)
-------------------------------------------------------------------
Key: DROOLS-1669
URL:
https://issues.jboss.org/browse/DROOLS-1669
Project: Drools
Issue Type: Bug
Components: core engine, kie server
Affects Versions: 6.5.0.Final
Environment: Win7 x64, Tomcat 9, workbench-built DRL, managed KIE Server
execution
Reporter: Russell Morrisey
Assignee: Mario Fusco
The following DRL query passes build and validation in the workbench, but fails at
runtime in KIE Server:
{code:java}
query "questionsKnowledge" ()
$question: Question()
$visible: QuestionVisible(question == $question) or not QuestionVisible(question ==
$question)
end
{code}
The intent is that $visible may or may not be bound, depending on whether QuestionVisible
is present. It looks like this causes an error in FlatQueryResults.(init):
{code:java}
15:59:30.897 ERROR o.k.s.s.d.DroolsKieContainerCommandServiceImpl - Error calling
container 'qna2'
java.lang.NullPointerException: null
at org.drools.core.QueryResultsRowImpl.getFactHandle(QueryResultsRowImpl.java:99)
~[drools-core-6.5.0.Final.jar:6.5.0.Final]
at org.drools.core.QueryResultsRowImpl.getFactHandle(QueryResultsRowImpl.java:95)
~[drools-core-6.5.0.Final.jar:6.5.0.Final]
at
org.drools.core.runtime.rule.impl.FlatQueryResults.<init>(FlatQueryResults.java:116)
~[drools-core-6.5.0.Final.jar:6.5.0.Final]
at
org.drools.core.command.runtime.rule.QueryCommand.execute(QueryCommand.java:109)
~[drools-core-6.5.0.Final.jar:6.5.0.Final]
at
org.drools.core.command.runtime.rule.QueryCommand.execute(QueryCommand.java:39)
~[drools-core-6.5.0.Final.jar:6.5.0.Final]
at
org.drools.core.command.runtime.BatchExecutionCommandImpl.execute(BatchExecutionCommandImpl.java:137)
~[drools-core-6.5.0.Final.jar:6.5.0.Final]
at
org.drools.core.command.runtime.BatchExecutionCommandImpl.execute(BatchExecutionCommandImpl.java:51)
~[drools-core-6.5.0.Final.jar:6.5.0.Final]
at
org.drools.core.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSessionImpl.java:254)
~[drools-core-6.5.0.Final.jar:6.5.0.Final]
at
org.kie.server.services.drools.RulesExecutionService.call(RulesExecutionService.java:52)
~[kie-server-services-drools-6.5.0.Final.jar:6.5.0.Final]
at
org.kie.server.services.drools.DroolsKieContainerCommandServiceImpl.callContainer(DroolsKieContainerCommandServiceImpl.java:69)
~[kie-server-services-drools-6.5.0.Final.jar:6.5.0.Final
]
at
org.kie.server.remote.rest.drools.CommandResource.manageContainer(CommandResource.java:72)
[kie-server-rest-drools-6.5.0.Final.jar:6.5.0.Final]
{code}