Skip to content
This repository has been archived by the owner on Jun 16, 2023. It is now read-only.

jstorm0.9.3升级2.1.0后反序列化异常 #185

Closed
runLiu opened this issue Jan 14, 2016 · 10 comments
Closed

jstorm0.9.3升级2.1.0后反序列化异常 #185

runLiu opened this issue Jan 14, 2016 · 10 comments

Comments

@runLiu
Copy link

runLiu commented Jan 14, 2016

jstorm0.9.3升级2.1.0,不定时间隔报异常信息:
java.lang.RuntimeException: com.esotericsoftware.kryo.KryoException: Class cannot be created (missing no-arg constructor):
反序列化异常

@bastiliu
Copy link
Contributor

JStorm 2.x版本默认把kryo序列化打开了。三个解决方法。

  1. 默认kryo序列化需要相应的类有一个无参数的构造函数。把无参数构造函数加上。
  2. 给相应的类,自己去实现一个相应的kryo序列化类。
  3. 关闭kryo序列化,默认的类用java序列化。 topology.fall.back.on.java.serialization: true

@hustfxj
Copy link
Collaborator

hustfxj commented Jan 18, 2016

+1

@runLiu
Copy link
Author

runLiu commented Jan 21, 2016

topology.fall.back.on.java.serialization: true 关闭kryo序列化后,报了另一个异常:
java.lang.RuntimeException: com.esotericsoftware.kryo.KryoException: Buffer underflow.

@unsleepy22
Copy link
Contributor

具体是哪里抛的,有完整的stacktrace么

@runLiu
Copy link
Author

runLiu commented May 10, 2016

@runLiu
Copy link
Author

runLiu commented May 10, 2016

更新最新2.1.1版本,再次做测试,tuple传输对象为protobuf
1,topology.fall.back.on.java.serialization: true 设置无效
2,自定义kryo serializer类 KryoProtobufSerializer,并在topology提交时增加代码 Config.registerSerialization(stormConf, "com.google.protobuf.GeneratedMessage", KryoProtobufSerializer.class); 测试发现依然报该异常:
java.lang.RuntimeException: com.esotericsoftware.kryo.KryoException: Class cannot be created (missing no-arg constructor)
要怎么定位并解决该问题?

@unsleepy22
Copy link
Contributor

主要看你KryoProtobufSerializer怎么写的,你可以参考一下源码中KryoByteBufferSerializer这个类及它的用法。

@runLiu
Copy link
Author

runLiu commented May 11, 2016

就是参考这个类写的,我在KryoProtobufSerializer的实现方法write与read中加打印日志,发现并没有输出,难道kryo不是遇到protobuf类型就使用我自定义类去做序列化和反序列化吗

@273539918
Copy link

碰到同样的问题, 不知道解决了没有。git clone下来的项目,运行 com.alipay.dw.jstorm.example.performance.test, 直接这个异常了

@chenghaojun
Copy link

我也碰到反序列化的问题,而且注册的反序列化器根本没有被调用到。请看我的 issue:
jerrinot/subzero#8 吐槽以下,感觉BABA的这个开源项目是不是已经准备弃坑了?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants