是不是静态内部类的问题?
Rules for POJO types Flink recognizes a data type as a POJO type (and allows “by-name” field referencing) if the following conditions are fulfilled: The class is public and standalone (no non-static inner class) The class has a public no-argument constructor All non-static, non-transient fields in the class (and all superclasses) are either public (and non-final) or have a public getter- and a setter- method that follows the Java beans naming conventions for getters and setters. Note that when a user-defined data type can’t be recognized as a POJO type, it must be processed as GenericType and serialized with Kryo. | | 邵红晓 | | 邮箱:[hidden email] | 签名由网易邮箱大师定制 在2020年4月30日 09:40,shx<[hidden email]> 写道: 能发一下写入状态的代码看一下吗,还有一个问题,键值状态访问,你的代码里是读出了所有key关键的mapstate吗,谢谢 | | 邵红晓 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年04月30日 09:04,guanyq 写道: 代码中没特别指定Serializer。都是默认的序列化。 在 2020-04-29 18:20:22,"Congxian Qiu" <[hidden email]> 写道: Hi 从错误日志看,是 StateMigration 相关的问题。 你需要确认下,你的代码中的 Serializer 和 savepoint 中 state 相关的 serializer 是一样的或者是兼容的,你可以参考下这个文档[1] [1] https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/stream/state/schema_evolution.html Best, Congxian guanyq <[hidden email]> 于2020年4月29日周三 下午6:09写道: 附件是代码和错误日志。目前不知道如何调查。麻烦帮忙看下 谢谢。 |
我把静态类替换成List<String>也还报同样错误 附件是代码
ReadListState.java (4K) Download Attachment |
In reply to this post by guanyq
还有其他可能的原因么。
在 2020-04-30 10:25:32,"guanyq" <[hidden email]> 写道: 附件是代码 还有一个问题,键值状态访问,你的代码里是读出了所有key关键的mapstate吗 -- 代码是读出所有map状态的key。 在 2020-04-30 09:40:45,"shx" <[hidden email]> 写道: >能发一下写入状态的代码看一下吗,还有一个问题,键值状态访问,你的代码里是读出了所有key关键的mapstate吗,谢谢 > > > > >| | >邵红晓 >| >| >邮箱:[hidden email] >| > >签名由 网易邮箱大师 定制 > >在2020年04月30日 09:04,guanyq 写道: >代码中没特别指定Serializer。都是默认的序列化。 >在 2020-04-29 18:20:22,"Congxian Qiu" <[hidden email]> 写道: >>Hi >>从错误日志看,是 StateMigration 相关的问题。 >>你需要确认下,你的代码中的 Serializer 和 savepoint 中 state 相关的 serializer >>是一样的或者是兼容的,你可以参考下这个文档[1] >> >>[1] >>https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/stream/state/schema_evolution.html >> >>Best, >>Congxian >> >> >>guanyq <[hidden email]> 于2020年4月29日周三 下午6:09写道: >> >>> >>> 附件是代码和错误日志。目前不知道如何调查。麻烦帮忙看下 谢谢。 |
In reply to this post by shao.hongxiao
有没有发现,我这还是报错。
在 2020-04-30 09:40:45,"shx" <[hidden email]> 写道: >能发一下写入状态的代码看一下吗,还有一个问题,键值状态访问,你的代码里是读出了所有key关键的mapstate吗,谢谢 > > > > >| | >邵红晓 >| >| >邮箱:[hidden email] >| > >签名由 网易邮箱大师 定制 > >在2020年04月30日 09:04,guanyq 写道: >代码中没特别指定Serializer。都是默认的序列化。 >在 2020-04-29 18:20:22,"Congxian Qiu" <[hidden email]> 写道: >>Hi >>从错误日志看,是 StateMigration 相关的问题。 >>你需要确认下,你的代码中的 Serializer 和 savepoint 中 state 相关的 serializer >>是一样的或者是兼容的,你可以参考下这个文档[1] >> >>[1] >>https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/stream/state/schema_evolution.html >> >>Best, >>Congxian >> >> >>guanyq <[hidden email]> 于2020年4月29日周三 下午6:09写道: >> >>> >>> 附件是代码和错误日志。目前不知道如何调查。麻烦帮忙看下 谢谢。 |
用一个正常的Java pojo试一下 | | 邵红晓 | | 邮箱:[hidden email] | 签名由网易邮箱大师定制 在2020年4月30日 15:14,guanyq<[hidden email]> 写道: 有没有发现,我这还是报错。 在 2020-04-30 09:40:45,"shx" <[hidden email]> 写道: 能发一下写入状态的代码看一下吗,还有一个问题,键值状态访问,你的代码里是读出了所有key关键的mapstate吗,谢谢 | | 邵红晓 | | 邮箱:[hidden email] | 签名由 网易邮箱大师 定制 在2020年04月30日 09:04,guanyq 写道: 代码中没特别指定Serializer。都是默认的序列化。 在 2020-04-29 18:20:22,"Congxian Qiu" <[hidden email]> 写道: Hi 从错误日志看,是 StateMigration 相关的问题。 你需要确认下,你的代码中的 Serializer 和 savepoint 中 state 相关的 serializer 是一样的或者是兼容的,你可以参考下这个文档[1] [1] https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/stream/state/schema_evolution.html Best, Congxian guanyq <[hidden email]> 于2020年4月29日周三 下午6:09写道: 附件是代码和错误日志。目前不知道如何调查。麻烦帮忙看下 谢谢。 |
public class MyKeyedMapState {<br/> public String key;<br/> public List<String> value;<br/><br/> public MyKeyedMapState() {<br/> }<br/><br/> public String getKey() {<br/> return key;<br/> }<br/><br/> public void setKey(String key) {<br/> this.key = key;<br/> }<br/><br/> public List<String> getValue() {<br/> return value;<br/> }<br/><br/> public void setValue(List<String> value) {<br/> this.value = value;<br/> }<br/>}<br/><br/>改成这个也还是报同样的错误!
在 2020-04-30 15:19:18,"shao.hongxiao" <[hidden email]> 写道: > > >用一个正常的Java pojo试一下 >| | >邵红晓 >| >| >邮箱:[hidden email] >| >签名由网易邮箱大师定制 >在2020年4月30日 15:14,guanyq<[hidden email]> 写道: >有没有发现,我这还是报错。 > > > > > > > > > > > > > > > > > >在 2020-04-30 09:40:45,"shx" <[hidden email]> 写道: >能发一下写入状态的代码看一下吗,还有一个问题,键值状态访问,你的代码里是读出了所有key关键的mapstate吗,谢谢 > > > > >| | >邵红晓 >| >| >邮箱:[hidden email] >| > >签名由 网易邮箱大师 定制 > >在2020年04月30日 09:04,guanyq 写道: >代码中没特别指定Serializer。都是默认的序列化。 >在 2020-04-29 18:20:22,"Congxian Qiu" <[hidden email]> 写道: >Hi >从错误日志看,是 StateMigration 相关的问题。 >你需要确认下,你的代码中的 Serializer 和 savepoint 中 state 相关的 serializer >是一样的或者是兼容的,你可以参考下这个文档[1] > >[1] >https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/stream/state/schema_evolution.html > >Best, >Congxian > > >guanyq <[hidden email]> 于2020年4月29日周三 下午6:09写道: > > >附件是代码和错误日志。目前不知道如何调查。麻烦帮忙看下 谢谢。 |
我自己又实现了一个MapState的存储job,用同样的代码是可以读取出所有MapState的key的。
在 2020-04-30 15:23:39,"guanyq" <[hidden email]> 写道: >public class MyKeyedMapState {<br/> public String key;<br/> public List<String> value;<br/><br/> public MyKeyedMapState() {<br/> }<br/><br/> public String getKey() {<br/> return key;<br/> }<br/><br/> public void setKey(String key) {<br/> this.key = key;<br/> }<br/><br/> public List<String> getValue() {<br/> return value;<br/> }<br/><br/> public void setValue(List<String> value) {<br/> this.value = value;<br/> }<br/>}<br/><br/>改成这个也还是报同样的错误! >在 2020-04-30 15:19:18,"shao.hongxiao" <[hidden email]> 写道: >> >> >>用一个正常的Java pojo试一下 >>| | >>邵红晓 >>| >>| >>邮箱:[hidden email] >>| >>签名由网易邮箱大师定制 >>在2020年4月30日 15:14,guanyq<[hidden email]> 写道: >>有没有发现,我这还是报错。 >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >>在 2020-04-30 09:40:45,"shx" <[hidden email]> 写道: >>能发一下写入状态的代码看一下吗,还有一个问题,键值状态访问,你的代码里是读出了所有key关键的mapstate吗,谢谢 >> >> >> >> >>| | >>邵红晓 >>| >>| >>邮箱:[hidden email] >>| >> >>签名由 网易邮箱大师 定制 >> >>在2020年04月30日 09:04,guanyq 写道: >>代码中没特别指定Serializer。都是默认的序列化。 >>在 2020-04-29 18:20:22,"Congxian Qiu" <[hidden email]> 写道: >>Hi >>从错误日志看,是 StateMigration 相关的问题。 >>你需要确认下,你的代码中的 Serializer 和 savepoint 中 state 相关的 serializer >>是一样的或者是兼容的,你可以参考下这个文档[1] >> >>[1] >>https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/stream/state/schema_evolution.html >> >>Best, >>Congxian >> >> >>guanyq <[hidden email]> 于2020年4月29日周三 下午6:09写道: >> >> >>附件是代码和错误日志。目前不知道如何调查。麻烦帮忙看下 谢谢。 |
定位到问题点了。 和这个keyBy有关,后一种可以读取MapState,前一种报错
|
你好,你最后一条消息的图挂了,可以尝试用文字把整个问题的原因,以及解决方案描述一下发到邮件列表中,可以帮助后来人。后续有人遇到类似的问题,能够搜索到相关的解决方案。
Best, Congxian guanyq <[hidden email]> 于2020年4月30日周四 下午4:13写道: > 定位到问题点了。 > 和这个keyBy有关,后一种可以读取MapState,前一种报错 > > > > |
In reply to this post by guanyq
|
flink版本:1.9 stateBackEnd:FsStateBackEnd 附件: checkpoint失败截图及日志,应该如何分析解决这种失败?
error.log (111K) Download Attachment |
flink版本:1.9 stateBackEnd:FsStateBackEnd 附件: checkpoint失败截图及日志,应该如何分析解决这种失败?
error.log (111K) Download Attachment |
Hi
从你给的日志看,错误原因是“No lease on /flink/checkpoints/OnlineOrderAddressMatch/8183afb213bfbd32b49e3a6bab977f7c/chk-25/d993f40c-a8a1-4582-ad7b-ac47a2b163a0 (inode 25791993): File does not exist. Holder DFSClient_NONMAPREDUCE_1212990289_95 does not have any open files.” 也就是文件不存在了,你需要看看为什么文件不存在了,或许你可以从 audit log 中找到一些信息 Best, Congxian guanyq <[hidden email]> 于2020年5月11日周一 上午8:25写道: > flink版本:1.9 > stateBackEnd:FsStateBackEnd > 附件: > checkpoint失败截图及日志,应该如何分析解决这种失败? > > > > |
Free forum by Nabble | Edit this page |