flink-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Metzger <rmetz...@apache.org>
Subject Re: NPE in JDBCInputFormat
Date Tue, 21 Jun 2016 15:11:36 GMT
Hi,

I also think this is a bug. Can you file a JIRA issue for it?

Regards,
Robert


On Tue, Jun 21, 2016 at 12:15 PM, Flavio Pompermaier <pompermaier@okkam.it>
wrote:

> I think the problem is somehow related to
>   val DB_ROWTYPE = new RowTypeInfo(
>     Seq(BasicTypeInfo.INT_TYPE_INFO),
>     Seq("id"))
>
> You have only one filed, I think Seq("id") should be removed.
>
> However this is a bug IMHO, this kind of error should be checked with and
> handler with a proper error.
>
> On Tue, Jun 21, 2016 at 11:49 AM, Martin Scholl <ms@funkpopes.org> wrote:
>
>> Hello everyone,
>>
>>
>> JDBCInputFormat of flink 1.1-SNAPSHOT fails with an NPE in
>> Row.productArity:
>>
>> %% snip %%
>> java.io.IOException: Couldn't access resultSet
>>         at
>> org.apache.flink.api.java.io.jdbc.JDBCInputFormat.nextRecord(JDBCInputFormat.java:288)
>>         at
>> org.apache.flink.api.java.io.jdbc.JDBCInputFormat.nextRecord(JDBCInputFormat.java:98)
>>         at
>> org.apache.flink.runtime.operators.DataSourceTask.invoke(DataSourceTask.java:162)
>>         at org.apache.flink.runtime.taskmanager.Task.run(Task.java:588)
>>         at java.lang.Thread.run(Thread.java:745)
>> Caused by: java.lang.NullPointerException
>>         at org.apache.flink.api.table.Row.productArity(Row.scala:28)
>>         at
>> org.apache.flink.api.java.io.jdbc.JDBCInputFormat.nextRecord(JDBCInputFormat.java:279)
>>         ... 4 more
>> %% snip %%
>>
>> Find the example code triggering this attached to this email.
>>
>> The reason, I believe, is the way through which Flink creates Row
>> instances through Kryo. As Row expects the number of fields to allocate as
>> a parameter, which Kryo does not provide, the ‘fields’ member of Row ends
>> up being null. As I’m not a reflection, etc. expert, I rather leave a true
>> analysis to more knowledgable programmers.
>>
>> Part of the attached example is a not very elegant workaround though a
>> custom type and a cast (see jdbcNoIssue).
>>
>> Am I doing something wrong as to the example code, or shall I open a JIRA
>> ticket?
>>
>>
>> Thank you in advance,
>> Martin
>>
>>
>>
>>
>>
>
>
>

Mime
View raw message