Hi all,

We are just migration from 1.6 to 1.8. I encountered a serialization error
which we didn't have before if memory serves: The implementation of the
*PatternFlatSelectAdapter* is not serializable. The object probably
contains or references non serializable fields.

The method below simply intakes a PatternStream from CEP.pattern() and
makes use of the sideoutput for timed-out events. Can you see anything
weird here (WorkerEvent is the input, but collectors collect Project
object)?

protected DataStream<Project> getPending(PatternStream<WorkerEvent>
patternStream) {
            OutputTag<Project> pendingProjectsTag = new *OutputTag*
<Project>("invitation-pending-projects"){};

            return patternStream.*flatSelect*(
                    pendingProjectsTag,
                    new *PatternFlatTimeoutFunction*<WorkerEvent,
Project>() {
                        @Override
                        public void *timeout*(Map<String,
List<WorkerEvent>> map, long l, Collector<Project> collector) {
                        }
                    },
                    new *PatternFlatSelectFunction*<WorkerEvent, Project>()
{
                        @Override
                        public void *flatSelect*(Map<String,
List<WorkerEvent>> pattern, Collector<Project> collector) {
                        }
                    }
            ).name("Select pending projects for invitation").*getSideOutput*
(pendingProjectsTag);
        }

---
Oytun Tez

*M O T A W O R D*
The World's Fastest Human Translation Platform.
oy...@motaword.com — www.motaword.com

Reply via email to