GitHub user aljoscha opened a pull request:
https://github.com/apache/flink/pull/2202
[FLINK-4149] Fix Serialization of NFA in AbstractKeyedCEPPatternOperator
NFA is Serializable and has readObject()/writeObject() methods. In
AbstractKeyedCEPPatternOperator a KryoSerializer was used as the
TypeSerializer for the ValueState that holds NFA instances. Kryo does
not call readObject()/writeObject() therefore the state of the NFA was
invalid after deserialization.
This change adds a new TypeSerializer for NFA that uses
Java Serialization. In the long run it will be better to get rid of the
readObject()/writeObject() methods and instead efficiently serialize
using a specialized TypeSerializer.
This also adds a test that verifies that checkpoint/restore work as
expected.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/aljoscha/flink cep/fix-serialization
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/2202.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2202
----
commit ba1deb8cae7223f3ca9def1b09b311e7d7889a8a
Author: Aljoscha Krettek <[email protected]>
Date: 2016-07-05T15:56:49Z
Replace StreamEvent by StreamRecord in CEP Tests
commit 19aaa005e0389b512a563cf28e82d8ad07c4a194
Author: Aljoscha Krettek <[email protected]>
Date: 2016-07-05T15:58:45Z
[FLINK-4149] Fix Serialization of NFA in AbstractKeyedCEPPatternOperator
NFA is Serializable and has readObject()/writeObject() methods. In
AbstractKeyedCEPPatternOperator a KryoSerializer was used as the
TypeSerializer for the ValueState that holds NFA instances. Kryo does
not call readObject()/writeObject() therefore the state of the NFA was
invalid after deserialization.
This change adds a new TypeSerializer for NFA that uses
Java Serialization. In the long run it will be better to get rid of the
readObject()/writeObject() methods and instead efficiently serialize
using a specialized TypeSerializer.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---