[teiid-issues] [JBoss JIRA] (TEIID-5203) Google Spreadsheet translator NPE thrown on UPDATE

Steven Hawkins (JIRA) issues at jboss.org
Tue Jan 9 14:56:00 EST 2018


    [ https://issues.jboss.org/browse/TEIID-5203?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13512120#comment-13512120 ] 

Steven Hawkins edited comment on TEIID-5203 at 1/9/18 2:55 PM:
---------------------------------------------------------------

The only difference I see with the sheet that you are using is that the intkey and shortvalue columns are swapped in the ddl.  So I'll see if the logic requires the positions to match or if that can be relaxed.

It's not a positional issue.  When we get the metadata for the sheet, it has a null value in the X column - which does not have a label, thus the NPE.






was (Author: shawkins):
The only difference I see with the sheet that you are using is that the intkey and shortvalue columns are swapped in the ddl.  So I'll see if the logic requires the positions to match or if that can be relaxed.

> 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 at teiid-security	vdbName=googlespreadsheetcrud	vdbVersion=1	finalRowCount=0
> {code}



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the teiid-issues mailing list