Salesforce connector: not able to query dataset with 8000 rows
pranavk Oct 16, 2014 6:30 AMHi,
I am able to connect to my Salesforce account using the salesforce connector provided in Teiid embedded. I'm also able to properly query objects (tables) with less number of records, but when I try querying a table with a slightly higher number of records (~8000 rows 8 colums), the connector throws a cxf exception: org.apache.cxf.staxutils.DepthExceededStaxException: reach the innerElementCountThreshold:50000,
As per my understanding, the data transfer is being limited by some cxf default values (i.e. 50000, which doesn't seem to be configurable through the Salesforce connector). Could anyone please provide an insight on this issue/how to get around this?
Thanks,
Pranav
Here's the exception trace for reference:
ERROR [PROCESSOR] TEIID30019 Unexpected exception for request gmJhnaECY4HP.0
org.apache.cxf.staxutils.DepthExceededStaxException: reach the innerElementCountThreshold:50000
at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:1262) ~[cxf-api-2.7.7.jar:2.7.7]
at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:1192) ~[cxf-api-2.7.7.jar:2.7.7]
at org.apache.cxf.binding.soap.saaj.SAAJInInterceptor.handleMessage(SAAJInInterceptor.java:223) ~[cxf-rt-binding
at org.apache.cxf.jaxws.handler.soap.SOAPMessageContextImpl.getMessage(SOAPMessageContextImpl.java:78) ~[cxf-rt-
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.createProtocolMessageContext(SOAPHandlerInterceptor.
-2.7.7.jar:2.7.7]
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessageInternal(SOAPHandlerInterceptor.java:16
jar:2.7.7]
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:124) ~[cxf
7]
at org.apache.cxf.jaxws.handler.soap.SOAPHandlerInterceptor.handleMessage(SOAPHandlerInterceptor.java:71) ~[cxf-
]
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272) ~[cxf-api-2.7.7.jar:2.
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:835) ~[cxf-api-2.7.7.jar:2.7.7]
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1606) ~
:2.7.7]
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1502) ~[cxf-rt-
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1309) ~[cxf-rt-transport
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) ~[cxf-api-2.7.7.jar:2.7.7]
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627) ~[cxf-rt-transports-http-2.7.7.jar:2.7.
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSende
.7.7.jar:2.7.7]
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272) ~[cxf-api-2.7.7.jar:2.
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:565) ~[cxf-api-2.7.7.jar:2.7.7]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474) ~[cxf-api-2.7.7.jar:2.7.7]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:377) ~[cxf-api-2.7.7.jar:2.7.7]
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330) ~[cxf-api-2.7.7.jar:2.7.7]
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) ~[cxf-rt-frontend-simple-2.7.7.jar:2.7.7]
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:135) ~[cxf-rt-frontend-jaxws-2.7.7.jar:2.7
at com.sun.proxy.$Proxy248.query(Unknown Source) ~[na:na]
at org.teiid.resource.adapter.salesforce.SalesforceConnectionImpl.query(SalesforceConnectionImpl.java:187) ~[con
.jar:8.8.0.Final]
at org.teiid.translator.salesforce.execution.QueryExecutionImpl.execute(QueryExecutionImpl.java:158) ~[translato
0.Final]
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:326) ~[teiid-engine-8.8.0.Fin
at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:298) ~[teiid-engine-8.
at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:135) ~[teiid-engine-8.8
at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:369) ~[teiid-engine-8.8.0.Fin
at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) ~[teiid-engine-8.8.0.F
at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:136) ~[teiid-engine-8.8.0.F
at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151) ~[teiid-engine-8.8.0.Final.
at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114) ~[teiid-engine-8.8.0.Final.jar:8.
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164) ~[teiid-engine-8.8.0.Final.ja
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146) ~[teiid-engine-8.8.0.Final.ja
at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:444) [teiid-engine-8.8.0.Fina
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:326) [teiid-engine-8.8.0.Final.ja
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.8.0.Final.jar:8
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:254) [teiid-engine-8.8.0.Final.jar:8.
at org.teiid.dqp.internal.process.DQPCore.executeRequest(DQPCore.java:295) [teiid-engine-8.8.0.Final.jar:8.8.0.F
at sun.reflect.GeneratedMethodAccessor237.invoke(Unknown Source) ~[na:na]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_55]
at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_55]
at org.teiid.transport.LocalServerConnection$1$1.call(LocalServerConnection.java:173) [teiid-runtime-8.8.0.Final
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [na:1.7.0_55]
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:274) [teiid-engine-8.8.0.Final
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:258) [teiid-engine-8.8.0.Final
at org.teiid.transport.LocalServerConnection$1.invoke(LocalServerConnection.java:171) [teiid-runtime-8.8.0.Final
at com.sun.proxy.$Proxy267.executeRequest(Unknown Source) [na:na]
at org.teiid.jdbc.StatementImpl.execute(StatementImpl.java:634) [teiid-client-8.8.0.Final.jar:8.8.0.Final]
at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:509) [teiid-client-8.8.0.Final.jar:8.8.0.Final]
at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:393) [teiid-client-8.8.0.Final.jar:8.8.0.Final]
at org.teiid.jdbc.StatementImpl.executeQuery(StatementImpl.java:327) [teiid-client-8.8.0.Final.jar:8.8.0.Final]