You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Aljoscha Krettek (JIRA)" <ji...@apache.org> on 2015/09/23 14:05:04 UTC
[jira] [Created] (FLINK-2747) TypeExtractor does not correctly
analyze Scala Immutables (AnyVal)
Aljoscha Krettek created FLINK-2747:
---------------------------------------
Summary: TypeExtractor does not correctly analyze Scala Immutables (AnyVal)
Key: FLINK-2747
URL: https://issues.apache.org/jira/browse/FLINK-2747
Project: Flink
Issue Type: Bug
Components: Type Serialization System
Reporter: Aljoscha Krettek
This example program only works correctly if Kryo is force-enabled.
{code}
object Test {
class Id(val underlying: Int) extends AnyVal
class X(var id: Id) {
def this() { this(new Id(0)) }
}
class MySource extends SourceFunction[X] {
def run(ctx: SourceFunction.SourceContext[X]) {
ctx.collect(new X(new Id(1)))
}
def cancel() {}
}
def main(args: Array[String]) {
val env = StreamExecutionContext.getExecutionContext
env.addSource(new MySource).print
env.execute("Test")
}
}
{code}
The program fails with this:
{code}
Caused by: java.lang.RuntimeException: Cannot instantiate class.
at org.apache.flink.api.java.typeutils.runtime.PojoSerializer.createInstance(PojoSerializer.java:227)
at org.apache.flink.api.java.typeutils.runtime.PojoSerializer.deserialize(PojoSerializer.java:421)
at org.apache.flink.streaming.runtime.streamrecord.StreamRecordSerializer.deserialize(StreamRecordSerializer.java:110)
at org.apache.flink.streaming.runtime.streamrecord.StreamRecordSerializer.deserialize(StreamRecordSerializer.java:41)
at org.apache.flink.runtime.plugable.NonReusingDeserializationDelegate.read(NonReusingDeserializationDelegate.java:55)
at org.apache.flink.runtime.io.network.api.serialization.SpillingAdaptiveSpanningRecordDeserializer.getNextRecord(SpillingAdaptiveSpanningRecordDeserializer.java:125)
at org.apache.flink.streaming.runtime.io.StreamInputProcessor.processInput(StreamInputProcessor.java:136)
at org.apache.flink.streaming.runtime.tasks.OneInputStreamTask.run(OneInputStreamTask.java:55)
at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:198)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:579)
at java.lang.Thread.run(Thread.java:745)
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)