You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Till Rohrmann (JIRA)" <ji...@apache.org> on 2018/03/16 10:35:00 UTC
[jira] [Created] (FLINK-8971) Create general purpose testing job
Till Rohrmann created FLINK-8971:
------------------------------------
Summary: Create general purpose testing job
Key: FLINK-8971
URL: https://issues.apache.org/jira/browse/FLINK-8971
Project: Flink
Issue Type: Task
Components: Tests
Affects Versions: 1.5.0
Reporter: Till Rohrmann
Fix For: 1.5.0
In order to write better end-to-end tests we need a general purpose testing job which comprises as many Flink aspects as possible. These include different types for records and state, user defined components, state types and operators.
The job should allow to activate a certain misbehavior, such as slowing certain paths down or throwing exceptions to simulate failures.
The job should come with a data generator which generates input data such that the job can verify it's own behavior. This includes the state as well as the input/output records.
We already have the [heavily misbehaved job|https://github.com/rmetzger/flink-testing-jobs/blob/flink-1.4/basic-jobs/src/main/java/com/dataartisans/heavymisbehaved/HeavyMisbehavedJob.java] which simulates some misbehavior. There is also the [state machine job|https://github.com/dataArtisans/flink-testing-jobs/tree/master/streaming-state-machine] which can verify itself for invalid state changes which indicate data loss. We should incorporate their characteristics into the new general purpose job.
Additionally, the general purpose job should contain the following aspects:
* Job containing a sliding window aggregation
* At least one generic Kryo type
* At least one generic Avro type
* At least one Avro specific record type
* At least one input type for which we register a Kryo serializer
* At least one input type for which we provide a user defined serializer
* At least one state type for which we provide a user defined serializer
* At least one state type which uses the AvroSerializer
* Include an operator with ValueState
* Value state changes should be verified (e.g. predictable series of values)
* Include an operator with operator state
* Include an operator with broadcast state
* Broadcast state changes should be verified (e.g. predictable series of values)
* Include union state
* User defined watermark assigner
This issue is intended to serve as an umbrella issue for developing and extending this job.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)