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.
---

Reply via email to