Arvid Heise created FLINK-22876:
-----------------------------------
Summary: Adding SharedObjects junit rule to ease test development
Key: FLINK-22876
URL:
https://issues.apache.org/jira/browse/FLINK-22876 Project: Flink
Issue Type: Improvement
Components: Test Infrastructure
Affects Versions: 1.14.0
Reporter: Arvid Heise
Assignee: Arvid Heise
Fix For: 1.14.0
Most test rely on static variables to sync between test code and UDFs to avoid serialization issues. However, static variables are error-prone and the tests look quaint.
SharedObjects allow test developers to forget about the serialization and just use the objects across thread boundaries.
The main idea is that shared objects are bound to the scope of a test case instead of a class. That allows us to:
* get rid of all nasty reset methods for reused parts and most importantly avoid test bugs that result in us forgetting to reset (think of a latch in a shared WaitingSink)
* it’s easier to reason about the test setup
* it will allow us to share more code and provide more primitives (e.g. have some canonical way to wait for certain events)
* run tests in parallel that reuse classes depending on shared objects
* it will also be significantly easier to write tests for contributors. all student groups had issues with this synchronization of test code and UDFs.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)