[JBoss JIRA] (TEIID-3448) User query should be terminated when TEIID30001
by Hisanobu Okuda (JIRA)
Hisanobu Okuda created TEIID-3448:
-------------------------------------
Summary: User query should be terminated when TEIID30001
Key: TEIID-3448
URL: https://issues.jboss.org/browse/TEIID-3448
Project: Teiid
Issue Type: Bug
Components: Query Engine
Affects Versions: 8.4
Environment: JDV6.0, 6.1
Reporter: Hisanobu Okuda
Assignee: Steven Hawkins
Even if I get the following error when I access a mat view for the first time just after starting JDV:-
{code}
12:45:46,404 ERROR [org.teiid.BUFFER_MGR] (BufferManager Cleaner) TEIID30001 Max block number exceeded by 1 0. Increase the maxStorageObjectSize to support larger storage objects. Alternatively you could make the processor batch size smaller.
{code}
the result for the query returns sucessfully.
However, the 2nd access to the mat view gives an error at client side:-
{code}
org.teiid.jdbc.TeiidSQLException: Batch not found in storage 0
at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:668)
{code}
And server side:-
{code}
12:52:50,961 ERROR [org.teiid.PROCESSOR] (Worker3_QueryProcessorQueue6) TEIID30019 Unexpected exception for request LdGNTpFDRwjr.0: java.lang.AssertionError: Batch not found in storage 0
at org.teiid.common.buffer.impl.BufferManagerImpl$BatchManagerImpl.getBatch(BufferManagerImpl.java:306) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.common.buffer.SPage.getValues(SPage.java:237) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.common.buffer.TupleBrowser.nextTuple(TupleBrowser.java:223) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.tempdata.TempTable$QueryTupleSource.nextTuple(TempTable.java:192) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.tempdata.TempTableDataManager$ProxyTupleSource.nextTuple(TempTableDataManager.java:110) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:369) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.relational.LimitNode.nextBatchDirect(LimitNode.java:102) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.BatchCollector$BatchProducerTupleSource.nextTuple(BatchCollector.java:89) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.relational.GroupingNode.groupPhase(GroupingNode.java:405) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.relational.GroupingNode.nextBatchDirect(GroupingNode.java:336) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:136) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:159) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:141) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:444) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:326) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
...
{code}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 8 months
[JBoss JIRA] (TEIID-3445) StackOverflowError on TempTableStore.getTempTable()
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3445?page=com.atlassian.jira.plugin... ]
Steven Hawkins updated TEIID-3445:
----------------------------------
Issue Type: Bug (was: Feature Request)
Fix Version/s: 8.11
Affects Version/s: 8.7
(was: 8.10)
Yes, the final pop of the program is setting the wrong temptablestore on the context. The extra store per eval then becomes a problem for continuous after enough are accumulated.
> StackOverflowError on TempTableStore.getTempTable()
> ---------------------------------------------------
>
> Key: TEIID-3445
> URL: https://issues.jboss.org/browse/TEIID-3445
> Project: Teiid
> Issue Type: Bug
> Components: Query Engine
> Affects Versions: 8.7
> Reporter: Mark Addleman
> Assignee: Steven Hawkins
> Fix For: 8.11
>
>
> Below is a log snippet (working on getting the full plan) for a StackOverflowError on TempTableStore.getTempTable():
> Exception processin contiuous query begin
> insert into #mom_collectors select * from (call mom.connected_collectors()) t;
> insert into #apm_collectors select * from (call apm_server.connected_collectors()) t;
> select 'add', hostname, port, id from #mom_collectors
> where (hostname, port) not in (select (hostname, port) from #apm_collectors)
> union
> select 'delete', hostname, port, id from #apm_collectors
> where (hostname, port) not in (select (hostname, port) from #mom_collectors) with return;
> end
> org.teiid.jdbc.TeiidSQLException: org.teiid.core.TeiidException
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
> at org.teiid.jdbc.ResultSetImpl.processBatch(ResultSetImpl.java:425)
> at org.teiid.jdbc.ResultSetImpl.access$000(ResultSetImpl.java:64)
> at org.teiid.jdbc.ResultSetImpl$1.onCompletion(ResultSetImpl.java:242)
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:135)
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:40)
> at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:79)
> at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:1056)
> at org.teiid.dqp.internal.process.RequestWorkItem.close(RequestWorkItem.java:563)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:363)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:265)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.j
> ava:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.teiid.core.TeiidException
> at org.teiid.client.ResultsMessage.setException(ResultsMessage.java:196)
> at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:1054)
> ... 10 more
> Caused by: java.lang.StackOverflowError
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 8 months
[JBoss JIRA] (TEIID-3445) StackOverflowError on TempTableStore.getTempTable()
by Mark Addleman (JIRA)
[ https://issues.jboss.org/browse/TEIID-3445?page=com.atlassian.jira.plugin... ]
Mark Addleman commented on TEIID-3445:
--------------------------------------
USER COMMAND:
BEGIN
INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t;
INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t;
SELECT 'add', #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors WHERE (#mom_collectors.hostname, #mom_collectors.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) UNION SELECT 'delete', #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors WHERE (#apm_collectors.hostname, #apm_collectors.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors);
END
----------------------------------------------------------------------------
OPTIMIZE:
BEGIN
INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t;
INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t;
SELECT 'add', #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors WHERE (#mom_collectors.hostname, #mom_collectors.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) UNION SELECT 'delete', #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors WHERE (#apm_collectors.hostname, #apm_collectors.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors);
END
####################################################
PROCEDURE COMMAND: BEGIN
INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t;
INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t;
SELECT 'add', #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors WHERE (#mom_collectors.hostname, #mom_collectors.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) UNION SELECT 'delete', #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors WHERE (#apm_collectors.hostname, #apm_collectors.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors);
END
OPTIMIZING SUB-COMMANDS:
----------------------------------------------------------------------------
OPTIMIZE:
INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t
----------------------------------------------------------------------------
GENERATE CANONICAL:
INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t
CANONICAL PLAN:
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#mom_collectors})
Source(groups=[#mom_collectors], props={ATOMIC_REQUEST=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t})
Project(groups=[t], props={PROJECT_COLS=[t.hostname, t.port, t.id]})
Source(groups=[t], props={NESTED_COMMAND=EXEC mom.connected_collectors(), SYMBOL_MAP={t.hostname=mom.connected_collectors.hostname, t.port=mom.connected_collectors.port, t.id=mom.connected_collectors.id}})
Project(groups=[mom.connected_collectors], props={PROJECT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors()})
============================================================================
EXECUTING PlaceAccess
AFTER:
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#mom_collectors})
Source(groups=[#mom_collectors], props={ATOMIC_REQUEST=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t})
Project(groups=[t], props={PROJECT_COLS=[t.hostname, t.port, t.id]})
Source(groups=[t], props={NESTED_COMMAND=EXEC mom.connected_collectors(), SYMBOL_MAP={t.hostname=mom.connected_collectors.hostname, t.port=mom.connected_collectors.port, t.id=mom.connected_collectors.id}})
Project(groups=[mom.connected_collectors], props={PROJECT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
Access(groups=[mom.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=mom, nameInSource=null, uuid=tid:c45dfb0a1c8a-0001a70b-00000000})
Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors()})
============================================================================
EXECUTING AssignOutputElements
AFTER:
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#mom_collectors, OUTPUT_COLS=[Count]})
Source(groups=[#mom_collectors])
Project(groups=[t], props={PROJECT_COLS=[t.hostname, t.port, t.id], OUTPUT_COLS=[t.hostname, t.port, t.id]})
Source(groups=[t], props={NESTED_COMMAND=EXEC mom.connected_collectors(), SYMBOL_MAP={t.hostname=mom.connected_collectors.hostname, t.port=mom.connected_collectors.port, t.id=mom.connected_collectors.id}, OUTPUT_COLS=[t.hostname, t.port, t.id]})
Project(groups=[mom.connected_collectors], props={PROJECT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
Access(groups=[mom.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=mom, nameInSource=null, uuid=tid:c45dfb0a1c8a-0001a70b-00000000, OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors(), OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
============================================================================
EXECUTING MergeVirtual
AFTER:
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#mom_collectors, OUTPUT_COLS=[Count]})
Source(groups=[#mom_collectors])
Project(groups=[t])
Source(groups=[t])
Project(groups=[mom.connected_collectors])
Access(groups=[mom.connected_collectors])
Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors(), OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
============================================================================
EXECUTING CleanCriteria
AFTER:
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#mom_collectors, OUTPUT_COLS=null})
Source(groups=[#mom_collectors], props={ATOMIC_REQUEST=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t, OUTPUT_COLS=null})
Project(groups=[t], props={PROJECT_COLS=[t.hostname, t.port, t.id], OUTPUT_COLS=null})
Source(groups=[t], props={NESTED_COMMAND=EXEC mom.connected_collectors(), SYMBOL_MAP={t.hostname=mom.connected_collectors.hostname, t.port=mom.connected_collectors.port, t.id=mom.connected_collectors.id}, OUTPUT_COLS=null})
Project(groups=[mom.connected_collectors], props={PROJECT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], OUTPUT_COLS=null})
Access(groups=[mom.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=mom, nameInSource=null, uuid=tid:c45dfb0a1c8a-0001a70b-00000000, OUTPUT_COLS=null})
Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors(), OUTPUT_COLS=null})
============================================================================
EXECUTING RaiseAccess
AFTER:
Project(groups=[])
Source(groups=[#mom_collectors])
Project(groups=[t])
Source(groups=[t])
Project(groups=[mom.connected_collectors], props={PROJECT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], OUTPUT_COLS=null})
Access(groups=[mom.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=mom, nameInSource=null, uuid=tid:c45dfb0a1c8a-0001a70b-00000000, OUTPUT_COLS=null})
Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors(), OUTPUT_COLS=null})
============================================================================
EXECUTING AssignOutputElements
AFTER:
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#mom_collectors, OUTPUT_COLS=[Count]})
Source(groups=[#mom_collectors])
Project(groups=[t], props={PROJECT_COLS=[t.hostname, t.port, t.id], OUTPUT_COLS=[t.hostname, t.port, t.id]})
Source(groups=[t], props={NESTED_COMMAND=EXEC mom.connected_collectors(), SYMBOL_MAP={t.hostname=mom.connected_collectors.hostname, t.port=mom.connected_collectors.port, t.id=mom.connected_collectors.id}, OUTPUT_COLS=[t.hostname, t.port, t.id]})
Project(groups=[mom.connected_collectors], props={PROJECT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
Access(groups=[mom.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=mom, nameInSource=null, uuid=tid:c45dfb0a1c8a-0001a70b-00000000, OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors(), OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]})
============================================================================
EXECUTING CalculateCost
AFTER:
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#mom_collectors, OUTPUT_COLS=[Count], EST_CARDINALITY=-1.0})
Source(groups=[#mom_collectors], props={ATOMIC_REQUEST=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t, OUTPUT_COLS=null, EST_CARDINALITY=-1.0})
Project(groups=[t], props={PROJECT_COLS=[t.hostname, t.port, t.id], OUTPUT_COLS=[t.hostname, t.port, t.id], EST_CARDINALITY=-1.0})
Source(groups=[t], props={NESTED_COMMAND=EXEC mom.connected_collectors(), SYMBOL_MAP={t.hostname=mom.connected_collectors.hostname, t.port=mom.connected_collectors.port, t.id=mom.connected_collectors.id}, OUTPUT_COLS=[t.hostname, t.port, t.id], EST_CARDINALITY=-1.0, EST_COL_STATS={t.hostname=[-1.0, -1.0], t.port=[-1.0, -1.0], t.id=[-1.0, -1.0]}})
Project(groups=[mom.connected_collectors], props={PROJECT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], EST_CARDINALITY=-1.0})
Access(groups=[mom.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=mom, nameInSource=null, uuid=tid:c45dfb0a1c8a-0001a70b-00000000, OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], EST_CARDINALITY=-1.0})
Source(groups=[mom.connected_collectors], props={VIRTUAL_COMMAND=EXEC mom.connected_collectors(), OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], EST_COL_STATS={mom.connected_collectors.hostname=[-1.0, -1.0], mom.connected_collectors.port=[-1.0, -1.0], mom.connected_collectors.id=[-1.0, -1.0]}, EST_CARDINALITY=-1.0})
============================================================================
EXECUTING PlanSorts
AFTER:
Project(groups=[])
Source(groups=[#mom_collectors])
Project(groups=[t])
Source(groups=[t])
Project(groups=[mom.connected_collectors])
Access(groups=[mom.connected_collectors])
Source(groups=[mom.connected_collectors])
============================================================================
EXECUTING CollapseSource
AFTER:
Project(groups=[])
Source(groups=[#mom_collectors])
Project(groups=[t])
Source(groups=[t])
Project(groups=[mom.connected_collectors])
Access(groups=[mom.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=mom, nameInSource=null, uuid=tid:c45dfb0a1c8a-0001a70b-00000000, OUTPUT_COLS=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id], EST_CARDINALITY=-1.0, ATOMIC_REQUEST=EXEC mom.connected_collectors()})
============================================================================
CONVERTING PLAN TREE TO PROCESS TREE
PROCESS PLAN =
ProjectIntoNode(0) output=[Count] #mom_collectors
ProjectNode(1) output=[t.hostname, t.port, t.id] [t.hostname, t.port, t.id]
ProjectNode(2) output=[t.hostname, t.port, t.id] [mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]
AccessNode(3) output=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id] EXEC mom.connected_collectors()
============================================================================
----------------------------------------------------------------------------
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
ProjectIntoNode(0) output=[Count] #mom_collectors
ProjectNode(1) output=[t.hostname, t.port, t.id] [t.hostname, t.port, t.id]
ProjectNode(2) output=[t.hostname, t.port, t.id] [mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]
AccessNode(3) output=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id] EXEC mom.connected_collectors()
============================================================================
----------------------------------------------------------------------------
OPTIMIZE:
INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t
----------------------------------------------------------------------------
GENERATE CANONICAL:
INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t
CANONICAL PLAN:
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#apm_collectors})
Source(groups=[#apm_collectors], props={ATOMIC_REQUEST=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t})
Project(groups=[t], props={PROJECT_COLS=[t.hostname, t.port, t.id]})
Source(groups=[t], props={NESTED_COMMAND=EXEC apm_server.connected_collectors(), SYMBOL_MAP={t.hostname=apm_server.connected_collectors.hostname, t.port=apm_server.connected_collectors.port, t.id=apm_server.connected_collectors.id}})
Project(groups=[apm_server.connected_collectors], props={PROJECT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors()})
============================================================================
EXECUTING PlaceAccess
AFTER:
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#apm_collectors})
Source(groups=[#apm_collectors], props={ATOMIC_REQUEST=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t})
Project(groups=[t AS t__1], props={PROJECT_COLS=[t__1.hostname, t__1.port, t__1.id]})
Source(groups=[t AS t__1], props={NESTED_COMMAND=EXEC apm_server.connected_collectors(), SYMBOL_MAP={t__1.hostname=apm_server.connected_collectors.hostname, t__1.port=apm_server.connected_collectors.port, t__1.id=apm_server.connected_collectors.id}})
Project(groups=[apm_server.connected_collectors], props={PROJECT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
Access(groups=[apm_server.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=apm_server, nameInSource=null, uuid=tid:75e99245e225-1416b484-00000000})
Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors()})
============================================================================
EXECUTING AssignOutputElements
AFTER:
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#apm_collectors, OUTPUT_COLS=[Count]})
Source(groups=[#apm_collectors])
Project(groups=[t AS t__1], props={PROJECT_COLS=[t__1.hostname, t__1.port, t__1.id], OUTPUT_COLS=[t__1.hostname, t__1.port, t__1.id]})
Source(groups=[t AS t__1], props={NESTED_COMMAND=EXEC apm_server.connected_collectors(), SYMBOL_MAP={t__1.hostname=apm_server.connected_collectors.hostname, t__1.port=apm_server.connected_collectors.port, t__1.id=apm_server.connected_collectors.id}, OUTPUT_COLS=[t__1.hostname, t__1.port, t__1.id]})
Project(groups=[apm_server.connected_collectors], props={PROJECT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
Access(groups=[apm_server.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=apm_server, nameInSource=null, uuid=tid:75e99245e225-1416b484-00000000, OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors(), OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
============================================================================
EXECUTING MergeVirtual
AFTER:
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#apm_collectors, OUTPUT_COLS=[Count]})
Source(groups=[#apm_collectors])
Project(groups=[t AS t__1])
Source(groups=[t AS t__1])
Project(groups=[apm_server.connected_collectors])
Access(groups=[apm_server.connected_collectors])
Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors(), OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
============================================================================
EXECUTING CleanCriteria
AFTER:
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#apm_collectors, OUTPUT_COLS=null})
Source(groups=[#apm_collectors], props={ATOMIC_REQUEST=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t, OUTPUT_COLS=null})
Project(groups=[t AS t__1], props={PROJECT_COLS=[t__1.hostname, t__1.port, t__1.id], OUTPUT_COLS=null})
Source(groups=[t AS t__1], props={NESTED_COMMAND=EXEC apm_server.connected_collectors(), SYMBOL_MAP={t__1.hostname=apm_server.connected_collectors.hostname, t__1.port=apm_server.connected_collectors.port, t__1.id=apm_server.connected_collectors.id}, OUTPUT_COLS=null})
Project(groups=[apm_server.connected_collectors], props={PROJECT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], OUTPUT_COLS=null})
Access(groups=[apm_server.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=apm_server, nameInSource=null, uuid=tid:75e99245e225-1416b484-00000000, OUTPUT_COLS=null})
Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors(), OUTPUT_COLS=null})
============================================================================
EXECUTING RaiseAccess
AFTER:
Project(groups=[])
Source(groups=[#apm_collectors])
Project(groups=[t AS t__1])
Source(groups=[t AS t__1])
Project(groups=[apm_server.connected_collectors], props={PROJECT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], OUTPUT_COLS=null})
Access(groups=[apm_server.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=apm_server, nameInSource=null, uuid=tid:75e99245e225-1416b484-00000000, OUTPUT_COLS=null})
Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors(), OUTPUT_COLS=null})
============================================================================
EXECUTING AssignOutputElements
AFTER:
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#apm_collectors, OUTPUT_COLS=[Count]})
Source(groups=[#apm_collectors])
Project(groups=[t AS t__1], props={PROJECT_COLS=[t__1.hostname, t__1.port, t__1.id], OUTPUT_COLS=[t__1.hostname, t__1.port, t__1.id]})
Source(groups=[t AS t__1], props={NESTED_COMMAND=EXEC apm_server.connected_collectors(), SYMBOL_MAP={t__1.hostname=apm_server.connected_collectors.hostname, t__1.port=apm_server.connected_collectors.port, t__1.id=apm_server.connected_collectors.id}, OUTPUT_COLS=[t__1.hostname, t__1.port, t__1.id]})
Project(groups=[apm_server.connected_collectors], props={PROJECT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
Access(groups=[apm_server.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=apm_server, nameInSource=null, uuid=tid:75e99245e225-1416b484-00000000, OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors(), OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]})
============================================================================
EXECUTING CalculateCost
AFTER:
Project(groups=[], props={PROJECT_COLS=[Count], INTO_GROUP=#apm_collectors, OUTPUT_COLS=[Count], EST_CARDINALITY=-1.0})
Source(groups=[#apm_collectors], props={ATOMIC_REQUEST=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t, VIRTUAL_COMMAND=INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t, OUTPUT_COLS=null, EST_CARDINALITY=-1.0})
Project(groups=[t AS t__1], props={PROJECT_COLS=[t__1.hostname, t__1.port, t__1.id], OUTPUT_COLS=[t__1.hostname, t__1.port, t__1.id], EST_CARDINALITY=-1.0})
Source(groups=[t AS t__1], props={NESTED_COMMAND=EXEC apm_server.connected_collectors(), SYMBOL_MAP={t__1.hostname=apm_server.connected_collectors.hostname, t__1.port=apm_server.connected_collectors.port, t__1.id=apm_server.connected_collectors.id}, OUTPUT_COLS=[t__1.hostname, t__1.port, t__1.id], EST_CARDINALITY=-1.0, EST_COL_STATS={t__1.hostname=[-1.0, -1.0], t__1.port=[-1.0, -1.0], t__1.id=[-1.0, -1.0]}})
Project(groups=[apm_server.connected_collectors], props={PROJECT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], EST_CARDINALITY=-1.0})
Access(groups=[apm_server.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=apm_server, nameInSource=null, uuid=tid:75e99245e225-1416b484-00000000, OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], EST_CARDINALITY=-1.0})
Source(groups=[apm_server.connected_collectors], props={VIRTUAL_COMMAND=EXEC apm_server.connected_collectors(), OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], EST_COL_STATS={apm_server.connected_collectors.hostname=[-1.0, -1.0], apm_server.connected_collectors.port=[-1.0, -1.0], apm_server.connected_collectors.id=[-1.0, -1.0]}, EST_CARDINALITY=-1.0})
============================================================================
EXECUTING PlanSorts
AFTER:
Project(groups=[])
Source(groups=[#apm_collectors])
Project(groups=[t AS t__1])
Source(groups=[t AS t__1])
Project(groups=[apm_server.connected_collectors])
Access(groups=[apm_server.connected_collectors])
Source(groups=[apm_server.connected_collectors])
============================================================================
EXECUTING CollapseSource
AFTER:
Project(groups=[])
Source(groups=[#apm_collectors])
Project(groups=[t AS t__1])
Source(groups=[t AS t__1])
Project(groups=[apm_server.connected_collectors])
Access(groups=[apm_server.connected_collectors], props={SOURCE_HINT=null, MODEL_ID=Schema name=apm_server, nameInSource=null, uuid=tid:75e99245e225-1416b484-00000000, OUTPUT_COLS=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id], EST_CARDINALITY=-1.0, ATOMIC_REQUEST=EXEC apm_server.connected_collectors()})
============================================================================
CONVERTING PLAN TREE TO PROCESS TREE
PROCESS PLAN =
ProjectIntoNode(4) output=[Count] #apm_collectors
ProjectNode(5) output=[t__1.hostname, t__1.port, t__1.id] [t__1.hostname, t__1.port, t__1.id]
ProjectNode(6) output=[t__1.hostname, t__1.port, t__1.id] [apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]
AccessNode(7) output=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id] EXEC apm_server.connected_collectors()
============================================================================
----------------------------------------------------------------------------
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
ProjectIntoNode(4) output=[Count] #apm_collectors
ProjectNode(5) output=[t__1.hostname, t__1.port, t__1.id] [t__1.hostname, t__1.port, t__1.id]
ProjectNode(6) output=[t__1.hostname, t__1.port, t__1.id] [apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]
AccessNode(7) output=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id] EXEC apm_server.connected_collectors()
============================================================================
----------------------------------------------------------------------------
OPTIMIZE:
SELECT 'add', #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors WHERE (#mom_collectors.hostname, #mom_collectors.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) UNION SELECT 'delete', #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors WHERE (#apm_collectors.hostname, #apm_collectors.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)
----------------------------------------------------------------------------
GENERATE CANONICAL:
SELECT 'add', #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors WHERE (#mom_collectors.hostname, #mom_collectors.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) UNION SELECT 'delete', #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors WHERE (#apm_collectors.hostname, #apm_collectors.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)
CANONICAL PLAN:
SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false})
Project(groups=[#mom_collectors], props={PROJECT_COLS=['add', #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id]})
Select(groups=[#mom_collectors], props={SELECT_CRITERIA=(#mom_collectors.hostname, #mom_collectors.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors)})
Source(groups=[#mom_collectors])
Project(groups=[#apm_collectors], props={PROJECT_COLS=['delete', #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id]})
Select(groups=[#apm_collectors], props={SELECT_CRITERIA=(#apm_collectors.hostname, #apm_collectors.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)})
Source(groups=[#apm_collectors])
----------------------------------------------------------------------------
OPTIMIZE:
SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors
----------------------------------------------------------------------------
GENERATE CANONICAL:
SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors
CANONICAL PLAN:
Project(groups=[#apm_collectors], props={PROJECT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)]})
Source(groups=[#apm_collectors])
============================================================================
EXECUTING PlaceAccess
AFTER:
Project(groups=[#apm_collectors], props={PROJECT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)]})
Access(groups=[#apm_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
Source(groups=[#apm_collectors])
============================================================================
EXECUTING RaiseAccess
AFTER:
Project(groups=[#apm_collectors], props={PROJECT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)]})
Access(groups=[#apm_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
Source(groups=[#apm_collectors])
============================================================================
EXECUTING AssignOutputElements
AFTER:
Project(groups=[#apm_collectors], props={PROJECT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)], OUTPUT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)]})
Access(groups=[#apm_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#apm_collectors.hostname, #apm_collectors.port]})
Source(groups=[#apm_collectors], props={OUTPUT_COLS=[#apm_collectors.hostname, #apm_collectors.port]})
============================================================================
EXECUTING CalculateCost
AFTER:
Project(groups=[#apm_collectors], props={PROJECT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)], OUTPUT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)], EST_CARDINALITY=256.0, EST_COL_STATS={(#apm_collectors.hostname, #apm_collectors.port)=[-1.0, -1.0]}})
Access(groups=[#apm_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#apm_collectors.hostname, #apm_collectors.port], EST_CARDINALITY=256.0, EST_COL_STATS={#apm_collectors.hostname=[-1.0, -1.0], #apm_collectors.port=[-1.0, -1.0]}})
Source(groups=[#apm_collectors], props={OUTPUT_COLS=[#apm_collectors.hostname, #apm_collectors.port], EST_COL_STATS={#apm_collectors.hostname=[-1.0, -1.0], #apm_collectors.port=[-1.0, -1.0]}, EST_CARDINALITY=256.0})
============================================================================
EXECUTING PlanSorts
AFTER:
Project(groups=[#apm_collectors])
Access(groups=[#apm_collectors])
Source(groups=[#apm_collectors])
============================================================================
EXECUTING CollapseSource
AFTER:
Project(groups=[#apm_collectors], props={PROJECT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)], OUTPUT_COLS=[(#apm_collectors.hostname, #apm_collectors.port)], EST_CARDINALITY=256.0, EST_COL_STATS={(#apm_collectors.hostname, #apm_collectors.port)=[-1.0, -1.0]}})
Access(groups=[#apm_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#apm_collectors.hostname, #apm_collectors.port], EST_CARDINALITY=256.0, EST_COL_STATS={#apm_collectors.hostname=[-1.0, -1.0], #apm_collectors.port=[-1.0, -1.0]}, ATOMIC_REQUEST=SELECT #apm_collectors.hostname, #apm_collectors.port FROM #apm_collectors})
============================================================================
CONVERTING PLAN TREE TO PROCESS TREE
PROCESS PLAN =
ProjectNode(8) output=[(#apm_collectors.hostname, #apm_collectors.port)] [(#apm_collectors.hostname, #apm_collectors.port)]
AccessNode(9) output=[#apm_collectors.hostname, #apm_collectors.port] SELECT #apm_collectors.hostname, #apm_collectors.port FROM #apm_collectors
============================================================================
----------------------------------------------------------------------------
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
ProjectNode(8) output=[(#apm_collectors.hostname, #apm_collectors.port)] [(#apm_collectors.hostname, #apm_collectors.port)]
AccessNode(9) output=[#apm_collectors.hostname, #apm_collectors.port] SELECT #apm_collectors.hostname, #apm_collectors.port FROM #apm_collectors
============================================================================
----------------------------------------------------------------------------
OPTIMIZE:
SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors
----------------------------------------------------------------------------
GENERATE CANONICAL:
SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors
CANONICAL PLAN:
Project(groups=[#mom_collectors], props={PROJECT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)]})
Source(groups=[#mom_collectors])
============================================================================
EXECUTING PlaceAccess
AFTER:
Project(groups=[#mom_collectors], props={PROJECT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)]})
Access(groups=[#mom_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
Source(groups=[#mom_collectors])
============================================================================
EXECUTING RaiseAccess
AFTER:
Project(groups=[#mom_collectors], props={PROJECT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)]})
Access(groups=[#mom_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
Source(groups=[#mom_collectors])
============================================================================
EXECUTING AssignOutputElements
AFTER:
Project(groups=[#mom_collectors], props={PROJECT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)], OUTPUT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)]})
Access(groups=[#mom_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#mom_collectors.hostname, #mom_collectors.port]})
Source(groups=[#mom_collectors], props={OUTPUT_COLS=[#mom_collectors.hostname, #mom_collectors.port]})
============================================================================
EXECUTING CalculateCost
AFTER:
Project(groups=[#mom_collectors], props={PROJECT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)], OUTPUT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)], EST_CARDINALITY=256.0, EST_COL_STATS={(#mom_collectors.hostname, #mom_collectors.port)=[-1.0, -1.0]}})
Access(groups=[#mom_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#mom_collectors.hostname, #mom_collectors.port], EST_CARDINALITY=256.0, EST_COL_STATS={#mom_collectors.hostname=[-1.0, -1.0], #mom_collectors.port=[-1.0, -1.0]}})
Source(groups=[#mom_collectors], props={OUTPUT_COLS=[#mom_collectors.hostname, #mom_collectors.port], EST_COL_STATS={#mom_collectors.hostname=[-1.0, -1.0], #mom_collectors.port=[-1.0, -1.0]}, EST_CARDINALITY=256.0})
============================================================================
EXECUTING PlanSorts
AFTER:
Project(groups=[#mom_collectors])
Access(groups=[#mom_collectors])
Source(groups=[#mom_collectors])
============================================================================
EXECUTING CollapseSource
AFTER:
Project(groups=[#mom_collectors], props={PROJECT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)], OUTPUT_COLS=[(#mom_collectors.hostname, #mom_collectors.port)], EST_CARDINALITY=256.0, EST_COL_STATS={(#mom_collectors.hostname, #mom_collectors.port)=[-1.0, -1.0]}})
Access(groups=[#mom_collectors], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#mom_collectors.hostname, #mom_collectors.port], EST_CARDINALITY=256.0, EST_COL_STATS={#mom_collectors.hostname=[-1.0, -1.0], #mom_collectors.port=[-1.0, -1.0]}, ATOMIC_REQUEST=SELECT #mom_collectors.hostname, #mom_collectors.port FROM #mom_collectors})
============================================================================
CONVERTING PLAN TREE TO PROCESS TREE
PROCESS PLAN =
ProjectNode(10) output=[(#mom_collectors.hostname, #mom_collectors.port)] [(#mom_collectors.hostname, #mom_collectors.port)]
AccessNode(11) output=[#mom_collectors.hostname, #mom_collectors.port] SELECT #mom_collectors.hostname, #mom_collectors.port FROM #mom_collectors
============================================================================
----------------------------------------------------------------------------
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
ProjectNode(10) output=[(#mom_collectors.hostname, #mom_collectors.port)] [(#mom_collectors.hostname, #mom_collectors.port)]
AccessNode(11) output=[#mom_collectors.hostname, #mom_collectors.port] SELECT #mom_collectors.hostname, #mom_collectors.port FROM #mom_collectors
============================================================================
============================================================================
EXECUTING PlaceAccess
AFTER:
SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false})
Project(groups=[#mom_collectors AS #mom_collectors__1], props={PROJECT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]})
Select(groups=[#mom_collectors AS #mom_collectors__1], props={SELECT_CRITERIA=(#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors)})
Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
Source(groups=[#mom_collectors AS #mom_collectors__1])
Project(groups=[#apm_collectors AS #apm_collectors__1], props={PROJECT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]})
Select(groups=[#apm_collectors AS #apm_collectors__1], props={SELECT_CRITERIA=(#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)})
Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
Source(groups=[#apm_collectors AS #apm_collectors__1])
============================================================================
EXECUTING PushSelectCriteria
AFTER:
SetOperation(groups=[])
Project(groups=[#mom_collectors AS #mom_collectors__1], props={PROJECT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]})
Select(groups=[#mom_collectors AS #mom_collectors__1], props={SELECT_CRITERIA=(#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors)})
Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
Source(groups=[#mom_collectors AS #mom_collectors__1])
Project(groups=[#apm_collectors AS #apm_collectors__1], props={PROJECT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]})
Select(groups=[#apm_collectors AS #apm_collectors__1], props={SELECT_CRITERIA=(#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)})
Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__})
Source(groups=[#apm_collectors AS #apm_collectors__1])
============================================================================
EXECUTING CleanCriteria
AFTER:
SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false, OUTPUT_COLS=null})
Project(groups=[#mom_collectors AS #mom_collectors__1], props={PROJECT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], OUTPUT_COLS=null})
Select(groups=[#mom_collectors AS #mom_collectors__1], props={SELECT_CRITERIA=(#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors), OUTPUT_COLS=null})
Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=null})
Source(groups=[#mom_collectors AS #mom_collectors__1], props={OUTPUT_COLS=null})
Project(groups=[#apm_collectors AS #apm_collectors__1], props={PROJECT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], OUTPUT_COLS=null})
Select(groups=[#apm_collectors AS #apm_collectors__1], props={SELECT_CRITERIA=(#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors), OUTPUT_COLS=null})
Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=null})
Source(groups=[#apm_collectors AS #apm_collectors__1], props={OUTPUT_COLS=null})
============================================================================
EXECUTING PlanUnions
AFTER:
SetOperation(groups=[])
Project(groups=[#mom_collectors AS #mom_collectors__1])
Select(groups=[#mom_collectors AS #mom_collectors__1])
Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=null})
Source(groups=[#mom_collectors AS #mom_collectors__1])
Project(groups=[#apm_collectors AS #apm_collectors__1])
Select(groups=[#apm_collectors AS #apm_collectors__1])
Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=null})
Source(groups=[#apm_collectors AS #apm_collectors__1])
============================================================================
EXECUTING RaiseAccess
LOW Relational Planner Negation is not supported by source __TEMP__ - (#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) was not pushed
LOW Relational Planner SubqueryIn is not supported by source __TEMP__ - (#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) was not pushed
LOW Relational Planner Negation is not supported by source __TEMP__ - (#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors) was not pushed
LOW Relational Planner SubqueryIn is not supported by source __TEMP__ - (#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors) was not pushed
AFTER:
SetOperation(groups=[])
Project(groups=[#mom_collectors AS #mom_collectors__1])
Select(groups=[#mom_collectors AS #mom_collectors__1], props={SELECT_CRITERIA=(#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors), OUTPUT_COLS=null})
Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=null})
Source(groups=[#mom_collectors AS #mom_collectors__1])
Project(groups=[#apm_collectors AS #apm_collectors__1])
Select(groups=[#apm_collectors AS #apm_collectors__1], props={SELECT_CRITERIA=(#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors), OUTPUT_COLS=null})
Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=null})
Source(groups=[#apm_collectors AS #apm_collectors__1])
============================================================================
EXECUTING AssignOutputElements
AFTER:
SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false, OUTPUT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]})
Project(groups=[#mom_collectors AS #mom_collectors__1], props={PROJECT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], OUTPUT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]})
Select(groups=[#mom_collectors AS #mom_collectors__1], props={SELECT_CRITERIA=(#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors), OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]})
Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]})
Source(groups=[#mom_collectors AS #mom_collectors__1], props={OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]})
Project(groups=[#apm_collectors AS #apm_collectors__1], props={PROJECT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], OUTPUT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]})
Select(groups=[#apm_collectors AS #apm_collectors__1], props={SELECT_CRITERIA=(#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors), OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]})
Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]})
Source(groups=[#apm_collectors AS #apm_collectors__1], props={OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]})
============================================================================
EXECUTING CalculateCost
AFTER:
SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false, OUTPUT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=127.99999, EST_COL_STATS={'add'=[1.5, 1.5], #mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}})
Project(groups=[#mom_collectors AS #mom_collectors__1], props={PROJECT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], OUTPUT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={'add'=[1.0, 1.0], #mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}})
Select(groups=[#mom_collectors AS #mom_collectors__1], props={SELECT_CRITERIA=(#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors), OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={#mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}})
Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=256.0, EST_COL_STATS={#mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}})
Source(groups=[#mom_collectors AS #mom_collectors__1], props={OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_COL_STATS={#mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}, EST_CARDINALITY=256.0})
Project(groups=[#apm_collectors AS #apm_collectors__1], props={PROJECT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], OUTPUT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={'delete'=[1.0, 1.0], #apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}})
Select(groups=[#apm_collectors AS #apm_collectors__1], props={SELECT_CRITERIA=(#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors), OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={#apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}})
Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_CARDINALITY=256.0, EST_COL_STATS={#apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}})
Source(groups=[#apm_collectors AS #apm_collectors__1], props={OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_COL_STATS={#apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}, EST_CARDINALITY=256.0})
============================================================================
EXECUTING MergeCriteria
AFTER:
SetOperation(groups=[])
Project(groups=[#mom_collectors AS #mom_collectors__1])
Select(groups=[#mom_collectors AS #mom_collectors__1], props={SELECT_CRITERIA=(#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors), OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={#mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}})
Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=256.0, EST_COL_STATS={#mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}})
Source(groups=[#mom_collectors AS #mom_collectors__1], props={OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_COL_STATS={#mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}, EST_CARDINALITY=256.0})
Project(groups=[#apm_collectors AS #apm_collectors__1])
Select(groups=[#apm_collectors AS #apm_collectors__1], props={SELECT_CRITERIA=(#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors), OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={#apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}})
Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_CARDINALITY=256.0, EST_COL_STATS={#apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}})
Source(groups=[#apm_collectors AS #apm_collectors__1], props={OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_COL_STATS={#apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}, EST_CARDINALITY=256.0})
============================================================================
EXECUTING PlanSorts
AFTER:
SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false, OUTPUT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=127.99999, EST_COL_STATS={'add'=[1.5, 1.5], #mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}, IS_DUP_REMOVAL=true})
Project(groups=[#mom_collectors AS #mom_collectors__1])
Select(groups=[#mom_collectors AS #mom_collectors__1])
Access(groups=[#mom_collectors AS #mom_collectors__1])
Source(groups=[#mom_collectors AS #mom_collectors__1])
Project(groups=[#apm_collectors AS #apm_collectors__1])
Select(groups=[#apm_collectors AS #apm_collectors__1])
Access(groups=[#apm_collectors AS #apm_collectors__1])
Source(groups=[#apm_collectors AS #apm_collectors__1])
============================================================================
EXECUTING CollapseSource
AFTER:
SetOperation(groups=[], props={SET_OPERATION=UNION, USE_ALL=false, OUTPUT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=127.99999, EST_COL_STATS={'add'=[1.5, 1.5], #mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}, IS_DUP_REMOVAL=true})
Project(groups=[#mom_collectors AS #mom_collectors__1], props={PROJECT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], OUTPUT_COLS=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={'add'=[1.0, 1.0], #mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}})
Select(groups=[#mom_collectors AS #mom_collectors__1])
Access(groups=[#mom_collectors AS #mom_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id], EST_CARDINALITY=256.0, EST_COL_STATS={#mom_collectors__1.hostname=[-1.0, -1.0], #mom_collectors__1.port=[-1.0, -1.0], #mom_collectors__1.id=[-1.0, -1.0]}, ATOMIC_REQUEST=SELECT #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id FROM #mom_collectors AS #mom_collectors__1})
Project(groups=[#apm_collectors AS #apm_collectors__1], props={PROJECT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], OUTPUT_COLS=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_CARDINALITY=170.66666, EST_COL_STATS={'delete'=[1.0, 1.0], #apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}})
Select(groups=[#apm_collectors AS #apm_collectors__1])
Access(groups=[#apm_collectors AS #apm_collectors__1], props={SOURCE_HINT=null, MODEL_ID=__TEMP__, OUTPUT_COLS=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id], EST_CARDINALITY=256.0, EST_COL_STATS={#apm_collectors__1.hostname=[-1.0, -1.0], #apm_collectors__1.port=[-1.0, -1.0], #apm_collectors__1.id=[-1.0, -1.0]}, ATOMIC_REQUEST=SELECT #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id FROM #apm_collectors AS #apm_collectors__1})
============================================================================
CONVERTING PLAN TREE TO PROCESS TREE
PROCESS PLAN =
DupRemoveNode(13) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]
UnionAllNode(12) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]
ProjectNode(14) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] ['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]
SelectNode(15) output=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] (#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors)
AccessNode(16) output=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] SELECT #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors
ProjectNode(17) output=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] ['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]
SelectNode(18) output=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] (#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)
AccessNode(19) output=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] SELECT #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors
============================================================================
----------------------------------------------------------------------------
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
DupRemoveNode(13) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]
UnionAllNode(12) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]
ProjectNode(14) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] ['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]
SelectNode(15) output=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] (#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors)
AccessNode(16) output=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] SELECT #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors
ProjectNode(17) output=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] ['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]
SelectNode(18) output=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] (#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)
AccessNode(19) output=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] SELECT #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors
============================================================================
COMMAND STATEMENT:
INSERT INTO #mom_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC mom.connected_collectors()) AS t;
STATEMENT COMMAND PROCESS PLAN:
ProjectIntoNode(0) output=[Count] #mom_collectors
ProjectNode(1) output=[t.hostname, t.port, t.id] [t.hostname, t.port, t.id]
ProjectNode(2) output=[t.hostname, t.port, t.id] [mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id]
AccessNode(3) output=[mom.connected_collectors.hostname, mom.connected_collectors.port, mom.connected_collectors.id] EXEC mom.connected_collectors()
COMMAND STATEMENT:
INSERT INTO #apm_collectors (hostname, port, id) SELECT t.hostname, t.port, t.id FROM (EXEC apm_server.connected_collectors()) AS t;
STATEMENT COMMAND PROCESS PLAN:
ProjectIntoNode(4) output=[Count] #apm_collectors
ProjectNode(5) output=[t__1.hostname, t__1.port, t__1.id] [t__1.hostname, t__1.port, t__1.id]
ProjectNode(6) output=[t__1.hostname, t__1.port, t__1.id] [apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id]
AccessNode(7) output=[apm_server.connected_collectors.hostname, apm_server.connected_collectors.port, apm_server.connected_collectors.id] EXEC apm_server.connected_collectors()
COMMAND STATEMENT:
SELECT 'add', #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors WHERE (#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors) UNION SELECT 'delete', #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors WHERE (#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors);
STATEMENT COMMAND PROCESS PLAN:
DupRemoveNode(13) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]
UnionAllNode(12) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]
ProjectNode(14) output=['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] ['add', #mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id]
SelectNode(15) output=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] (#mom_collectors__1.hostname, #mom_collectors__1.port) NOT IN (SELECT (#apm_collectors.hostname, #apm_collectors.port) FROM #apm_collectors)
AccessNode(16) output=[#mom_collectors__1.hostname, #mom_collectors__1.port, #mom_collectors__1.id] SELECT #mom_collectors.hostname, #mom_collectors.port, #mom_collectors.id FROM #mom_collectors
ProjectNode(17) output=['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] ['delete', #apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id]
SelectNode(18) output=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] (#apm_collectors__1.hostname, #apm_collectors__1.port) NOT IN (SELECT (#mom_collectors.hostname, #mom_collectors.port) FROM #mom_collectors)
AccessNode(19) output=[#apm_collectors__1.hostname, #apm_collectors__1.port, #apm_collectors__1.id] SELECT #apm_collectors.hostname, #apm_collectors.port, #apm_collectors.id FROM #apm_collectors
####################################################
####################################################
PROCEDURE PLAN :ProcedurePlan:
PROGRAM counter 0
0: CREATE CURSOR RESULTSET INSTRUCTION - null
1: CREATE CURSOR RESULTSET INSTRUCTION - null
2: CREATE CURSOR RESULTSET INSTRUCTION - null
####################################################
----------------------------------------------------------------------------
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
ProcedurePlan:
PROGRAM counter 0
0: CREATE CURSOR RESULTSET INSTRUCTION - null
1: CREATE CURSOR RESULTSET INSTRUCTION - null
2: CREATE CURSOR RESULTSET INSTRUCTION - null
============================================================================
> StackOverflowError on TempTableStore.getTempTable()
> ---------------------------------------------------
>
> Key: TEIID-3445
> URL: https://issues.jboss.org/browse/TEIID-3445
> Project: Teiid
> Issue Type: Feature Request
> Components: Query Engine
> Affects Versions: 8.10
> Reporter: Mark Addleman
> Assignee: Steven Hawkins
>
> Below is a log snippet (working on getting the full plan) for a StackOverflowError on TempTableStore.getTempTable():
> Exception processin contiuous query begin
> insert into #mom_collectors select * from (call mom.connected_collectors()) t;
> insert into #apm_collectors select * from (call apm_server.connected_collectors()) t;
> select 'add', hostname, port, id from #mom_collectors
> where (hostname, port) not in (select (hostname, port) from #apm_collectors)
> union
> select 'delete', hostname, port, id from #apm_collectors
> where (hostname, port) not in (select (hostname, port) from #mom_collectors) with return;
> end
> org.teiid.jdbc.TeiidSQLException: org.teiid.core.TeiidException
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
> at org.teiid.jdbc.ResultSetImpl.processBatch(ResultSetImpl.java:425)
> at org.teiid.jdbc.ResultSetImpl.access$000(ResultSetImpl.java:64)
> at org.teiid.jdbc.ResultSetImpl$1.onCompletion(ResultSetImpl.java:242)
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:135)
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:40)
> at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:79)
> at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:1056)
> at org.teiid.dqp.internal.process.RequestWorkItem.close(RequestWorkItem.java:563)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:363)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:265)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.j
> ava:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.teiid.core.TeiidException
> at org.teiid.client.ResultsMessage.setException(ResultsMessage.java:196)
> at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:1054)
> ... 10 more
> Caused by: java.lang.StackOverflowError
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 8 months
[JBoss JIRA] (TEIID-3445) StackOverflowError on TempTableStore.getTempTable()
by Mark Addleman (JIRA)
[ https://issues.jboss.org/browse/TEIID-3445?page=com.atlassian.jira.plugin... ]
Mark Addleman commented on TEIID-3445:
--------------------------------------
The only oddity is that I'm running the anonymous procedure block in continuous mode. I'll upload a plan in a bit.
> StackOverflowError on TempTableStore.getTempTable()
> ---------------------------------------------------
>
> Key: TEIID-3445
> URL: https://issues.jboss.org/browse/TEIID-3445
> Project: Teiid
> Issue Type: Feature Request
> Components: Query Engine
> Affects Versions: 8.10
> Reporter: Mark Addleman
> Assignee: Steven Hawkins
>
> Below is a log snippet (working on getting the full plan) for a StackOverflowError on TempTableStore.getTempTable():
> Exception processin contiuous query begin
> insert into #mom_collectors select * from (call mom.connected_collectors()) t;
> insert into #apm_collectors select * from (call apm_server.connected_collectors()) t;
> select 'add', hostname, port, id from #mom_collectors
> where (hostname, port) not in (select (hostname, port) from #apm_collectors)
> union
> select 'delete', hostname, port, id from #apm_collectors
> where (hostname, port) not in (select (hostname, port) from #mom_collectors) with return;
> end
> org.teiid.jdbc.TeiidSQLException: org.teiid.core.TeiidException
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
> at org.teiid.jdbc.ResultSetImpl.processBatch(ResultSetImpl.java:425)
> at org.teiid.jdbc.ResultSetImpl.access$000(ResultSetImpl.java:64)
> at org.teiid.jdbc.ResultSetImpl$1.onCompletion(ResultSetImpl.java:242)
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:135)
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:40)
> at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:79)
> at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:1056)
> at org.teiid.dqp.internal.process.RequestWorkItem.close(RequestWorkItem.java:563)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:363)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:265)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.j
> ava:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.teiid.core.TeiidException
> at org.teiid.client.ResultsMessage.setException(ResultsMessage.java:196)
> at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:1054)
> ... 10 more
> Caused by: java.lang.StackOverflowError
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 8 months
[JBoss JIRA] (TEIID-3445) StackOverflowError on TempTableStore.getTempTable()
by Steven Hawkins (JIRA)
[ https://issues.jboss.org/browse/TEIID-3445?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-3445:
---------------------------------------
Yes, some more context would be good. In setting up a similar scenario, I don't see any issues.
> StackOverflowError on TempTableStore.getTempTable()
> ---------------------------------------------------
>
> Key: TEIID-3445
> URL: https://issues.jboss.org/browse/TEIID-3445
> Project: Teiid
> Issue Type: Feature Request
> Components: Query Engine
> Affects Versions: 8.10
> Reporter: Mark Addleman
> Assignee: Steven Hawkins
>
> Below is a log snippet (working on getting the full plan) for a StackOverflowError on TempTableStore.getTempTable():
> Exception processin contiuous query begin
> insert into #mom_collectors select * from (call mom.connected_collectors()) t;
> insert into #apm_collectors select * from (call apm_server.connected_collectors()) t;
> select 'add', hostname, port, id from #mom_collectors
> where (hostname, port) not in (select (hostname, port) from #apm_collectors)
> union
> select 'delete', hostname, port, id from #apm_collectors
> where (hostname, port) not in (select (hostname, port) from #mom_collectors) with return;
> end
> org.teiid.jdbc.TeiidSQLException: org.teiid.core.TeiidException
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
> at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
> at org.teiid.jdbc.ResultSetImpl.processBatch(ResultSetImpl.java:425)
> at org.teiid.jdbc.ResultSetImpl.access$000(ResultSetImpl.java:64)
> at org.teiid.jdbc.ResultSetImpl$1.onCompletion(ResultSetImpl.java:242)
> at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:135)
> at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:40)
> at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:79)
> at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:1056)
> at org.teiid.dqp.internal.process.RequestWorkItem.close(RequestWorkItem.java:563)
> at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:363)
> at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
> at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:265)
> at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.j
> ava:119)
> at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.teiid.core.TeiidException
> at org.teiid.client.ResultsMessage.setException(ResultsMessage.java:196)
> at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:1054)
> ... 10 more
> Caused by: java.lang.StackOverflowError
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
> at org.teiid.query.tempdata.TempTableStore.getTempTable(TempTableStore.java:614)
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 8 months
[JBoss JIRA] (TEIID-3447) Attempt to get JDBC cardinalities with getLong
by Steven Hawkins (JIRA)
Steven Hawkins created TEIID-3447:
-------------------------------------
Summary: Attempt to get JDBC cardinalities with getLong
Key: TEIID-3447
URL: https://issues.jboss.org/browse/TEIID-3447
Project: Teiid
Issue Type: Quality Risk
Components: JDBC Connector
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 8.11
Oracle, and possibly other drivers, can have an issue (numericoverflow) with table cardinalities over max int. when getInt is used on the ResultSet (int is expected according to JDBC). We can try getLong first and then getInt if there is an issue.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
9 years, 8 months