You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Stephan Ewen (JIRA)" <ji...@apache.org> on 2014/07/07 16:58:34 UTC
[jira] [Created] (FLINK-1005) Add different mutable-object modes to
runtime
Stephan Ewen created FLINK-1005:
-----------------------------------
Summary: Add different mutable-object modes to runtime
Key: FLINK-1005
URL: https://issues.apache.org/jira/browse/FLINK-1005
Project: Flink
Issue Type: Improvement
Components: Local Runtime
Affects Versions: 0.6-incubating
Reporter: Stephan Ewen
Assignee: Stephan Ewen
Fix For: 0.6-incubating
Currently, the runtime works strictly with mutable objects. That means that as few objects as possible (typically one or two) are reused for the data records all the time. Objects are cloned/restored, though, at various places to ensure that the contents is fresh at every call.
The rational behind this was to reduce pressure on the garbage collector. In fact, you can run programs where no garbage collection happens (if the UDFs are written to reuse objects as well).
It can, however, lead to bugs in not-carefully written user code.
I propose to add two modes to the runtime:
- No-object-reuse (default) mode. New objects for every record. Safe but potentially slower.
- Object-reusing mode - All objects are reused, without backup copies.. The UDFs must be careful to not keep any objects as state or not to modify the objects,
--
This message was sent by Atlassian JIRA
(v6.2#6252)