]
Steven Hawkins commented on TEIID-5203:
---------------------------------------
No, it is related to TEIID-4666, but I haven't seen this exception before. It's
implying that the row has no values, so it may be dependent on the state of the
spreadsheet as well.
Google Spreadsheet translator NPE thrown on UPDATE
--------------------------------------------------
Key: TEIID-5203
URL:
https://issues.jboss.org/browse/TEIID-5203
Project: Teiid
Issue Type: Bug
Components: Misc. Connectors
Affects Versions: 8.12.x-6.4
Reporter: Jan Stastny
Assignee: Steven Hawkins
Priority: Blocker
There is a NPE thrown with UPDATE when there is a matching row (either no criteria or
criteria matching at least one row).
{code:sql}
UPDATE SmallA SET IntNum=2
{code}
{code}
15:50:17,006 ERROR [org.teiid.CONNECTOR] (Worker8_QueryProcessorQueue71) Connector worker
process failed for atomic-request=llOgHAYB6Yd3.31.2.96: java.lang.NullPointerException
at
com.google.gdata.data.spreadsheet.CustomElementCollection.getValue(CustomElementCollection.java:106)
[gdata-spreadsheet-3.0.jar:]
at
org.teiid.resource.adapter.google.gdata.GDataClientLoginAPI.listFeedUpdate(GDataClientLoginAPI.java:175)
[google-api-8.12.11.6_4-redhat-64-10.jar:8.12.11.6_4-redhat-64-10]
at
org.teiid.resource.adapter.google.SpreadsheetConnectionImpl.executeListFeedUpdate(SpreadsheetConnectionImpl.java:114)
at
org.teiid.translator.google.SpreadsheetUpdateExecution.executeUpdate(SpreadsheetUpdateExecution.java:76)
[translator-google-8.12.11.6_4-redhat-64-10.jar:8.12.11.6_4-redhat-64-10]
at
org.teiid.translator.google.SpreadsheetUpdateExecution.execute(SpreadsheetUpdateExecution.java:67)
[translator-google-8.12.11.6_4-redhat-64-10.jar:8.12.11.6_4-redhat-64-10]
at
org.teiid.dqp.internal.datamgr.ConnectorWorkItem$1.execute(ConnectorWorkItem.java:399)
at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:361)
at sun.reflect.GeneratedMethodAccessor209.invoke(Unknown Source) [:1.8.0_151]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[rt.jar:1.8.0_151]
at java.lang.reflect.Method.invoke(Method.java:498) [rt.jar:1.8.0_151]
at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
at com.sun.proxy.$Proxy79.execute(Unknown Source)
at
org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:306)
at
org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:142)
at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:391)
at
org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:281)
at
org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145)
at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:69)
at
org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:70)
at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:84)
at org.teiid.common.buffer.AbstractTupleSource.hasNext(AbstractTupleSource.java:92)
at org.teiid.query.processor.proc.ProcedurePlan.executePlan(ProcedurePlan.java:616)
at
org.teiid.query.processor.proc.CreateCursorResultSetInstruction.process(CreateCursorResultSetInstruction.java:69)
at
org.teiid.query.processor.proc.ProcedurePlan.processProcedure(ProcedurePlan.java:389)
at org.teiid.query.processor.proc.ProcedurePlan.nextBatchDirect(ProcedurePlan.java:298)
at org.teiid.query.processor.proc.ProcedurePlan.nextBatch(ProcedurePlan.java:270)
at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
at org.teiid.query.processor.proc.ForEachRowPlan.nextBatch(ForEachRowPlan.java:147)
at
org.teiid.query.processor.relational.PlanExecutionNode.nextBatchDirect(PlanExecutionNode.java:118)
at
org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:281)
at
org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:150)
at
org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:281)
at
org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145)
at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:472)
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:348)
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:274)
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:284)
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[rt.jar:1.8.0_151]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[rt.jar:1.8.0_151]
at java.lang.Thread.run(Thread.java:748) [rt.jar:1.8.0_151]
15:50:17,011 WARN [org.teiid.PROCESSOR] (Worker8_QueryProcessorQueue71) TEIID30020
Processing exception for request llOgHAYB6Yd3.31 'TEIID30504 Source: null'.
Originally TeiidProcessingException CustomElementCollection.java:106. Enable more detailed
logging to see the entire stacktrace.
{code}
COMMAND LOG:
{code}
15:53:50,025 INFO [org.teiid.COMMAND_LOG] (New I/O worker #1) llOgHAYB6Yd3 START USER
COMMAND: startTime=2018-01-05
15:53:50.025 requestID=llOgHAYB6Yd3.33 txID=null sessionID=llOgHAYB6Yd3 applicationName=JDBC principal=user@teiid-security vdbName=googlespreadsheetcrud vdbVersion=1 sql=UPDATE
SmallA SET IntNum=2
15:53:50,033 DEBUG [org.teiid.COMMAND_LOG] (Worker9_QueryProcessorQueue76) llOgHAYB6Yd3
START DATA SRC COMMAND: startTime=2018-01-05
15:53:50.033 requestID=llOgHAYB6Yd3.33 sourceCommandID=1 executionID=98 txID=TransactionImple
< ac, BasicAction: 0:ffff7f000001:63850a7c:5a4f89f7:80 status: ActionStatus.RUNNING
> modelName=Source translatorName=google-spreadsheet sessionID=llOgHAYB6Yd3 principal=user@teiid-security sql=SELECT
Source.smalla.intkey, Source.smalla.stringkey, Source.smalla.intnum,
Source.smalla.stringnum, Source.smalla.floatnum, Source.smalla.longnum,
Source.smalla.doublenum, Source.smalla.bytenum, Source.smalla.datevalue,
Source.smalla.timevalue, Source.smalla.timestampvalue, Source.smalla.booleanvalue,
Source.smalla.charvalue, Source.smalla.shortvalue, Source.smalla.bigintegervalue,
Source.smalla.bigdecimalvalue, Source.smalla.objectvalue FROM Source.smalla
15:53:51,128 DEBUG [org.teiid.COMMAND_LOG] (Worker9_QueryProcessorQueue76) llOgHAYB6Yd3
END SRC COMMAND: endTime=2018-01-05
15:53:51.128 requestID=llOgHAYB6Yd3.33 sourceCommandID=1 executionID=98 txID=TransactionImple
< ac, BasicAction: 0:ffff7f000001:63850a7c:5a4f89f7:80 status: ActionStatus.RUNNING
> modelName=Source translatorName=google-spreadsheet sessionID=llOgHAYB6Yd3 principal=user@teiid-security finalRowCount=30 cpuTime(ns)=37690048
15:53:51,129 DEBUG [org.teiid.COMMAND_LOG] (Worker9_QueryProcessorQueue76) llOgHAYB6Yd3
START DATA SRC COMMAND: startTime=2018-01-05
15:53:51.129 requestID=llOgHAYB6Yd3.33 sourceCommandID=2 executionID=99 txID=TransactionImple
< ac, BasicAction: 0:ffff7f000001:63850a7c:5a4f89f7:80 status: ActionStatus.RUNNING
> modelName=Source translatorName=google-spreadsheet sessionID=llOgHAYB6Yd3 principal=user@teiid-security sql=UPDATE
Source.smalla SET intkey = 2, stringkey = '2', intnum = 2, stringnum =
'812376', floatnum = -27810.0, longnum = 9, doublenum = -1349305.33, bytenum =
-121, datevalue = {d'2012-01-26'}, timevalue = null, timestampvalue = null,
booleanvalue = FALSE, charvalue = '5', shortvalue = 13825, bigintegervalue =
27147783, bigdecimalvalue = 1703662.0300000, objectvalue = '-106.0' WHERE intkey =
2
15:53:51,740 DEBUG [org.teiid.COMMAND_LOG] (Worker9_QueryProcessorQueue76) llOgHAYB6Yd3
ERROR SRC COMMAND: endTime=2018-01-05
15:53:51.74 requestID=llOgHAYB6Yd3.33 sourceCommandID=2 executionID=99 txID=TransactionImple
< ac, BasicAction: 0:ffff7f000001:63850a7c:5a4f89f7:80 status: ActionStatus.RUNNING
> modelName=Source translatorName=google-spreadsheet sessionID=llOgHAYB6Yd3 principal=user@teiid-security
15:53:51,746 DEBUG [org.teiid.COMMAND_LOG] (Worker9_QueryProcessorQueue76) llOgHAYB6Yd3
END SRC COMMAND: endTime=2018-01-05
15:53:51.746 requestID=llOgHAYB6Yd3.33 sourceCommandID=2 executionID=99 txID=TransactionImple
< ac, BasicAction: 0:ffff7f000001:63850a7c:5a4f89f7:80 status: ActionStatus.RUNNING
> modelName=Source translatorName=google-spreadsheet sessionID=llOgHAYB6Yd3 principal=user@teiid-security finalRowCount=0 cpuTime(ns)=13526883
15:53:51,746 INFO [org.teiid.COMMAND_LOG] (Worker9_QueryProcessorQueue76) llOgHAYB6Yd3
ERROR USER COMMAND: endTime=2018-01-05
15:53:51.746 requestID=llOgHAYB6Yd3.33 txID=TransactionImple < ac, BasicAction:
0:ffff7f000001:63850a7c:5a4f89f7:80 status: ActionStatus.RUNNING
> sessionID=llOgHAYB6Yd3 principal=user@teiid-security vdbName=googlespreadsheetcrud vdbVersion=1 finalRowCount=null
15:53:51,747 INFO [org.teiid.COMMAND_LOG] (Worker9_QueryProcessorQueue76) llOgHAYB6Yd3
END USER COMMAND: endTime=2018-01-05
15:53:51.747 requestID=llOgHAYB6Yd3.33 txID=null sessionID=llOgHAYB6Yd3 principal=user@teiid-security vdbName=googlespreadsheetcrud vdbVersion=1 finalRowCount=0
{code}