[JBoss JIRA] (TEIID-2358) NullPointer in EnhancedSortMergeJoinStrategy
by RAKESH BALGURI (JIRA)
RAKESH BALGURI created TEIID-2358:
-------------------------------------
Summary: NullPointer in EnhancedSortMergeJoinStrategy
Key: TEIID-2358
URL: https://issues.jboss.org/browse/TEIID-2358
Project: Teiid
Issue Type: Bug
Affects Versions: 8.1
Reporter: RAKESH BALGURI
Assignee: Steven Hawkins
java.lang.NullPointerException
at org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy$SingleTupleSource.get(EnhancedSortMergeJoinStrategy.java:79)
at org.teiid.query.processor.relational.ListNestedSortComparator.compare(ListNestedSortComparator.java:149)
at org.teiid.query.processor.relational.ListNestedSortComparator.compare(ListNestedSortComparator.java:59)
at java.util.Collections.indexedBinarySearch(Collections.java:377)
at java.util.Collections.binarySearch(Collections.java:365)
at org.teiid.common.buffer.SPage.search(SPage.java:140)
at org.teiid.common.buffer.STree.find(STree.java:245)
at org.teiid.common.buffer.TupleBrowser.setPage(TupleBrowser.java:144)
at org.teiid.common.buffer.TupleBrowser.nextTuple(TupleBrowser.java:203)
at org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy.process(EnhancedSortMergeJoinStrategy.java:377)
at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:202)
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:70)
at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:69)
at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:82)
at org.teiid.common.buffer.AbstractTupleSource.hasNext(AbstractTupleSource.java:91)
at org.teiid.query.processor.relational.MergeJoinStrategy.process(MergeJoinStrategy.java:149)
at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:202)
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
at org.teiid.query.processor.relational.UnionAllNode.nextBatchDirect(UnionAllNode.java:90)
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:153)
at org.teiid.query.processor.relational.SourceState.getTupleBuffer(SourceState.java:174)
at org.teiid.query.processor.relational.SourceState.getRowCount(SourceState.java:127)
at org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy.shouldIndex(EnhancedSortMergeJoinStrategy.java:306)
at org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy.loadRight(EnhancedSortMergeJoinStrategy.java:253)
at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:198)
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:70)
at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:69)
at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:82)
at org.teiid.common.buffer.AbstractTupleSource.hasNext(AbstractTupleSource.java:91)
at org.teiid.query.processor.relational.MergeJoinStrategy.process(MergeJoinStrategy.java:149)
at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:202)
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
at org.teiid.query.processor.relational.UnionAllNode.nextBatchDirect(UnionAllNode.java:90)
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
at org.teiid.query.processor.BatchCollector$BatchProducerTupleSource.nextTuple(BatchCollector.java:89)
at org.teiid.query.processor.relational.GroupingNode.groupPhase(GroupingNode.java:374)
at org.teiid.query.processor.relational.GroupingNode.nextBatchDirect(GroupingNode.java:318)
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:153)
at org.teiid.query.processor.relational.SourceState.getTupleBuffer(SourceState.java:174)
at org.teiid.query.processor.relational.EnhancedSortMergeJoinStrategy.loadLeft(EnhancedSortMergeJoinStrategy.java:229)
at org.teiid.query.processor.relational.JoinNode.nextBatchDirect(JoinNode.java:186)
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146)
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:279)
at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:148)
at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:146)
at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:112)
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:153)
at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:382)
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:291)
... 8 more
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (TEIID-2357) max buffer space is not honored
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-2357:
-------------------------------------
Summary: max buffer space is not honored
Key: TEIID-2357
URL: https://issues.jboss.org/browse/TEIID-2357
Project: Teiid
Issue Type: Bug
Components: Server
Affects Versions: 7.6
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Priority: Critical
Fix For: 8.3
The introduction of the ensureLength logic in the split file handling effectively by-passes the check for disk utilization.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (TEIID-2356) Add a query hint to limit the number of concurrent source queries
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2356?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-2356:
----------------------------------
Summary: Add a query hint to limit the number of concurrent source queries (was: CLONE - Add a query hint to limit the number of concurrent source queries)
Fix Version/s: (was: 7.4)
#1 was largely addressed by TEIID-1543
#2 could still be addressed via a hint - with the caveat from TEIID-1543, that the current concurrency throttle is set on the request and is hard to tie to the actual plan
> Add a query hint to limit the number of concurrent source queries
> -----------------------------------------------------------------
>
> Key: TEIID-2356
> URL: https://issues.jboss.org/browse/TEIID-2356
> Project: Teiid
> Issue Type: Sub-task
> Components: Query Engine
> Affects Versions: 7.4
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Minor
>
> We would like a new query hint to limit the number of parallel executions of union members. This is useful in two situations:
> 1. When the queries are expensive, but the overall union contains a limit that is most likely to be fulfilled by the first member of the union
> 2. When the queries are backed by a common resource which may be overloaded by multiple queries
> The addition of a hint would make this manageable by the client; perhaps something like "/*+ parallel=2*/"?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (TEIID-1543) limit the number of concurrent source queries for limited unions
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-1543?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-1543:
----------------------------------
Description: Add logic to union processing to limit the amount of concurrency based upon the presence of a higher level limit. (was: We would like a new query hint to limit the number of parallel executions of union members. This is useful in two situations:
1. When the queries are expensive, but the overall union contains a limit that is most likely to be fulfilled by the first member of the union
2. When the queries are backed by a common resource which may be overloaded by multiple queries
The addition of a hint would make this manageable by the client; perhaps something like "/*+ parallel=2*/"? )
> limit the number of concurrent source queries for limited unions
> ----------------------------------------------------------------
>
> Key: TEIID-1543
> URL: https://issues.jboss.org/browse/TEIID-1543
> Project: Teiid
> Issue Type: Sub-task
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Minor
> Fix For: 8.3
>
>
> Add logic to union processing to limit the amount of concurrency based upon the presence of a higher level limit.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (TEIID-1543) limit the number of concurrent source queries for limited unions
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-1543?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-1543:
----------------------------------
Summary: limit the number of concurrent source queries for limited unions (was: Add a query hint to limit the number of concurrent source queries)
Fix Version/s: 8.3
Affects Version/s: (was: 7.4)
> limit the number of concurrent source queries for limited unions
> ----------------------------------------------------------------
>
> Key: TEIID-1543
> URL: https://issues.jboss.org/browse/TEIID-1543
> Project: Teiid
> Issue Type: Sub-task
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Minor
> Fix For: 8.3
>
>
> We would like a new query hint to limit the number of parallel executions of union members. This is useful in two situations:
> 1. When the queries are expensive, but the overall union contains a limit that is most likely to be fulfilled by the first member of the union
> 2. When the queries are backed by a common resource which may be overloaded by multiple queries
> The addition of a hint would make this manageable by the client; perhaps something like "/*+ parallel=2*/"?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (TEIID-2356) CLONE - Add a query hint to limit the number of concurrent source queries
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-2356:
-------------------------------------
Summary: CLONE - Add a query hint to limit the number of concurrent source queries
Key: TEIID-2356
URL: https://issues.jboss.org/browse/TEIID-2356
Project: Teiid
Issue Type: Sub-task
Components: Query Engine
Affects Versions: 7.4
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Priority: Minor
We would like a new query hint to limit the number of parallel executions of union members. This is useful in two situations:
1. When the queries are expensive, but the overall union contains a limit that is most likely to be fulfilled by the first member of the union
2. When the queries are backed by a common resource which may be overloaded by multiple queries
The addition of a hint would make this manageable by the client; perhaps something like "/*+ parallel=2*/"?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (TEIID-2331) TEIID30019 Unexpected exception for request kfhsdoaNXYfM.1: java.lang.NullPointerException
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-2331?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-2331.
-----------------------------------
Fix Version/s: 8.3
Resolution: Done
It's correct that the client is not expecting results - otherwise a ResultsReceiver would be available.
The fix just refines the current checks to make it clear to exit if there is no receiver and to explicitly not consult the buffering logic in the continuous case. This will need to be refined later if we do want to offer remote continuous or just want to allow useCallingThread = false such that results buffering is needed.
> TEIID30019 Unexpected exception for request kfhsdoaNXYfM.1: java.lang.NullPointerException
> ------------------------------------------------------------------------------------------
>
> Key: TEIID-2331
> URL: https://issues.jboss.org/browse/TEIID-2331
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.1
> Environment: Windows 7
> Reporter: Sabina Norderhaug
> Assignee: Steven Hawkins
> Priority: Minor
> Fix For: 8.3
>
>
> We are getting this exception during continious execution. Looks like client cancelling the execution
> 16:13:16,171 ERROR [org.teiid.PROCESSOR] (Worker6_QueryProcessorQueue902) TEIID30019 Unexpected exception for request kfhsdoaNXYfM.1: java.lang.NullPointerException
> at org.teiid.dqp.internal.process.RequestWorkItem.sendResultsIfNeeded(RequestWorkItem.java:753)
> at org.teiid.dqp.internal.process.RequestWorkItem$1.flushBatchDirect(RequestWorkItem.java:557)
> at org.teiid.query.processor.BatchCollector.flushBatch(BatchCollector.java:191)
> at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:166)
> at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:382)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:291)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:219)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:249)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:123)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:298)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_03]
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_03]
> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_03]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months
[JBoss JIRA] (TEIID-1543) Add a query hint to limit the number of concurrent source queries
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-1543?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-1543:
----------------------------------
Fix Version/s: (was: 8.3)
Priority: Minor (was: Major)
Added logic in 8.3 to make an explicit hint less of an issue. The most common case this hint applies to is a limited union, so now the processing logic will detect this case and automatically reduce the parallelism based upon how tight the limit is.
In specific cases a hint may still be desirable, but the current implementation of the concurrency restriction is implemented at the request level and not at the plan level making it difficult to restrict concurrency effectively based upon the particulars of the plan.
> Add a query hint to limit the number of concurrent source queries
> -----------------------------------------------------------------
>
> Key: TEIID-1543
> URL: https://issues.jboss.org/browse/TEIID-1543
> Project: Teiid
> Issue Type: Sub-task
> Components: Query Engine
> Affects Versions: 7.4
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Minor
>
> We would like a new query hint to limit the number of parallel executions of union members. This is useful in two situations:
> 1. When the queries are expensive, but the overall union contains a limit that is most likely to be fulfilled by the first member of the union
> 2. When the queries are backed by a common resource which may be overloaded by multiple queries
> The addition of a hint would make this manageable by the client; perhaps something like "/*+ parallel=2*/"?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
11 years, 11 months